diff --git a/.github/workflows/nix-action.yml b/.github/workflows/nix-action.yml new file mode 100644 index 0000000..1a118f8 --- /dev/null +++ b/.github/workflows/nix-action.yml @@ -0,0 +1,47 @@ +# This file was generated from `meta.yml`, please do not edit manually. +# Follow the instructions on https://github.com/coq-community/templates to regenerate. +name: Nix CI + +on: + push: + branches: + - master + pull_request: + paths: + - .github/workflows/** + pull_request_target: + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + overrides: + - 'coq = "master"' + fail-fast: false + steps: + - name: Determine which commit to test + run: | + if [[ ${{ github.event_name }} =~ "pull_request" ]]; then + merge_commit=$(git ls-remote ${{ github.event.repository.html_url }} refs/pull/${{ github.event.number }}/merge | cut -f1) + if [ -z "$merge_commit" ]; then + echo "tested_commit=${{ github.event.pull_request.head.sha }}" >> $GITHUB_ENV + else + echo "tested_commit=$merge_commit" >> $GITHUB_ENV + fi + else + echo "tested_commit=${{ github.sha }}" >> $GITHUB_ENV + fi + - uses: cachix/install-nix-action@v20 + with: + nix_path: nixpkgs=channel:nixpkgs-unstable + - uses: cachix/cachix-action@v12 + with: + name: coq-community + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + extraPullNames: coq, math-comp + - uses: actions/checkout@v3 + with: + ref: ${{ env.tested_commit }} + - run: > + nix-build https://github.com/coq-community/coq-nix-toolbox/archive/master.tar.gz --argstr job buchberger --arg override '{ ${{ matrix.overrides }}; buchberger = builtins.filterSource (path: _: baseNameOf path != ".git") ./.; }' diff --git a/README.md b/README.md index 2344332..4bb5bb4 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ Follow the instructions on https://github.com/coq-community/templates to regener # Buchberger [![Docker CI][docker-action-shield]][docker-action-link] +[![Nix CI][nix-action-shield]][nix-action-link] [![Contributing][contributing-shield]][contributing-link] [![Code of Conduct][conduct-shield]][conduct-link] [![Zulip][zulip-shield]][zulip-link] @@ -12,6 +13,9 @@ Follow the instructions on https://github.com/coq-community/templates to regener [docker-action-shield]: https://github.com/coq-community/buchberger/workflows/Docker%20CI/badge.svg?branch=master [docker-action-link]: https://github.com/coq-community/buchberger/actions?query=workflow:"Docker%20CI" +[nix-action-shield]: https://github.com/coq-community/buchberger/workflows/Nix%20CI/badge.svg?branch=master +[nix-action-link]: https://github.com/coq-community/buchberger/actions?query=workflow:"Nix%20CI" + [contributing-shield]: https://img.shields.io/badge/contributions-welcome-%23f7931e.svg [contributing-link]: https://github.com/coq-community/manifesto/blob/master/CONTRIBUTING.md diff --git a/meta.yml b/meta.yml index 8a92245..b74869b 100644 --- a/meta.yml +++ b/meta.yml @@ -4,7 +4,7 @@ shortname: buchberger organization: coq-community community: true action: true -nix: false +nix: true coqdoc: false synopsis: Verified implementation in Coq of Buchberger's algorithm for computing Gröbner bases