summaryrefslogtreecommitdiff
path: root/.github/workflows/docker.yaml
diff options
context:
space:
mode:
authorseth <[email protected]>2023-12-15 02:38:39 -0500
committerseth <[email protected]>2023-12-15 16:41:13 -0500
commit03223e6e6d061a18b66a69092c59e6a0cb6d1d3f (patch)
tree87d1d7aa8edd58790a078b36ceebf0e702570a09 /.github/workflows/docker.yaml
parent2ee6985ee62036afe8c1adc76849ffaf42a08bb8 (diff)
ci: garnix -> gha + attic
Diffstat (limited to '.github/workflows/docker.yaml')
-rw-r--r--.github/workflows/docker.yaml64
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 }} \