diff options
Diffstat (limited to '.github/workflows/build.yaml')
| -rw-r--r-- | .github/workflows/build.yaml | 55 |
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 |
