name: Build on: push: branches: [ main ] tags: [ 'v*' ] pull_request: branches: [ main ] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: linux-build: runs-on: ubuntu-latest container: image: ghcr.io/hairyhenderson/gomplate-ci-build strategy: fail-fast: false matrix: goarch: [ '386', 'amd64', 'arm', 'arm64' ] include: - goarch: 'arm' goarm: '7' steps: - name: Set up QEMU uses: docker/setup-qemu-action@v3.6.0 - run: | git config --global user.email "bogus@example.com" git config --global user.name "Someone" git config --global --add safe.directory /__w/gomplate/gomplate - uses: actions/checkout@v4 with: fetch-depth: 0 - run: make build GOARCH=${{ matrix.goarch }} GOARM=${{ matrix.goarm }} - run: make test GOARCH=${{ matrix.goarch }} GOARM=${{ matrix.goarm }} - run: make integration GOARCH=${{ matrix.goarch }} GOARM=${{ matrix.goarm }} windows-build: runs-on: windows-latest env: # note: the tmp dir is set to C: so that it's not on the same drive as the # repo, which is on D: - this will expose bugs with path handling! TMP: C:\tmp steps: - run: pwd - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-go@v5 with: go-version-file: go.mod - run: | git config --global user.email "bogus@example.com" git config --global user.name "Someone" - run: make build - run: make test - run: make integration