summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorseth <[email protected]>2023-07-02 15:46:53 -0400
committerseth <[email protected]>2023-07-02 19:59:45 +0000
commit3d05c4bff2b446a3a246b8b802e407b9cc1371c6 (patch)
treed12d571b4a918fe673f4c2de2131fb57bbbb5a11 /.github/workflows
parent57783697051e75142268f21a834e62da9d239017 (diff)
ci!: start using garnix
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/audit.yaml6
-rw-r--r--.github/workflows/ci.yaml85
-rw-r--r--.github/workflows/format.yaml41
-rw-r--r--.github/workflows/lint.yaml25
-rw-r--r--.github/workflows/update-flake.yaml7
-rw-r--r--.github/workflows/upload.yaml42
6 files changed, 43 insertions, 163 deletions
diff --git a/.github/workflows/audit.yaml b/.github/workflows/audit.yaml
index 677ea14..ade1ce9 100644
--- a/.github/workflows/audit.yaml
+++ b/.github/workflows/audit.yaml
@@ -5,12 +5,6 @@ name: audit crates
on:
schedule:
- cron: "0 0 * * 6"
- push:
- paths:
- - "Cargo.lock"
- pull_request:
- paths:
- - "Cargo.lock"
workflow_dispatch:
jobs:
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
deleted file mode 100644
index bebf885..0000000
--- a/.github/workflows/ci.yaml
+++ /dev/null
@@ -1,85 +0,0 @@
-name: ci
-
-on:
- push:
- pull_request:
- workflow_dispatch:
-
-permissions:
- contents: write
- packages: write
-
-jobs:
- lint:
- name: lint project
- uses: ./.github/workflows/lint.yaml
-
- format:
- name: format project
- uses: ./.github/workflows/format.yaml
-
- build:
- runs-on: ubuntu-latest
- needs: lint
-
- strategy:
- matrix:
- output: [teawiebot, container]
-
- steps:
- - uses: actions/checkout@v3
-
- - name: setup nix & cachix
- uses: ./.github/actions/setup-nix
- with:
- cachix-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
-
- - name: build
- run: |
- nix build --accept-flake-config -L .#${{ matrix.output }}
-
- - name: copy docker image
- if: ${{ matrix.output == 'container' }}
- run: |
- readlink result | xargs -I{} cp {} teawiebot.tar.gz
-
- - name: upload binary
- if: ${{ matrix.output == 'teawiebot' }}
- uses: actions/upload-artifact@v3
- with:
- name: ${{ matrix.output }}
- path: result/bin/${{ matrix.output }}
-
- - name: upload docker image
- if: ${{ matrix.output == 'container' }}
- uses: actions/upload-artifact@v3
- with:
- name: ${{ matrix.output }}
- path: teawiebot.tar.gz
-
- upload-to-docker:
- runs-on: ubuntu-latest
- needs: build
- if: github.ref == 'refs/heads/main'
-
- env:
- REGISTRY: ghcr.io
-
- steps:
- - name: download docker image
- uses: actions/download-artifact@v3
- with:
- name: container
-
- - name: login to ghcr
- uses: docker/login-action@v2
- with:
- registry: ${{ env.REGISTRY }}
- username: "getchoo"
- password: ${{ secrets.GITHUB_TOKEN }}
-
- - name: upload to ghcr
- run: |
- docker load < teawiebot.tar.gz
- docker tag teawiebot:latest ghcr.io/getchoo/teawiebot:latest
- docker push ghcr.io/getchoo/teawiebot:latest
diff --git a/.github/workflows/format.yaml b/.github/workflows/format.yaml
deleted file mode 100644
index e189f46..0000000
--- a/.github/workflows/format.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-name: format project
-
-on:
- workflow_call:
- workflow_dispatch:
-
-permissions:
- contents: write
-
-jobs:
- cargo-fmt:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v3
-
- - name: setup nix & cachix
- uses: ./.github/actions/setup-nix
- with:
- cachix-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
-
- - name: run cargo fmt
- run: |
- nix build -L .#checks.x86_64-linux.fmt
-
- nix-fmt:
- runs-on: ubuntu-latest
- if: github.event_name != 'pull_request'
- steps:
- - uses: actions/checkout@v3
-
- - name: setup nix & cachix
- uses: ./.github/actions/setup-nix
- with:
- cachix-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
-
- - run: nix fmt
-
- - uses: EndBug/add-and-commit@v9
- with:
- default_author: github_actions
- message: "chore: fmt nix files"
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
deleted file mode 100644
index aab9e34..0000000
--- a/.github/workflows/lint.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-name: lint project
-
-on:
- workflow_call:
- workflow_dispatch:
-
-jobs:
- lint:
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- check: [teawiebot, clippy]
-
- steps:
- - uses: actions/checkout@v3
-
- - name: setup nix & cachix
- uses: ./.github/actions/setup-nix
- with:
- cachix-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
-
- - name: lint
- run: |
- nix build -L .#checks.x86_64-linux.${{ matrix.check }}
diff --git a/.github/workflows/update-flake.yaml b/.github/workflows/update-flake.yaml
index 04178d7..9ac2d4e 100644
--- a/.github/workflows/update-flake.yaml
+++ b/.github/workflows/update-flake.yaml
@@ -8,7 +8,6 @@ on:
workflow_dispatch:
permissions:
- contents: write
pull-requests: write
jobs:
@@ -17,11 +16,7 @@ jobs:
steps:
- uses: actions/checkout@v3
-
- - name: setup nix & cachix
- uses: ./.github/actions/setup-nix
- with:
- cachix-token: ${{ secrets.CACHIX_AUTH_TOKEN }}
+ - uses: cachix/install-nix-action@v22
- uses: DeterminateSystems/update-flake-lock@v19
with:
diff --git a/.github/workflows/upload.yaml b/.github/workflows/upload.yaml
new file mode 100644
index 0000000..1122491
--- /dev/null
+++ b/.github/workflows/upload.yaml
@@ -0,0 +1,42 @@
+name: upload to registry
+# this is for uploading images to a container registry when
+# changes are made to `main`
+
+on:
+ check_suite:
+ types: [completed]
+
+permissions:
+ packages: write
+
+jobs:
+ upload:
+ runs-on: ubuntu-latest
+
+ env:
+ REGISTRY: ghcr.io
+ USERNAME: getchoo
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: cachix/install-nix-action@v22
+
+ - name: fetch docker image
+ run: |
+ nix build --accept-flake-config -L .#container
+ readlink result | xargs -I {} cp {} teawiebot.tar.gz
+
+ - name: login to ${{ env.REGISTRY }}
+ uses: docker/login-action@v2
+ with:
+ registry: ${{ env.REGISTRY }}
+ username: ${{ env.USERNAME }}
+ password: ${{ github.token }}
+
+ - name: upload to ${{ env.REGISTRY }}
+ env:
+ PUSH_PREFIX: ${{ env.REGISTRY }}/${{ env.USERNAME }}
+ run: |
+ docker load < teawiebot.tar.gz
+ docker tag teawiebot:latest ${{ env.REGISTRY_PREFIX }}/teawiebot:latest
+ docker push ${{ env.PUSH_PREFIX }}/teawiebot:latest