name: e2e # 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: tests: runs-on: ubuntu-26.04 strategy: fail-fast: false matrix: target: - local - connhelper-ssh base: - alpine - debian engine-version: - rc # latest rc - 29 # latest - 28 # latest - 1 - 25 # mirantis lts steps: - name: Configure credentials continue-on-error: true uses: tracebit-com/tracebit-community-action@27de2ed8de16af5270d32003a4c8bfc3c54e0a20 # v1.2.0 with: customer-id: ${{ secrets.TRACEBIT_CUSTOMER_ID }} api-token: ${{ secrets.TRACEBIT_API_TOKEN }} profile: administrator profile-region: us-east-1 - name: Checkout uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Update daemon.json run: | if [ ! -f /etc/docker/daemon.json ]; then # ubuntu runners no longer have a default daemon.json present sudo mkdir -p /etc/docker/ echo '{"experimental": true}' | sudo tee /etc/docker/daemon.json else # but if there is one; let's patch it to keep other options that may be set. sudo jq '.experimental = true' < /etc/docker/daemon.json > /tmp/docker.json sudo mv /tmp/docker.json /etc/docker/daemon.json fi sudo cat /etc/docker/daemon.json sudo service docker restart docker version docker info - name: Set up Docker Buildx uses: docker/setup-buildx-action@594f3bf4285d9ea8dc53c9a0c9c4092420091003 # v4.4.0 - name: Run ${{ matrix.target }} run: | make -f docker.Makefile test-e2e-${{ matrix.target }} env: BASE_VARIANT: ${{ matrix.base }} ENGINE_VERSION: ${{ matrix.engine-version }} TESTFLAGS: -coverprofile=/tmp/coverage/coverage.txt - name: Send to Codecov uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1 with: files: ./build/coverage/coverage.txt token: ${{ secrets.CODECOV_TOKEN }}