nix config #434
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Compile and bench | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - "**" | |
| workflow_dispatch: | |
| inputs: {} | |
| jobs: | |
| build-matrix: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| opam_file: | |
| - 'coq-certicoq.opam' | |
| image: | |
| - 'mattam82/metacoq:metacoq-1.3.4-coq-8.20' | |
| fail-fast: false # don't stop jobs if one fails | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| submodules: true | |
| - uses: coq-community/docker-coq-action@v1 | |
| with: | |
| custom_image: ${{ matrix.image }} | |
| opam_file: ${{ matrix.opam_file }} | |
| before_install: | # comment back in if MetaCoq commit changes | |
| startGroup "fix permission issues" | |
| sudo chown -R coq:coq . | |
| endGroup | |
| startGroup "opam pin" | |
| # TODO: this should be done in the Dockerfile | |
| opam pin add coq-compcert 3.14 -y | |
| # opam pin -n -y submodules/metacoq | |
| endGroup | |
| before_script: | | |
| startGroup "Install more dependencies" | |
| # TODO: install node with apt once a more recent version is available for debian. We need at least version 22. | |
| sudo apt-get install --yes wabt | |
| # install node via https://github.com/nvm-sh/nvm | |
| curl https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash | |
| export NVM_DIR="$HOME/.nvm" | |
| [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | |
| nvm install 22.1.0 | |
| node --version | |
| endGroup | |
| startGroup "fix permission issues" | |
| sudo chown -R coq:coq . | |
| endGroup | |
| startGroup "Copy repo (for later benchmarking)" | |
| cp -r `pwd` ~/repo | |
| endGroup | |
| after_script: | | |
| startGroup "List installed packages" | |
| opam list | |
| endGroup | |
| startGroup "Run benchmarks" | |
| ulimit -s unlimited | |
| make -C ~/repo/benchmarks all | |
| endGroup | |
| startGroup "Test bootstrapped plugins" | |
| cd ~/repo && ./configure.sh global | |
| make -C ~/repo/bootstrap test | |
| endGroup |