diff --git a/.github/Dockerfile b/.github/Dockerfile new file mode 100644 index 00000000..eefec40f --- /dev/null +++ b/.github/Dockerfile @@ -0,0 +1,10 @@ +FROM coqorg/coq:8.17.1 + +ENV NCPUS=4 +ENV OPAMYES="true" +ENV OPAMJOBS=$NCPUS + +RUN opam repo add coq-released https://coq.inria.fr/opam/released \ + && opam update \ + && opam install coq-equations coq-menhirlib menhir ppx_inline_test \ + && eval $(opam env) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml new file mode 100644 index 00000000..bbd82a63 --- /dev/null +++ b/.github/workflows/docker.yaml @@ -0,0 +1,41 @@ +name: Publish Docker Image for CI + +on: workflow_dispatch + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + attestations: write + id-token: write + steps: + - name: repo checkout + uses: actions/checkout@v3 + + - name: container registry log in + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: metadata extraction + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + file: .github/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}