diff options
| author | seth <[email protected]> | 2023-12-15 02:38:39 -0500 |
|---|---|---|
| committer | seth <[email protected]> | 2023-12-15 16:41:13 -0500 |
| commit | 03223e6e6d061a18b66a69092c59e6a0cb6d1d3f (patch) | |
| tree | 87d1d7aa8edd58790a078b36ceebf0e702570a09 /.github/workflows/docker.yaml | |
| parent | 2ee6985ee62036afe8c1adc76849ffaf42a08bb8 (diff) | |
ci: garnix -> gha + attic
Diffstat (limited to '.github/workflows/docker.yaml')
| -rw-r--r-- | .github/workflows/docker.yaml | 64 |
1 files changed, 12 insertions, 52 deletions
diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 0009b4d..a2873ed 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -1,53 +1,12 @@ name: Push to image registry on: - check_suite: - types: ["completed"] + workflow_call: workflow_dispatch: jobs: - build: - name: Build image - - runs-on: ubuntu-latest - strategy: - matrix: - arch: [x86_64, aarch64] - - # https://github.com/sellout/bash-strict-mode/commit/9bf1d65c2f786a9887facfcb81e06d8b8b5f4667 - if: github.event.check_suite.app.name == 'Garnix CI' - && github.event.check_suite.conclusion == 'success' - && github.event.check_suite.latest_check_runs_count >= 8 - && github.event.check_suite.head_branch == 'main' - - steps: - - uses: actions/checkout@v4 - - - name: Install Nix - uses: DeterminateSystems/nix-installer-action@v9 - - - name: Setup Nix cache - uses: DeterminateSystems/magic-nix-cache-action@v2 - - - name: Build Docker image - id: build - run: | - nix build -L --accept-flake-config .#container-${{ matrix.arch }} - [ ! -L result ] && exit 1 - echo "path=$(realpath result)" >> "$GITHUB_OUTPUT" - - - name: Upload image - uses: actions/upload-artifact@v3 - with: - name: container-${{ matrix.arch }} - path: ${{ steps.build.outputs.path }} - if-no-files-found: error - retention-days: 1 - push: name: Push image - - needs: build runs-on: ubuntu-latest permissions: @@ -57,12 +16,6 @@ jobs: REGISTRY: ghcr.io USERNAME: getchoo - # ditto - if: github.event.check_suite.app.name == 'Garnix CI' - && github.event.check_suite.conclusion == 'success' - && github.event.check_suite.latest_check_runs_count >= 8 - && github.event.check_suite.head_branch == 'main' - steps: - name: Set image name run: | @@ -70,10 +23,15 @@ jobs: - uses: actions/checkout@v4 - - name: Download images - uses: actions/download-artifact@v3 + - name: Install Nix + uses: DeterminateSystems/nix-installer-action@v9 + + - name: Setup Attic cache + uses: ryanccn/attic-action@v0 with: - path: images + endpoint: https://cache.mydadleft.me + cache: teawiebot + token: ${{ secrets.ATTIC_TOKEN }} - name: Login to registry uses: docker/login-action@v3 @@ -90,9 +48,11 @@ jobs: architectures=("x86_64" "aarch64") for arch in "${architectures[@]}"; do - docker load < images/container-"$arch"/*.tar.gz + nix build -L --accept-flake-config .#container-"$arch" + docker load < result docker tag ${{ env.IMAGE_NAME }}:latest-"$arch" ${{ env.TAG }}-"$arch" docker push ${{ env.TAG }}-"$arch" + rm result done docker manifest create ${{ env.TAG }} \ |
