update gh actions versions, update engine matrix, bump golang to 1.21.11

Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
This commit is contained in:
Guillaume Lours 2024-06-06 09:20:27 +02:00 committed by Nicolas De loof
parent 084a5ca312
commit 1a14fcb1e6
5 changed files with 45 additions and 35 deletions

View File

@ -29,7 +29,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- -
name: Create matrix name: Create matrix
id: platforms id: platforms
@ -53,7 +53,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v2
@ -78,7 +78,7 @@ jobs:
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
- -
name: Checkout name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- -
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v2
@ -96,10 +96,10 @@ jobs:
*.cache-to=type=gha,scope=binary-${{ env.PLATFORM_PAIR }},mode=max *.cache-to=type=gha,scope=binary-${{ env.PLATFORM_PAIR }},mode=max
- -
name: Upload artifacts name: Upload artifacts
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: compose name: compose-${{ env.PLATFORM_PAIR }}
path: ./bin/release/* path: ./bin/release
if-no-files-found: error if-no-files-found: error
test: test:
@ -107,7 +107,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v2
@ -121,7 +121,7 @@ jobs:
*.cache-to=type=gha,scope=test *.cache-to=type=gha,scope=test
- -
name: Gather coverage data name: Gather coverage data
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: coverage-data-unit name: coverage-data-unit
path: bin/coverage/unit/ path: bin/coverage/unit/
@ -142,14 +142,21 @@ jobs:
- standalone - standalone
engine: engine:
- 24.0.9 - 24.0.9
- 25.0.4 - 25.0.5
- 26.0.0 - 26.1.4
steps: steps:
- name: Prepare
run: |
mode=${{ matrix.mode }}
engine=${{ matrix.engine }}
echo "MODE_ENGINE_PAIR=${mode}-${engine}" >> $GITHUB_ENV
- -
name: Checkout name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Install Docker ${{ matrix.engine }} - name: Install Docker ${{ matrix.engine }}
run: | run: |
sudo systemctl stop docker.service
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin
sudo apt-get install curl sudo apt-get install curl
curl -fsSL https://get.docker.com -o get-docker.sh curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh --version ${{ matrix.engine }} sudo sh ./get-docker.sh --version ${{ matrix.engine }}
@ -160,7 +167,7 @@ jobs:
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v2
- -
name: Set up Go name: Set up Go
uses: actions/setup-go@v3 uses: actions/setup-go@v5
with: with:
go-version-file: 'go.mod' go-version-file: 'go.mod'
check-latest: true check-latest: true
@ -193,9 +200,9 @@ jobs:
- -
name: Gather coverage data name: Gather coverage data
if: ${{ matrix.mode == 'plugin' }} if: ${{ matrix.mode == 'plugin' }}
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: coverage-data-e2e name: coverage-data-e2e-${{ env.MODE_ENGINE_PAIR }}
path: bin/coverage/e2e/ path: bin/coverage/e2e/
if-no-files-found: error if-no-files-found: error
- -
@ -212,34 +219,36 @@ jobs:
paths: /tmp/report/report.xml paths: /tmp/report/report.xml
if: always() if: always()
coverage: coverage:
runs-on: ubuntu-22.04 runs-on: ubuntu-latest
needs: needs:
- test - test
- e2e - e2e
steps: steps:
# codecov won't process the report without the source code available # codecov won't process the report without the source code available
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Set up Go - name: Set up Go
uses: actions/setup-go@v4 uses: actions/setup-go@v5
with: with:
go-version-file: 'go.mod' go-version-file: 'go.mod'
check-latest: true check-latest: true
- name: Download unit test coverage - name: Download unit test coverage
uses: actions/download-artifact@v3 uses: actions/download-artifact@v4
with: with:
name: coverage-data-unit name: coverage-data-unit
path: coverage/unit path: coverage/unit
merge-multiple: true
- name: Download E2E test coverage - name: Download E2E test coverage
uses: actions/download-artifact@v3 uses: actions/download-artifact@v4
with: with:
name: coverage-data-e2e pattern: coverage-data-e2e-*
path: coverage/e2e path: coverage/e2e
merge-multiple: true
- name: Merge coverage reports - name: Merge coverage reports
run: | run: |
go tool covdata textfmt -i=./coverage/unit,./coverage/e2e -o ./coverage.txt go tool covdata textfmt -i=./coverage/unit,./coverage/e2e -o ./coverage.txt
- name: Store coverage report in GitHub Actions - name: Store coverage report in GitHub Actions
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v4
with: with:
name: go-covdata-txt name: go-covdata-txt
path: ./coverage.txt path: ./coverage.txt
@ -259,16 +268,17 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- -
name: Download artifacts name: Download artifacts
uses: actions/download-artifact@v3 uses: actions/download-artifact@v4
with: with:
name: compose pattern: compose-*
path: bin/release path: ./bin/release
merge-multiple: true
- -
name: Create checksums name: Create checksums
working-directory: bin/release working-directory: ./bin/release
run: | run: |
find . -type f -print0 | sort -z | xargs -r0 shasum -a 256 -b | sed 's# \*\./# *#' > $RUNNER_TEMP/checksums.txt find . -type f -print0 | sort -z | xargs -r0 shasum -a 256 -b | sed 's# \*\./# *#' > $RUNNER_TEMP/checksums.txt
shasum -a 256 -U -c $RUNNER_TEMP/checksums.txt shasum -a 256 -U -c $RUNNER_TEMP/checksums.txt
@ -276,11 +286,11 @@ jobs:
cat checksums.txt | while read sum file; do echo "$sum $file" > ${file#\*}.sha256; done cat checksums.txt | while read sum file; do echo "$sum $file" > ${file#\*}.sha256; done
- -
name: License name: License
run: cp packaging/* bin/release/ run: cp packaging/* ./bin/release/
- -
name: List artifacts name: List artifacts
run: | run: |
tree -nh bin/release tree -nh ./bin/release
- -
name: Check artifacts name: Check artifacts
run: | run: |
@ -290,7 +300,7 @@ jobs:
if: startsWith(github.ref, 'refs/tags/v') if: startsWith(github.ref, 'refs/tags/v')
uses: ncipollo/release-action@58ae73b360456532aafd58ee170c045abbeaee37 # v1.10.0 uses: ncipollo/release-action@58ae73b360456532aafd58ee170c045abbeaee37 # v1.10.0
with: with:
artifacts: bin/release/* artifacts: ./bin/release/*
generateReleaseNotes: true generateReleaseNotes: true
draft: true draft: true
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -39,7 +39,7 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- -
name: Set up Go name: Set up Go
uses: actions/setup-go@v4 uses: actions/setup-go@v5
with: with:
go-version-file: go.mod go-version-file: go.mod
check-latest: true check-latest: true

View File

@ -21,7 +21,7 @@ on:
jobs: jobs:
docs-yaml: docs-yaml:
runs-on: ubuntu-22.04 runs-on: ubuntu-latest
steps: steps:
- -
name: Checkout name: Checkout

View File

@ -31,9 +31,9 @@ jobs:
env: env:
GO111MODULE: "on" GO111MODULE: "on"
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v4
- uses: actions/setup-go@v3 - uses: actions/setup-go@v5
with: with:
go-version-file: go.mod go-version-file: go.mod
cache: true cache: true
@ -81,7 +81,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v4
- -
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v2

View File

@ -15,7 +15,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
ARG GO_VERSION=1.21.10 ARG GO_VERSION=1.21.11
ARG XX_VERSION=1.2.1 ARG XX_VERSION=1.2.1
ARG GOLANGCI_LINT_VERSION=v1.55.2 ARG GOLANGCI_LINT_VERSION=v1.55.2
ARG ADDLICENSE_VERSION=v1.0.0 ARG ADDLICENSE_VERSION=v1.0.0