summaryrefslogtreecommitdiff
path: root/.github/workflows/docker.yaml
diff options
context:
space:
mode:
authorseth <[email protected]>2024-08-09 23:35:41 -0400
committerGitHub <[email protected]>2024-08-09 23:35:41 -0400
commitb643a6a235b0c1c9902b97421f24eff2b0d0a5ac (patch)
tree350794c0e9330fb77367838313bc6bb97278a0aa /.github/workflows/docker.yaml
parent372780546b508684839916e5ad54c9e90456a94f (diff)
tree-wide: end of summer cleanup (#214)
* api: refactor & rename module to http * client: split from main.rs * tree-wide: use eyre::Report as error * nix: alejandra -> nixfmt * nix: start using treefmt-nix * nix: simplify flake * nix: refactor derivation & docker image * nix: remove overlay * ci: update & cleanup workflows * commands: assign all commands automatically * commands/copypasta: remove * http/teawie: update response struct for upstream rust rewrite * handlers: rename modules to events; flatten * crates: rename self to teawie-bot * nix: fenix -> rust-overlay i want a specific rust version grrrrrrr * ci: pin rust to 1.79 this is what our nix dev shell uses and what we can compile on. it seems the time crate doesn't like v1.80 of the compiler :( * ci: always run release gates * nix: fix static toolchain * nix: rust-overlay -> nixpkgs * ci: adopt actions-rust-lang actions * nix: use docker arch names for containers * crates/time: 0.3.30 -> 0.3.36 fixes building on rust 1.80.0
Diffstat (limited to '.github/workflows/docker.yaml')
-rw-r--r--.github/workflows/docker.yaml37
1 files changed, 24 insertions, 13 deletions
diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml
index 30c84d9..0bb28ad 100644
--- a/.github/workflows/docker.yaml
+++ b/.github/workflows/docker.yaml
@@ -3,7 +3,17 @@ name: Docker
on:
push:
branches: [main]
+ paths:
+ - "**.nix"
+ - "**.rs"
+ - "**.lock"
+ - "Cargo.toml"
pull_request:
+ paths:
+ - "**.nix"
+ - "**.rs"
+ - "**.lock"
+ - "Cargo.toml"
workflow_dispatch:
jobs:
@@ -13,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- arch: [x86_64, aarch64]
+ arch: [amd64, arm64]
runs-on: ubuntu-latest
@@ -22,7 +32,7 @@ jobs:
uses: actions/checkout@v4
- name: Install Nix
- uses: DeterminateSystems/nix-installer-action@v12
+ uses: DeterminateSystems/nix-installer-action@v13
- name: Setup Nix cache
uses: DeterminateSystems/magic-nix-cache-action@v7
@@ -53,17 +63,21 @@ jobs:
name: Docker Release Gate
needs: build
+ if: always()
+
runs-on: ubuntu-latest
steps:
- - name: Exit with result
- run: echo "We're good to go!"
+ - name: Exit with error
+ if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
+ run: exit 1
push:
name: Push image
- if: github.event_name == 'push'
needs: release-gate
+ if: github.event_name == 'push'
+
runs-on: ubuntu-latest
permissions:
@@ -72,12 +86,9 @@ jobs:
env:
REGISTRY: ghcr.io
USERNAME: ${{ github.actor }}
+ IMAGE_NAME: teawie-bot
steps:
- - name: Set image name
- run: |
- echo "IMAGE_NAME=${GITHUB_REPOSITORY,,}" >> "$GITHUB_ENV"
-
- name: Checkout repository
uses: actions/checkout@v4
@@ -97,15 +108,15 @@ jobs:
env:
TAG: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
run: |
- architectures=("x86_64" "aarch64")
+ architectures=("amd64" "arm64")
for arch in "${architectures[@]}"; do
docker load < images/container-"$arch"/*.tar.gz
- docker tag teawiebot:latest-"$arch" "$TAG"-"$arch"
+ docker tag teawie-bot:latest-"$arch" "$TAG"-"$arch"
docker push "$TAG"-"$arch"
done
docker manifest create "$TAG" \
- --amend "$TAG"-x86_64 \
- --amend "$TAG"-aarch64
+ --amend "$TAG"-amd64 \
+ --amend "$TAG"-arm64
docker manifest push "$TAG"