Skip to content

Conversation

@Mpdreamz
Copy link
Member

@Mpdreamz Mpdreamz commented Jul 1, 2020

Initial stab at common entry script for all the Elasticsearch clients.

This puts our build through a docker container so that folks & CI do not need
to install dependencies on their machines to build artifacts.

./.ci/make.sh release VERSION

will output our packages, release notes, API reports in .ci/output.

This also updates our build to use: https://github.com/nullean/nupkg-validator

This is the tool version of our build script targets that

  • validate the dlls are build in release mode
  • validate the dll version numbers
  • validate the dll assemly identity
  • validate the dll assembly names.

With the added benefit that the dependency on sn is gone which is not
available on the dotnet base docker images that we use.

.ci/make.sh is not done yet, will iterate on this as the flow in the
unified release manager becomes more apparant. For example right now we
bump the version after release but we might need to do so prior.

Initial stab at common entry script for all the Elasticsearch clients.

This puts our build through a docker container so that folks/CI does not need
to install dependencies on their machines to build artifacts.

> ./.ci/make.sh release VERSION

will output our packages, release notes, API reports in `.ci/output`.

This also updates our build to use: https://github.com/nullean/nupkg-validator

This is the tool version of our build script targets that

- validate the dlls are build in release mode
- validate the dll version numbers
- validate the dll assemly identity
- validate the dll assembly names.

With the added benefit that the dependency on `sn` is gone which is not
available on the dotnet base docker images that we use.

`.ci/make.sh` is not done yet, will iterate on this as the flow in the
unified release manager becomes more apparant. For example right now we
bump the version after release but we might need to do so prior.
Copy link
Contributor

@russcam russcam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

If this is used later for official releases, I think the release build need to commit changes to global.json and auto-label.json back to the repository; IIRC, part of the release notes are built from the previous version found in global.json and the new version being built. We could look to change this though, to lookup the previously released version, similar to what previous-nuget command does in assembly-differ.

@Mpdreamz
Copy link
Member Author

We could look to change this though, to lookup the previously released version, similar to what previous-nuget command does in assembly-differ.

++ I am looking to move to minver so we can eschew the change to global json atleast. This requires it s own PR though since it'll touch several things in our automation as you highlighted

If this is used later for official releases, I think the release build need to commit changes to global.json and auto-label.json back to the repository

Aye I am looking to make the act of tagging/committing and publishing to package managers its own target though release > publish.

@Mpdreamz Mpdreamz merged commit 7085a90 into master Jul 30, 2020
@Mpdreamz Mpdreamz deleted the feature/docker-build branch July 30, 2020 07:02
@github-actions

This comment has been minimized.

Mpdreamz added a commit that referenced this pull request Jul 30, 2020
(cherry picked from commit 7085a90)
Mpdreamz added a commit that referenced this pull request Jul 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants