name: test # Default to 'contents: read', which grants actions to read commits. # # If any permission is set, any permission not included in the list is # implicitly set to "none". # # see https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions permissions: contents: read concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true on: workflow_dispatch: push: branches: - 'master' - '[0-9]+.[0-9]+' - '[0-9]+.x' tags: - 'v*' pull_request: jobs: ctn: runs-on: ubuntu-24.04 steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0 - name: Test uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0 with: targets: test-coverage - name: Send to Codecov uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 with: files: ./build/coverage/coverage.txt token: ${{ secrets.CODECOV_TOKEN }} host: runs-on: ${{ matrix.os }} env: GOPATH: ${{ github.workspace }} GOBIN: ${{ github.workspace }}/bin GO111MODULE: auto strategy: fail-fast: false matrix: os: - macos-14 # macOS 14 on arm64 (Apple Silicon M1) - macos-15-intel # macOS 15 on Intel - macos-15 # macOS 15 on arm64 (Apple Silicon M1) # - windows-2022 # FIXME: some tests are failing on the Windows runner, as well as on Appveyor since June 24, 2018: https://ci.appveyor.com/project/docker/cli/history steps: - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: path: ${{ env.GOPATH }}/src/github.com/docker/cli persist-credentials: false - name: Set up Go uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version: "1.26.7" cache: false - name: Test run: | # run in go modules mode to prevent traversing to nested modules ln -s vendor.mod go.mod ln -s vendor.sum go.sum go test -coverprofile=/tmp/coverage.txt $(go list ./... | grep -vE '^github.com/docker/cli/e2e/') go tool cover -func=/tmp/coverage.txt working-directory: ${{ env.GOPATH }}/src/github.com/docker/cli shell: bash - name: Send to Codecov uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 with: files: /tmp/coverage.txt working-directory: ${{ env.GOPATH }}/src/github.com/docker/cli token: ${{ secrets.CODECOV_TOKEN }}