Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## What this PR does / why we need it: <!-- What code changes are made? What problem does this PR addresses, or what feature this PR adds? --> This pull request adds release automation to the project by introducing a GitHub Action workflow named `00-release-please.yaml`. The workflow utilizes the `release-please` GitHub Action to automate the release process. It also includes a configuration file `release-please-config.json` that specifies the release types for different packages within the project, such as Go packages and Helm charts. ## Which issue(s) this PR resolves: <!-- Usage: `Resolves #<issue number>`, or `Resolves <link to the issue>`. If PR is about `failing-tests`, please post the related tests in a comment and do not use `Resolves` --> Resolves #13 ## Special notes for your reviewer: <!-- Do you think reviewers should focus on any particular parts of code? --> The key changes include: - Addition of `00-release-please.yaml` GitHub Action workflow for release automation. - Introduction of `release-please-config.json` specifying release types for different packages. - Introduction of `.release-please-manifest.json` specifying the initial (and current, auto updated) version for each package. - Renaming of `.github/workflows/0-k8s-linters.yaml` to `.github/workflows/10-k8s.yaml` with adjustments in the workflow content: - The `package` job packages the Helm chart and pushes it to the registry. - The `package` job includes conditional steps based on the event type: - If it's a tag event (`tags: - 'linode-cosi-driver-v*'`), the workflow captures the latest tag, sets proper tags, and packages the Helm chart. - Steps are included to set up Helm, package artifacts. - The workflow uses the `softprops/action-gh-release` GitHub Action to upload release artifacts. - The workflow captures the latest tag if it exists and sets up proper tags using a script (`scripts/tags.sh`). - The version information is used for packaging and pushing the Helm chart. - Renaming of `.github/workflows/10-linters-tests.yaml` to `.github/workflows/10-linters-tests-image.yaml` with adjustments in the workflow content: - Now description explicitly mentions running linters and tests, and publishing a new image during releases or pushes to the main branch. - Triggers on each push to the main branch (`branches: - "main"`) and on each release (`tags: - 'v*'`). - Added `REGISTRY`, `REPOSITORY`, and `IMAGE` environment variables for Docker registry configuration. - Steps for building and pushing the Docker image based on release or main branch push events. - Introduction of `scripts/tags.sh` script for generating version and tags based on input parameters. - Utilization of the script to set up proper tags and versioning for the Docker image. - Definition of output variables (`grype` and `tags`) to capture image scan and Docker image tags information. ## Additional documentation e.g., enhancement proposals, usage docs, etc.: <!-- This section can be blank if this pull request does not require a release note. --> The changes aim to streamline the release process and enhance the project's automation. The `release-please` GitHub Action is configured to trigger on each push to the main branch, automating the creation of releases based on semantic versioning and updating the version information accordingly. --------- Signed-off-by: Mateusz Urbanek <[email protected]> Release-As: 0.1.0
- Loading branch information