Skip to content

Partially automate release#2202

Merged
BrynCooke merged 41 commits intodevfrom
bryn/automate-release
Dec 5, 2022
Merged

Partially automate release#2202
BrynCooke merged 41 commits intodevfrom
bryn/automate-release

Conversation

@BrynCooke
Copy link
Contributor

@BrynCooke BrynCooke commented Dec 4, 2022

Automate the release:

cargo xtask release prepare --help                  
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `xtask/target/debug/xtask release prepare --help`
xtask-release-prepare 1.4.0
Prepare a new release

USAGE:
    xtask release prepare [FLAGS] [version]

FLAGS:
        --current-branch        Release from the current branch rather than creating a new one
        --dry-run               Dry run, don't commit the changes and create the PR
    -h, --help                  Prints help information
        --skip-license-ckeck    Skip the license check
    -V, --version               Prints version information

ARGS:
    <version>    The new version that is being created OR to bump (major|minor|patch|current)
 bryn@amsterdam  ~/git/router   bryn/automate-release  

You can create a new minor release by running.

cargo xtask release prepare minor

To review please check:
42dc28a
Has everything it needs.

As part of this xtask was removed from the root workspace.

@BrynCooke BrynCooke force-pushed the bryn/automate-release branch from 30526b1 to ef66693 Compare December 5, 2022 11:41
@BrynCooke BrynCooke self-assigned this Dec 5, 2022
bryn and others added 4 commits December 5, 2022 14:10
Co-authored-by: Coenen Benjamin <benjamin.coenen@hotmail.com>
Co-authored-by: Coenen Benjamin <benjamin.coenen@hotmail.com>
@BrynCooke BrynCooke requested review from bnjjj and garypen December 5, 2022 14:25
@BrynCooke BrynCooke changed the title Automate release Partially automate release Dec 5, 2022
Copy link
Contributor

@garypen garypen left a comment

Choose a reason for hiding this comment

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

I think I spotted a typo.

@BrynCooke BrynCooke enabled auto-merge (squash) December 5, 2022 14:49
Copy link
Contributor

@SimonSapin SimonSapin left a comment

Choose a reason for hiding this comment

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

(Note that ctor is still in the dependency graph, through proteus / typetag / inventory)

@garypen
Copy link
Contributor

garypen commented Dec 5, 2022

(Note that ctor is still in the dependency graph, through proteus / typetag / inventory)

wrong pr?

@SimonSapin
Copy link
Contributor

Yes 😅

@BrynCooke
Copy link
Contributor Author

I got an approval out of it though :)

@BrynCooke BrynCooke merged commit aeb4bcf into dev Dec 5, 2022
@BrynCooke BrynCooke deleted the bryn/automate-release branch December 5, 2022 15:02
@BrynCooke BrynCooke added this to the v1.5.0 milestone Dec 5, 2022
@BrynCooke BrynCooke mentioned this pull request Dec 5, 2022
abernix added a commit that referenced this pull request Jan 4, 2023
This follows-up #2202 and it consists of several commits which can
stand alone, if necessary. Each of those commits has their own message
and while I suggest reviewing the totality of the PR, it's worth
considering the text of the individual commit messages for additional
context on the changes.

As a summary of those commits:

- Remove destructive `git reset --hard` command which destroyed my local
changes
- Require a pristine Git checkout of known files prior to releasing
- Update Helm Chart version BEFORE `helm-docs` and `helm template`
commands.
- Do a pre-flight check which asserts availabilty of necessary tools
- Remove pre-determined version heading from `NEXT_CHANGELOG.md`
- Repair logic which migrates `NEXT_CHANGELOG.md` entries to
`CHANGELOG.md`
- Support ANY version string rather than just
digits-dot-digits-dot-digits.
- Remove quotes around invocation of `helm template`'s `--set` flags

Contributes to #2261

Co-authored-by: Coenen Benjamin <benjamin.coenen@hotmail.com>
abernix added a commit that referenced this pull request Jan 16, 2023
Today, when we land features and bug-fixes on `dev`, they require us cutting
a full release before they can be tested by interested/affected parties.

Thanks to work done in #2202 and
#2323, we now have just enough
automation in our release pipeline to take care of some of the necessary
work for building these releases.

With some follow-up work, we can have these triggered through:

- [Manual triggers] through CircleCI
- [Scheduled pipeline] runs in CircleCI

[Scheduled pipeline]: https://circleci.com/docs/scheduled-pipelines/
[Manual triggers]: https://circleci.com/docs/triggers-overview/#run-a-pipeline-from-the-circleci-web-app

This work touches on ideas from
#229 and
#242, though neither of those
issues are _directly_ "build nightly releases", though I did suggest it in
my comments on one of them.
abernix added a commit that referenced this pull request Jan 20, 2023
Today, when we land features and bug-fixes on `dev`, they require us
cutting a full release before they can be tested by interested/affected
parties.

Thanks to work done in #2202
and #2323, we now have just
enough automation in our release pipeline to take care of some of the
necessary work for building these releases.

With this work, we can have these triggered through:

- [Manual triggers] through CircleCI
- [Scheduled pipeline] runs in CircleCI

[Scheduled pipeline]: https://circleci.com/docs/scheduled-pipelines/
[Manual triggers]:
https://circleci.com/docs/triggers-overview/#run-a-pipeline-from-the-circleci-web-app

This touches on ideas from
#229 and
#242, though neither of
those issues are _directly_ "build nightly releases", though I did
suggest nightlies in my comments on one of them.

Overall, this creates Router versions of the format
`v0.0.0-nightly+YYYYMMDD.COMMIT_HASH`, which look roughly like
`router-v0.0.0-nightly+20220102.abcd1234-x86_64-unknown-linux-gnu.tar.gz`
as binaries on CircleCI Artifacts.  In the future, we can attach these to  GitHub Releases.
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.

4 participants