name: Continuity on: push: branches: [ main ] pull_request: branches: [ main ] env: GO_VERSION: 1.20.x jobs: # # Project checks # project: name: Project Checks runs-on: ubuntu-22.04 timeout-minutes: 5 steps: - uses: actions/checkout@v3 with: path: src/github.com/containerd/continuity fetch-depth: 100 - name: Set up Go uses: actions/setup-go@v3 with: go-version: ${{ env.GO_VERSION }} - uses: containerd/project-checks@v1.1.0 with: working-directory: src/github.com/containerd/continuity tests: name: CI Tests runs-on: ${{ matrix.os }} timeout-minutes: 10 needs: [project] strategy: matrix: os: [ubuntu-22.04, macos-12, windows-2019, windows-2022] steps: - name: Set up Go uses: actions/setup-go@v3 with: go-version: ${{ env.GO_VERSION }} - name: Git line endings shell: bash run: | git config --global core.autocrlf false git config --global core.eol lf - name: Check out code uses: actions/checkout@v3 with: path: src/github.com/containerd/continuity fetch-depth: 25 - name: Dependencies run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.51.2 - name: Lint shell: bash run: make lint working-directory: src/github.com/containerd/continuity - name: Build shell: bash run: make build binaries working-directory: src/github.com/containerd/continuity - name: Tests run: | make test working-directory: src/github.com/containerd/continuity - name: Root Tests if: ${{ !startsWith(matrix.os, 'windows') }} run: | make root-test working-directory: src/github.com/containerd/continuity cross: name: Cross-compile runs-on: ubuntu-22.04 timeout-minutes: 10 needs: [project] strategy: matrix: goos: [freebsd, openbsd, netbsd, dragonfly, darwin, solaris] steps: - name: Set up Go uses: actions/setup-go@v3 with: go-version: ${{ env.GO_VERSION }} - name: Setup Go binary path shell: bash run: | echo "${{ github.workspace }}/bin" >> $GITHUB_PATH - name: Check out code uses: actions/checkout@v3 with: path: src/github.com/containerd/continuity - name: Cross-compile ${{matrix.goos}} shell: bash run: | GOOS=${{matrix.goos}} make build binaries working-directory: src/github.com/containerd/continuity