Releases: gruntwork-io/patcher-action
v2.3.0
What's Changed
breaking
- move --non-interactive to just patcher update by @ceschae in gruntwork-io/patcher#864
boring
- replacing expired secret by @ceschae in #55
- Bump cross-spawn from 7.0.3 to 7.0.6 by @dependabot in #54
- use patcher v0.11.0 by @ceschae in #56
Full Changelog: v2.2.0...v2.3.0
v2.2.0
What's Changed
Full Changelog: v2...v2.2.0
v2
This is a floating release tracking the latest v2.y.z
release.
v2.1.1
What's Changed
Full Changelog: v2.1.0...v2.1.1
v2.1.0
What's Changed
- Add the ability to provide a separate auth token vs. patcher update token by @ceschae in #49
- in additon to
github_token
, you can specifyupdate_token
! the latter will specifically be used for writing PRs to your repo as a result ofpatcher update
, the former will be used only to validate that you are a customer of Gruntwork and can use Patcher.
- in additon to
Full Changelog: v2...v2.1.0
v2.0.2
What's Changed
interesting stuff
- parse .git suffix of a repo optionally by @ceschae in gruntwork-io/patcher#827
- update patcher to go 1.22 by @ceschae in gruntwork-io/patcher#828
chores
- Bump github.com/docker/docker from 27.0.1+incompatible to 27.1.1+incompatible by @dependabot in gruntwork-io/patcher#800
- update versions of dependencies used in circleci config by @ceschae in gruntwork-io/patcher#802
- Create dependabot.yml by @ceschae in gruntwork-io/patcher#803
- Bump github.com/getsentry/sentry-go from 0.22.0 to 0.29.0 by @dependabot in gruntwork-io/patcher#806
- Bump github.com/charmbracelet/glamour from 0.6.0 to 0.8.0 by @dependabot in gruntwork-io/patcher#807
- Bump github.com/sethvargo/go-githubactions from 1.2.0 to 1.3.0 by @dependabot in gruntwork-io/patcher#808
- Bump github.com/docker/docker from 27.1.1+incompatible to 27.2.1+incompatible by @dependabot in gruntwork-io/patcher#804
- Bump github.com/urfave/cli/v2 from 2.26.0 to 2.27.4 by @dependabot in gruntwork-io/patcher#813
- Bump github.com/charmbracelet/bubbles from 0.16.1 to 0.20.0 by @dependabot in gruntwork-io/patcher#811
- Bump github.com/gruntwork-io/terratest from 0.46.16 to 0.47.1 by @dependabot in gruntwork-io/patcher#810
- Bump github.com/zclconf/go-cty from 1.14.1 to 1.15.0 by @dependabot in gruntwork-io/patcher#809
- Bump github.com/docker/cli from 27.0.1+incompatible to 27.3.1+incompatible by @dependabot in gruntwork-io/patcher#815
- Bump github.com/Masterminds/semver/v3 from 3.2.1 to 3.3.0 by @dependabot in gruntwork-io/patcher#816
- Bump github.com/hashicorp/hcl/v2 from 2.19.1 to 2.22.0 by @dependabot in gruntwork-io/patcher#817
- Bump go.opentelemetry.io/otel from 1.28.0 to 1.30.0 by @dependabot in gruntwork-io/patcher#818
- Bump github.com/gosimple/slug from 1.13.1 to 1.14.0 by @dependabot in gruntwork-io/patcher#821
- Bump github.com/docker/docker from 27.2.1+incompatible to 27.3.1+incompatible by @dependabot in gruntwork-io/patcher#822
- Bump github.com/charmbracelet/bubbletea from 1.1.0 to 1.1.1 by @dependabot in gruntwork-io/patcher#823
- Bump golang.org/x/oauth2 from 0.21.0 to 0.23.0 by @dependabot in gruntwork-io/patcher#824
Full Changelog: v2.0.1...v2.0.2
v2.0.1
What's Changed
- use patcher version 0.9.1 by @ceschae in #45
- bug: check correct field when parsing github error response for already existing PR for patcher update
- dependabot chores
- use patcher version 0.9.3 by @ceschae in #46
- bring patcher's terragrunt import up to version 0.66.2
- don't add changes to spec files to created PRs during patcher update
- Bump micromatch from 4.0.5 to 4.0.8 by @dependabot in #47
New Contributors
Full Changelog: v2.0.0...v2.0.1
v2.0.0
Promotion Workflows 2.0
The Patcher Action and Promotion Workflows now have better options for controlling the granularity of opened pull requests. Additionally, we have built several new features that were requested directly into the Patcher engine. This approach makes the logic required in your GitHub Action workflows much simpler and easier to maintain.
The major new features include:
- The ability to selectively include or exclude directories when using the
report
command. For example, you could selectively include thedev-account1
anddev-account2
directories to ensure a "dev" environment upgrade applies to both accounts. - The ability to generate an upgrade specification that ensures the included dependencies are updated to the same version across all environments.
- Options for configuring the pull request branches and titles.
- A dry-run mode for simulating all Patcher operations. This is useful for test jobs to validate your workflows.
- New example workflows.
Please refer to the README.md
files and the examples for a more comprehensive overview of the changes.
Migration Guide
Changes to Report outputs
The report
command previously had an output named dependencies
. This has been renamed (and the contents have changed) and is now called spec
. The spec output is actually a json string, one of whose top level keys is Dependencies
.
Changing the matrix
Previously common usage of patcher would matrix over the dependencies
output from report
as follows:
matrix:
dependency: ${{ fromJson(needs.patcher-report.outputs.dependencies) }}
This should be updated to
matrix:
dependency: ${{ fromJson(needs.patcher-report.outputs.spec).Dependencies }}
If you're using the full promotion workflow pattern then you'll want to specify for higher environments to only update the dependency from the repository_dispatch
event as follows:
matrix:
dependency: ${{ github.event.client_payload.dependency && fromJson(format('[{{"ID"{0} "{1}"}}]', ':', github.event.client_payload.dependency)) || fromJson(needs.patcher-report.outputs.spec).Dependencies }}
Changing the call to update
The update command now requires the spec file, so you'll need to add a step to create the file from the prior steps output to be passed in to patcher-action. The update call will also need a unique value for pull_request_branch
and pull_request_title
- name: Create the spec file
shell: bash
run: |
echo '${{ needs.patcher-report.outputs.spec }}' > patcher-spec.json
- uses: gruntwork-io/patcher-action@v2
with:
patcher_command: update
dependency: ${{ matrix.dependency.ID }}
spec_file: patcher-spec.json
pull_request_branch: "patcher-dev-updates-${{ matrix.depenency.ID }}"
pull_request_title: "[Patcher] [dev] Update ${{ matrix.dependency.ID }}"
[...snip]
Under the hood
- We have directly moved most of the business logic into the Patcher engine. This makes it easier to iterate and gives us more control over the upgrade.
- We have dropped the
yarn test
target. The Jest tests provided very limited value, and it makes much more sense to expand the GHA workflow test coverage instead.
Full Changelog: v0.2.2...v2.0.0
v1.2.2
What's Changed
Full Changelog: v1.2.1...v1.2.2