name: Go on: push: branches: [main] pull_request: branches: [main] permissions: contents: read env: # Minimum supported Go toolchain ACTION_MINIMUM_TOOLCHAIN: "1.12.x" jobs: build: name: "Build" runs-on: ubuntu-latest strategy: matrix: go: ['1.17.x', '1.18.x', '1.19.x'] steps: - run: sudo apt-get -qq update - name: Install libsystemd-dev run: sudo apt-get install libsystemd-dev - uses: actions/checkout@v3 - name: Setup go uses: actions/setup-go@v3 with: go-version: ${{ matrix.go }} - name: Go fmt run: ./scripts/ci-runner.sh go_fmt - name: Go build (source) run: ./scripts/ci-runner.sh build_source - name: Go build (tests) run: ./scripts/ci-runner.sh build_tests - name: Go vet run: ./scripts/ci-runner.sh go_vet build-minimum: name: "Build on minimum supported toolchain" runs-on: ubuntu-latest steps: - run: sudo apt-get -qq update - name: Install libsystemd-dev run: sudo apt-get install libsystemd-dev - uses: actions/checkout@v3 - name: Setup go uses: actions/setup-go@v3 with: go-version: ${{ env['ACTION_MINIMUM_TOOLCHAIN'] }} - name: Go fmt run: ./scripts/ci-runner.sh go_fmt - name: Go build (source) run: ./scripts/ci-runner.sh build_source - name: Go build (tests) run: ./scripts/ci-runner.sh build_tests - name: Go vet run: ./scripts/ci-runner.sh go_vet