From 130f9ce5ffe4ff7de5ca68155c37aa34f742aaa9 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Thu, 9 Nov 2023 20:53:58 -0800 Subject: [PATCH 1/3] Model coq-alpine after coq-debian --- .github/workflows/coq-alpine.yml | 49 +++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/.github/workflows/coq-alpine.yml b/.github/workflows/coq-alpine.yml index c90a9962f7..bc6c3c1cab 100644 --- a/.github/workflows/coq-alpine.yml +++ b/.github/workflows/coq-alpine.yml @@ -2,14 +2,16 @@ name: CI (Coq, Alpine) on: push: - branches: [ master ] + branches: [ master ] pull_request: + merge_group: workflow_dispatch: schedule: - cron: '0 0 1 * *' jobs: build: + strategy: fail-fast: false matrix: @@ -19,9 +21,11 @@ jobs: runs-on: ubuntu-latest name: ${{ matrix.alpine }} + concurrency: - group: ${{ github.workflow }}-${{ matrix.alpine }}-${{ github.head_ref || github.run_id }} + group: ${{ github.workflow }}-alpine-${{ matrix.alpine }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true + steps: - uses: actions/checkout@v4 with: @@ -30,23 +34,54 @@ jobs: with: branch: ${{ matrix.alpine }} extra-repositories: https://dl-cdn.alpinelinux.org/alpine/edge/testing - packages: git make jq gcc musl-dev python3 ocaml ocaml-findlib ghc cabal coq ocaml-zarith + packages: git make jq gcc musl-dev python3 ocaml ocaml-findlib ghc cabal coq ocaml-zarith bash - name: work around coq issue 15663 shell: alpine.sh --root {0} run: | ln -s /usr/lib/coq /usr/lib/ocaml/coq ln -s /usr/lib/coq-core /usr/lib/ocaml/coq-core ln -s /usr/lib/coqide-server /usr/lib/ocaml/coqide-server + - name: host build params + run: etc/ci/describe-system-config.sh + - name: chroot build params + shell: alpine.sh {0} + run: etc/ci/describe-system-config.sh - name: make deps shell: alpine.sh {0} - run: make -j2 deps + run: etc/ci/github-actions-make.sh -j2 deps - name: all-except-generated shell: alpine.sh {0} - run: make -j2 all-except-generated + run: etc/ci/github-actions-make.sh -j2 all-except-generated - name: generated-files - if: github.event_name == 'pull_request' || ${{ matrix.env.VERSION }} != 'master' shell: alpine.sh {0} - run: make -j2 generated-files + run: etc/ci/github-actions-make.sh -j2 generated-files + - run: tar -czvf generated-files.tgz fiat-*/ + if: ${{ failure() }} + - name: upload generated files + uses: actions/upload-artifact@v3 + with: + name: generated-files-${{ matrix.alpine }} + path: generated-files.tgz + if: ${{ failure() }} + - name: upload OCaml files + uses: actions/upload-artifact@v3 + with: + name: ExtractionOCaml-${{ matrix.alpine }} + path: src/ExtractionOCaml + if: always () + - name: standalone-haskell + shell: alpine.sh {0} + run: etc/ci/github-actions-make.sh -j1 standalone-haskell GHCFLAGS='+RTS -M6G -RTS' + - name: upload Haskell files + uses: actions/upload-artifact@v3 + with: + name: ExtractionHaskell-${{ matrix.alpine }} + path: src/ExtractionHaskell + if: always () + - name: display timing info + run: cat time-of-build-pretty.log + - name: display per-line timing info + run: etc/ci/github-actions-display-per-line-timing.sh alpine-check-all: runs-on: ubuntu-latest From 3316f8ea67173997421b53a36a23d3e152c1e206 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Fri, 10 Nov 2023 22:19:22 -0800 Subject: [PATCH 2/3] Don't use github-actions-make on alpine Apparently it makes `make deps` take 6h+? --- .github/workflows/coq-alpine.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/coq-alpine.yml b/.github/workflows/coq-alpine.yml index bc6c3c1cab..b54791d617 100644 --- a/.github/workflows/coq-alpine.yml +++ b/.github/workflows/coq-alpine.yml @@ -48,13 +48,13 @@ jobs: run: etc/ci/describe-system-config.sh - name: make deps shell: alpine.sh {0} - run: etc/ci/github-actions-make.sh -j2 deps + run: make TIMED=1 -j2 deps - name: all-except-generated shell: alpine.sh {0} - run: etc/ci/github-actions-make.sh -j2 all-except-generated + run: make TIMED=1 -j2 all-except-generated - name: generated-files shell: alpine.sh {0} - run: etc/ci/github-actions-make.sh -j2 generated-files + run: make TIMED=1 -j2 generated-files - run: tar -czvf generated-files.tgz fiat-*/ if: ${{ failure() }} - name: upload generated files @@ -71,7 +71,7 @@ jobs: if: always () - name: standalone-haskell shell: alpine.sh {0} - run: etc/ci/github-actions-make.sh -j1 standalone-haskell GHCFLAGS='+RTS -M6G -RTS' + run: make TIMED=1 -j1 standalone-haskell GHCFLAGS='+RTS -M6G -RTS' - name: upload Haskell files uses: actions/upload-artifact@v3 with: From 877327ba2538fbbd297596251760a882b9ec7ef3 Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Sat, 11 Nov 2023 08:41:37 -0800 Subject: [PATCH 3/3] Update coq-alpine.yml with TIMING=1 We also don't create the timed file (yet) --- .github/workflows/coq-alpine.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/coq-alpine.yml b/.github/workflows/coq-alpine.yml index b54791d617..35d4842f93 100644 --- a/.github/workflows/coq-alpine.yml +++ b/.github/workflows/coq-alpine.yml @@ -48,13 +48,13 @@ jobs: run: etc/ci/describe-system-config.sh - name: make deps shell: alpine.sh {0} - run: make TIMED=1 -j2 deps + run: make TIMED=1 TIMING=1 -j2 deps - name: all-except-generated shell: alpine.sh {0} - run: make TIMED=1 -j2 all-except-generated + run: make TIMED=1 TIMING=1 -j2 all-except-generated - name: generated-files shell: alpine.sh {0} - run: make TIMED=1 -j2 generated-files + run: make TIMED=1 TIMING=1 -j2 generated-files - run: tar -czvf generated-files.tgz fiat-*/ if: ${{ failure() }} - name: upload generated files @@ -71,7 +71,7 @@ jobs: if: always () - name: standalone-haskell shell: alpine.sh {0} - run: make TIMED=1 -j1 standalone-haskell GHCFLAGS='+RTS -M6G -RTS' + run: make TIMED=1 TIMING=1 -j1 standalone-haskell GHCFLAGS='+RTS -M6G -RTS' - name: upload Haskell files uses: actions/upload-artifact@v3 with: @@ -79,7 +79,7 @@ jobs: path: src/ExtractionHaskell if: always () - name: display timing info - run: cat time-of-build-pretty.log + run: cat time-of-build-pretty.log || true - name: display per-line timing info run: etc/ci/github-actions-display-per-line-timing.sh