diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 5b104d0..5746169 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -1,4 +1,7 @@ name: default +concurrency: + group: ${{ github.event.label == null && github.head_ref || github.run_id }} + cancel-in-progress: true on: push: branches: @@ -10,9 +13,14 @@ on: branches: - main - release-* + types: + - opened + - synchronize + - reopened + - labeled jobs: default: - if: ${{ !startsWith(github.head_ref, 'renovate/') }} + if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/')) && (github.event.label == null || (contains(fromJSON('["integration/reproducibility"]'), github.event.label.name))) permissions: packages: write runs-on: @@ -55,3 +63,36 @@ jobs: if: github.event_name != 'pull_request' run: | make PUSH=true + reproducibility: + runs-on: + - self-hosted + - pkgs + if: ${{ contains(github.event.pull_request.labels.*.name, 'integration/reproducibility') }} + needs: + - default + services: + buildkitd: + image: moby/buildkit:buildx-stable-1 + ports: + - 1234:1234 + options: --privileged + volumes: + - /var/lib/buildkit/${{ github.repository }}:/var/lib/buildkit + - /usr/etc/buildkit/buildkitd.toml:/etc/buildkit/buildkitd.toml + steps: + - name: checkout + uses: actions/checkout@v3 + - name: Unshallow + run: | + git fetch --prune --unshallow + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + driver: remote + endpoint: tcp://localhost:1234 + append: | + - endpoint: tcp://buildkit-arm64.ci.svc.cluster.local:1234 + platforms: linux/arm64 + - name: reproducibility + run: | + make reproducibility-test diff --git a/.github/workflows/cron.yaml b/.github/workflows/cron.yaml index d2636c9..149116e 100644 --- a/.github/workflows/cron.yaml +++ b/.github/workflows/cron.yaml @@ -1,7 +1,38 @@ name: weekly +concurrency: + group: ${{ github.event.label == null && github.head_ref || github.run_id }} + cancel-in-progress: true on: schedule: - cron: '30 1 * * 1' jobs: reproducibility: - uses: ./.github/workflows/reproducibility.yaml + runs-on: + - self-hosted + - pkgs + services: + buildkitd: + image: moby/buildkit:buildx-stable-1 + ports: + - 1234:1234 + options: --privileged + volumes: + - /var/lib/buildkit/${{ github.repository }}:/var/lib/buildkit + - /usr/etc/buildkit/buildkitd.toml:/etc/buildkit/buildkitd.toml + steps: + - name: checkout + uses: actions/checkout@v3 + - name: Unshallow + run: | + git fetch --prune --unshallow + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + with: + driver: remote + endpoint: tcp://localhost:1234 + append: | + - endpoint: tcp://buildkit-arm64.ci.svc.cluster.local:1234 + platforms: linux/arm64 + - name: reproducibility + run: | + make reproducibility-test diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml deleted file mode 100644 index d20b921..0000000 --- a/.github/workflows/integration.yaml +++ /dev/null @@ -1,11 +0,0 @@ -name: integration -on: - pull_request: - types: [opened, synchronize, reopened, labeled] - branches: - - main - - release-* -jobs: - reproducibility: - if: ${{ !startsWith(github.head_ref, 'renovate/') && contains(github.event.pull_request.labels.*.name, 'integration/reproducibility') }} - uses: ./.github/workflows/reproducibility.yaml diff --git a/.github/workflows/reproducibility.yaml b/.github/workflows/reproducibility.yaml deleted file mode 100644 index 32c0a10..0000000 --- a/.github/workflows/reproducibility.yaml +++ /dev/null @@ -1,34 +0,0 @@ -name: reproducibility -on: - workflow_call: -jobs: - default: - runs-on: - - self-hosted - - pkgs - services: - buildkitd: - image: moby/buildkit:buildx-stable-1 - ports: - - 1234:1234 - options: --privileged - volumes: - - /var/lib/buildkit/${{ github.repository }}:/var/lib/buildkit - - /usr/etc/buildkit/buildkitd.toml:/etc/buildkit/buildkitd.toml - steps: - - name: checkout - uses: actions/checkout@v3 - - name: Unshallow - run: | - git fetch --prune --unshallow - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - driver: remote - endpoint: tcp://localhost:1234 - append: | - - endpoint: tcp://buildkit-arm64.ci.svc.cluster.local:1234 - platforms: linux/arm64 - - name: reproducibility - run: | - make reproducibility-test diff --git a/.github/workflows/slack-notify.yaml b/.github/workflows/slack-notify.yaml index 6d3ca1e..3d28228 100644 --- a/.github/workflows/slack-notify.yaml +++ b/.github/workflows/slack-notify.yaml @@ -3,6 +3,8 @@ name: slack-notify workflow_run: workflows: - default + - weekly + - integration types: - completed jobs: