Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Added automated release process to project pipeline #455

Merged
merged 1 commit into from
Apr 14, 2022
Merged

Conversation

neil-k-zero
Copy link
Contributor

  • Reconfigured bin/publish to perform releases and promotions
    of contianer images based on optional flag parameters.

  • Added additional functions in bin/build_utils for the automated releases.

  • Maintained legacy bin/build_utils functions that are currently no longer in
    use, but might provide useful in the future.

  • Added submodule for cyberark/conjur-opentelemetry-tracer upstream dependency.

  • Added submodule for cyberark/conjur-authn-k8s-client upstream dependency.

  • Added submodule for cyberark/conjur-api-go upstream dependency.

  • During a build, images get pushed inertnally to registry.tld. These
    images allow for promotion at a later time if/when necessary.

Desired Outcome

Add project to automated release process.

Implemented Changes

  • Version file is automatically generated from the CHANGELOG, this is utilized for automated
    releases.

  • Github pre-release are automatically generated with the option to promote said pre-release
    to a GitHub release for customers.

  • Docker Software Bill of Materials is generated on releases and is stored as an artifact. This can
    be utilized to regenerate the go.mod file.

  • Builds will tag and push images internally to registry.tld.

  • Container images are tagged as edge for pre-releases.

  • Images that are promoted (released) are tagged as latest.

Connected Issue/Story

N/A

Definition of Done

At least 1 todo must be completed in the sections below for the PR to be
merged.

Changelog

  • The CHANGELOG has been updated, or
  • This PR does not include user-facing changes and doesn't require a
    CHANGELOG update

Test coverage

  • This PR includes new unit and integration tests to go with the code
    changes, or
  • The changes in this PR do not require tests

Documentation

  • Docs (e.g. READMEs) were updated in this PR
  • A follow-up issue to update official docs has been filed here: insert issue ID
  • This PR does not require updating any documentation

Behavior

  • This PR changes product behavior and has been reviewed by a PO, or
  • These changes are part of a larger initiative that will be reviewed later, or
  • No behavior was changed with this PR

Security

  • Security architect has reviewed the changes in this PR,
  • These changes are part of a larger initiative with a separate security review, or
  • There are no security aspects to these changes

@neil-k-zero neil-k-zero requested a review from a team as a code owner April 1, 2022 16:15
@jtuttle
Copy link
Member

jtuttle commented Apr 1, 2022

This looks like great, are you planning on updating the release instructions to match the new workflow?

@neil-k-zero
Copy link
Contributor Author

This looks like great, are you planning on updating the release instructions to match the new workflow?

Ah, sure thing, I'll work on updating it.

@jtuttle
Copy link
Member

jtuttle commented Apr 1, 2022

Thanks, we'll want to make sure to do update release instructions on any repos that undergo this change so that we don't end up with someone trying to release the old way.

@neil-k-zero
Copy link
Contributor Author

Thanks, we'll want to make sure to do update release instructions on any repos that undergo this change so that we don't end up with someone trying to release the old way.

@jtuttle I noticed there's a section in the release doc that has a few helm chart yaml files that need to be manually updated. I'm thinking I could possibly write something that will utilize the now auto generated VERSION file and update those files automatically to match. Then I can remove that entire section from the doc.

@neil-k-zero neil-k-zero force-pushed the auto-release branch 6 times, most recently from ea16b1b to 527a1c8 Compare April 8, 2022 20:07
CHANGELOG.md Outdated Show resolved Hide resolved
Copy link
Contributor

@szh szh left a comment

Choose a reason for hiding this comment

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

LGTM! Just needs a rebase.

@neil-k-zero neil-k-zero force-pushed the auto-release branch 2 times, most recently from a2cdaf3 to 5b1ca70 Compare April 12, 2022 14:52
- Reconfigured bin/publish to perform releases and promotions
of contianer images based on optional flag parameters.

- Added additional functions in bin/build_utils for the automated releases.

- Maintained legacy bin/build_utils functions that are currently no longer in
use, but might provide useful in the future.

- Added go get @latest for cyberark/conjur-opentelemetry-tracer upstream dependency.

- Added go get @latest for cyberark/conjur-authn-k8s-client upstream dependency.

- Added go get @latest for cyberark/conjur-api-go upstream dependency.

- During a build, images get pushed inertnally to registry.tld. These
images allow for promotion at a later time if/when necessary.
@codeclimate
Copy link

codeclimate bot commented Apr 14, 2022

Code Climate has analyzed commit b1196ba and detected 0 issues on this pull request.

The test coverage on the diff in this pull request is 100.0% (50% is the threshold).

This pull request will bring the total coverage in the repository to 89.2% (0.0% change).

View more on Code Climate.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants