Skip to content

Merge pull request #12 from 89luca89/dependabot/go_modules/container-… #51

Merge pull request #12 from 89luca89/dependabot/go_modules/container-…

Merge pull request #12 from 89luca89/dependabot/go_modules/container-… #51

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
name: Build (${{ matrix.goarch }})
runs-on: ubuntu-latest
strategy:
matrix:
goarch: [amd64, arm64]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version-file: go.mod
- run: make GOARCH=${{ matrix.goarch }} launcher
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version-file: go.mod
- run: make test
integration-test:
name: Integration (${{ matrix.runtime }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
runtime: [podman, docker]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version-file: go.mod
- name: Install podman
if: matrix.runtime == 'podman'
run: sudo apt-get update && sudo apt-get install -y podman
- name: Log in to Docker Hub (podman)
if: matrix.runtime == 'podman' && env.DOCKERHUB_USERNAME != ''
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
run: podman login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_TOKEN }} docker.io
- name: Log in to Docker Hub (docker)
if: matrix.runtime == 'docker' && env.DOCKERHUB_USERNAME != ''
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Run integration tests
run: make test-integration CTR=${{ matrix.runtime }}
timeout-minutes: 15
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
with:
go-version-file: go.mod
- name: Install tools
run: |
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.5.0
go install golang.org/x/tools/gopls@latest
- run: make lint