summaryrefslogtreecommitdiff
path: root/.github/workflows/build.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build.yaml')
-rw-r--r--.github/workflows/build.yaml55
1 files changed, 55 insertions, 0 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000..4fd6d1a
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,55 @@
+name: ci
+
+on:
+ push:
+ pull_request:
+ workflow_dispatch:
+
+permissions:
+ packages: write
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: cachix/install-nix-action@v21
+ - uses: DeterminateSystems/magic-nix-cache-action@main
+
+ - run: |
+ nix build .#workerd-docker
+ readlink result | xargs -I {} cp {} workerd.tar.gz
+
+ - name: upload docker image
+ uses: actions/upload-artifact@v3
+ with:
+ name: container
+ path: workerd.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 ${{ env.REGISTRY }}
+ uses: docker/login-action@v2
+ with:
+ registry: ${{ env.REGISTRY }}
+ username: "getchoo"
+ password: ${{ github.token }}
+
+ - name: upload to ${{ env.REGISTRY }}
+ run: |
+ docker load < workerd.tar.gz
+ docker tag workerd:latest ${{ env.REGISTRY }}/getchoo/workerd:latest
+ docker push ${{ env.REGISTRY }}/getchoo/workerd:latest