Skip to content

Commit

Permalink
chore: update goreleaser
Browse files Browse the repository at this point in the history
  • Loading branch information
ijames-gc committed Nov 4, 2024
1 parent 471788b commit 06f07d9
Showing 1 changed file with 46 additions and 17 deletions.
63 changes: 46 additions & 17 deletions .github/workflows/build-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,27 +70,56 @@ jobs:
- name: Run integration tests
run: make test-integration

release:
if: contains('refs/heads/master', github.ref)
needs: integration
need-release:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
needs:
- integration
# If we are on main, check if we need to release
if: ${{ contains('refs/heads/main', github.ref) }}
outputs:
release: ${{ steps.get_version.outputs.release }}
version: ${{ steps.get_version.outputs.version }}
steps:
- uses: actions/[email protected]
- uses: actions/setup-go@v3
- uses: actions/checkout@v3
with:
go-version: 1.17.3
- name: Release
run: |-
fetch-depth: 0
# Check our DRAUPNIR_VERSION file against that in git, to see if we need to release
- name: Get version
id: get_version
run: |
CURRENT_VERSION="v$(cat DRAUPNIR_VERSION)"
echo "version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
if [[ $(git tag -l "${CURRENT_VERSION}") == "${CURRENT_VERSION}" ]]; then
echo "Version ${CURRENT_VERSION} is already released"
exit 0
echo "release=false" >> $GITHUB_OUTPUT
else
echo "Version ${CURRENT_VERSION} can be released"
echo "release=true" >> $GITHUB_OUTPUT
fi
curl -L -o /tmp/goreleaser_Linux_x86_64.tar.gz https://github.com/goreleaser/goreleaser/releases/download/v1.10.2/goreleaser_Linux_x86_64.tar.gz
tar zxf /tmp/goreleaser_Linux_x86_64.tar.gz -C /tmp
git log --pretty=oneline --abbrev-commit --no-decorate --no-color "$(git describe --tags --abbrev=0)..HEAD" -- pkg cmd vendor internal > /tmp/release-notes
git tag "${CURRENT_VERSION}"
git push --tags
/tmp/goreleaser --rm-dist --release-notes /tmp/release-notes
# expose env vars to release job
release-vars:
needs: need-release
runs-on: ubuntu-latest
# Only run if we will need to release
if: ${{ needs.need-release.outputs.release == 'true' }}
outputs:
go_version: ${{ env.GO_VERSION }}
steps:
- run: echo "Exposing env vars"

release:
needs:
- need-release
- release-vars
# Only release if we need to
if: ${{ needs.need-release.outputs.release == 'true' }}
uses: gocardless/github-actions/.github/workflows/go-gorelease.yml@4763f2059fe34efe265ea7cb1ec5f9884c46169d
with:
release_notes: $(git log --pretty=oneline --abbrev-commit --no-decorate --no-color "$(git describe --tags --abbrev=0)..HEAD" -- pkg cmd vendor internal | tee -a /tmp/release-notes)
repository: ${{ github.repository }}
go_version: ${{ needs.release-vars.outputs.go_version }}
secrets:
goreleaser_pat: ${{ secrets.GOCARDLESS_CI_ROBOT_TOKEN }}
service_account: ${{ secrets.GCR_PUSHER_SERVICE_ACCOUNT }}
workload_identity_provider: ${{ secrets.KEYLESS_PROVIDER_NAME }}

0 comments on commit 06f07d9

Please sign in to comment.