chore: Upgrade to Go 1.21, several AWS dependencies (#558) #396
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test & Build | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
jobs: | |
install-go-modules: | |
strategy: | |
matrix: | |
go: ["1.23.x", "1.22.x", "1.21.x"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go ${{ matrix.go }} | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Test install Go modules for v${{ matrix.go }} | |
run: go install -v . && chamber version | |
test: | |
strategy: | |
matrix: | |
go: ["1.23.x", "1.22.x", "1.21.x"] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Test | |
run: make test | |
- name: Check modules are tidy and checked in | |
run: | | |
export GO111MODULE=on | |
go mod tidy | |
if [ "$(git status --porcelain)" != "" ]; then | |
echo "git tree is dirty after tidying modules" | |
echo "ensure go.mod and go.sum are tidy" | |
git status | |
exit 1 | |
fi | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: "1.22.x" | |
- name: Run coverage | |
run: make coverage | |
- name: Upload coverage reports to Codecov | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
slug: segmentio/chamber | |
dist: | |
strategy: | |
matrix: | |
go: ["1.23.x", "1.22.x", "1.21.x"] | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: ${{ matrix.go }} | |
- name: Install nfpm, rpmbuild | |
run: sudo make -f Makefile.tools nfpm-debian rpmbuild-debian | |
- name: Make distributables | |
run: make -f Makefile.release dist | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: dist-${{ matrix.go }} | |
path: "dist/*" |