Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add GitHub workflow for releases #58

Merged
merged 20 commits into from
Sep 5, 2024
Merged

Add GitHub workflow for releases #58

merged 20 commits into from
Sep 5, 2024

Conversation

mitchnielsen
Copy link
Contributor

@mitchnielsen mitchnielsen commented Aug 30, 2024

Summary

Adds a new GitHub workflow for releases that will:

  • Upload the CRDs and default CR manifest
  • Build and push the docker image

Closes https://linear.app/prefect/issue/PLA-220/design-release-process

Closes #18

Testing

  • docker pull prefecthq/prefect-operator-dev:pr-58

@mitchnielsen mitchnielsen self-assigned this Aug 30, 2024
Adds a new GitHub workflow for releases that will:
- Upload the CRDs and default CR manifest
- Build and push the docker image

Closes #18
@mitchnielsen
Copy link
Contributor Author

Still pretty new to GitHub Actions so going to try to simulate a release here to ensure this all works. Welcoming any suggested changes here too.

Specifies the image path to use for released manifests:
prefecthq/prefect-operator:<tag>.
For pull requests, will build and push an image named
`prefecthq/prefect-operator-dev`.

Also gates the artifact upload action to releases only.
Also ensured these labels exist in the project settings.
@mitchnielsen mitchnielsen added the maintenance Maintenance-related changes label Sep 5, 2024
Adds comments explaining the 'dev' and 'prod' environments setup, and
that certain resources are managed in Terraform.

[skip ci]
@mitchnielsen mitchnielsen marked this pull request as ready for review September 5, 2024 18:41
@mitchnielsen
Copy link
Contributor Author

mitchnielsen commented Sep 5, 2024

The pull request scenario looks good, and after merging we can test a real release workflow with something like v0.0.1 to ensure that all works as well.

Open to any feedback on this setup as I learn GitHub actions, even just stylistic things 👍🏼

Copy link
Collaborator

@chrisguidry chrisguidry left a comment

Choose a reason for hiding this comment

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

Looks great! I really appreciate the -dev image support and the release note setup too 🙇‍♂️

Copy link
Contributor

@jamiezieziula jamiezieziula left a comment

Choose a reason for hiding this comment

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

a few nits but otherwise looks good

Copy link
Contributor

@parkedwards parkedwards left a comment

Choose a reason for hiding this comment

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

LGTM

@chrisguidry
Copy link
Collaborator

Oh one quick thing, can we make the release jobs depend on the tests?

@mitchnielsen
Copy link
Contributor Author

mitchnielsen commented Sep 5, 2024

Oh one quick thing, can we make the release jobs depend on the tests?

Good shout, looking into this now

Edit: got this set up:

image

- Adds pre-commit configuration
- Adds yamllint and actionlint
- Applies fixes they recommend
- Moves unit-tests job into main workflow
- Now enables us to rely on unit-tests passing to proceed
The tag event type should give us better consistency between the
docker-metadata step and the release asset upload step.
@mitchnielsen mitchnielsen merged commit afc1c17 into main Sep 5, 2024
3 checks passed
@mitchnielsen mitchnielsen deleted the add-releases branch September 5, 2024 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Maintenance-related changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Design release process
4 participants