jobs:
  Cheerios:
    needs:
    - coq
    - StructTact
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (Cheerios)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"Cheerios\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: StructTact'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "StructTact"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "Cheerios"
  ExtLib:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (ExtLib)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"ExtLib\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "ExtLib"
  ITree:
    needs:
    - coq
    - ExtLib
    - paco
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (ITree)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"ITree\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: ExtLib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "ExtLib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: paco'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "paco"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "ITree"
  InfSeqExt:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (InfSeqExt)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"InfSeqExt\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "InfSeqExt"
  MenhirLib:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (MenhirLib)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"MenhirLib\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "MenhirLib"
  QuickChick:
    needs:
    - coq
    - mathcomp-boot
    - ExtLib
    - simple-io
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (QuickChick)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"QuickChick\" \\\n   --dry-run 2> err > out ||
        (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-boot'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: ExtLib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "ExtLib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: simple-io'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "simple-io"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "QuickChick"
  StructTact:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (StructTact)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"StructTact\" \\\n   --dry-run 2> err > out ||
        (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "StructTact"
  Verdi:
    needs:
    - coq
    - Cheerios
    - InfSeqExt
    - mathcomp-ssreflect
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (Verdi)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"Verdi\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: Cheerios'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "Cheerios"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: InfSeqExt'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "InfSeqExt"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-ssreflect'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-ssreflect"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "Verdi"
  aac-tactics:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (aac-tactics)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"aac-tactics\" \\\n   --dry-run 2> err > out ||
        (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "aac-tactics"
  argosy:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (argosy)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"argosy\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "argosy"
  async-test:
    needs:
    - coq
    - itree-io
    - json
    - QuickChick
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (async-test)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"async-test\" \\\n   --dry-run 2> err > out ||
        (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: itree-io'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "itree-io"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: json'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "json"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: QuickChick'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "QuickChick"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "async-test"
  atbr:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (atbr)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"atbr\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "atbr"
  autosubst:
    needs:
    - coq
    - mathcomp-boot
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (autosubst)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"autosubst\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-boot'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "autosubst"
  bbv:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (bbv)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"bbv\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "bbv"
  bignums:
    needs:
    - rocq-core
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (bignums)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"bignums\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: rocq-core'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-core"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "bignums"
  bignums-test:
    needs:
    - coq
    - bignums
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (bignums-test)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"bignums-test\" \\\n   --dry-run 2> err > out ||
        (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: bignums'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "bignums"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "bignums-test"
  ceres:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (ceres)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"ceres\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "ceres"
  coinduction:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (coinduction)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"coinduction\" \\\n   --dry-run 2> err > out ||
        (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coinduction"
  coq:
    needs:
    - rocq-core
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (coq)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"coq\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: rocq-core'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-core"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
  coq-elpi:
    needs:
    - coq
    - rocq-elpi
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (coq-elpi)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"coq-elpi\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: rocq-elpi'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-elpi"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq-elpi"
  coq-hammer:
    needs:
    - coq
    - coq-hammer-tactics
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (coq-hammer)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"coq-hammer\" \\\n   --dry-run 2> err > out ||
        (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq-hammer-tactics'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq-hammer-tactics"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq-hammer"
  coq-hammer-tactics:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (coq-hammer-tactics)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"coq-hammer-tactics\" \\\n   --dry-run 2> err >
        out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq-hammer-tactics"
  coqprime:
    needs:
    - coq
    - bignums
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (coqprime)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"coqprime\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: bignums'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "bignums"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coqprime"
  coquelicot:
    needs:
    - coq
    - stdlib
    - mathcomp-boot
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (coquelicot)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"coquelicot\" \\\n   --dry-run 2> err > out ||
        (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-boot'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coquelicot"
  coqutil:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (coqutil)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"coqutil\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coqutil"
  deriving:
    needs:
    - coq
    - mathcomp-ssreflect
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (deriving)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"deriving\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-ssreflect'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-ssreflect"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "deriving"
  dpdgraph-test:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (dpdgraph-test)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"dpdgraph-test\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "dpdgraph-test"
  equations:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (equations)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"equations\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "equations"
  fcsl-pcm:
    needs:
    - coq
    - mathcomp-algebra
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (fcsl-pcm)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"fcsl-pcm\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-algebra'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-algebra"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "fcsl-pcm"
  flocq:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (flocq)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"flocq\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "flocq"
  hierarchy-builder:
    needs:
    - rocq-core
    - rocq-elpi
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (hierarchy-builder)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"hierarchy-builder\" \\\n   --dry-run 2> err >
        out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: rocq-core'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-core"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: rocq-elpi'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-elpi"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
  http:
    needs:
    - coq
    - QuickChick
    - async-test
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (http)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"http\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: QuickChick'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "QuickChick"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: async-test'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "async-test"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "http"
  itree-io:
    needs:
    - coq
    - ITree
    - simple-io
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (itree-io)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"itree-io\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: ITree'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "ITree"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: simple-io'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "simple-io"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "itree-io"
  json:
    needs:
    - coq
    - parsec
    - MenhirLib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (json)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"json\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: parsec'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "parsec"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: MenhirLib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "MenhirLib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "json"
  kami:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (kami)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"kami\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "kami"
  math-classes:
    needs:
    - coq
    - bignums
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (math-classes)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"math-classes\" \\\n   --dry-run 2> err > out ||
        (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: bignums'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "bignums"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "math-classes"
  mathcomp:
    needs:
    - coq
    - mathcomp-character
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-character'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-character"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp"
  mathcomp-algebra:
    needs:
    - coq
    - mathcomp-order
    - mathcomp-fingroup
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-algebra)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-algebra\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-order'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-order"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-fingroup'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-fingroup"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-algebra"
  mathcomp-algebra-tactics:
    needs:
    - coq
    - mathcomp-ssreflect
    - mathcomp-algebra
    - coq-elpi
    - mathcomp-zify
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-algebra-tactics)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-algebra-tactics\" \\\n   --dry-run 2>
        err > out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"\
        Error: getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-ssreflect'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-ssreflect"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-algebra'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-algebra"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq-elpi'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq-elpi"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-zify'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-zify"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-algebra-tactics"
  mathcomp-analysis:
    needs:
    - coq
    - mathcomp-reals
    - mathcomp-field
    - mathcomp-bigenough
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-analysis)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-analysis\" \\\n   --dry-run 2> err >
        out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-reals'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-reals"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-field'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-field"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-bigenough'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-bigenough"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-analysis"
  mathcomp-analysis-stdlib:
    needs:
    - coq
    - mathcomp-analysis
    - mathcomp-reals-stdlib
    - stdlib
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-analysis-stdlib)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-analysis-stdlib\" \\\n   --dry-run 2>
        err > out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"\
        Error: getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-analysis'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-analysis"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-reals-stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-reals-stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-analysis-stdlib"
  mathcomp-bigenough:
    needs:
    - coq
    - mathcomp-boot
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-bigenough)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-bigenough\" \\\n   --dry-run 2> err >
        out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-boot'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-bigenough"
  mathcomp-boot:
    needs:
    - coq
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-boot)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-boot\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
  mathcomp-character:
    needs:
    - coq
    - mathcomp-field
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-character)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-character\" \\\n   --dry-run 2> err >
        out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-field'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-field"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-character"
  mathcomp-classical:
    needs:
    - coq
    - mathcomp-ssreflect
    - mathcomp-algebra
    - mathcomp-finmap
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-classical)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-classical\" \\\n   --dry-run 2> err >
        out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-ssreflect'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-ssreflect"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-algebra'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-algebra"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-finmap'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-finmap"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-classical"
  mathcomp-field:
    needs:
    - coq
    - mathcomp-solvable
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-field)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-field\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-solvable'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-solvable"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-field"
  mathcomp-fingroup:
    needs:
    - coq
    - mathcomp-boot
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-fingroup)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-fingroup\" \\\n   --dry-run 2> err >
        out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-boot'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-fingroup"
  mathcomp-finmap:
    needs:
    - coq
    - mathcomp-boot
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-finmap)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-finmap\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-boot'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-finmap"
  mathcomp-order:
    needs:
    - coq
    - mathcomp-boot
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-order)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-order\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-boot'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-order"
  mathcomp-reals:
    needs:
    - coq
    - mathcomp-classical
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-reals)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-reals\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-classical'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-classical"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-reals"
  mathcomp-reals-stdlib:
    needs:
    - coq
    - mathcomp-reals
    - stdlib
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-reals-stdlib)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-reals-stdlib\" \\\n   --dry-run 2> err
        > out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-reals'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-reals"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-reals-stdlib"
  mathcomp-solvable:
    needs:
    - coq
    - mathcomp-algebra
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-solvable)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-solvable\" \\\n   --dry-run 2> err >
        out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-algebra'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-algebra"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-solvable"
  mathcomp-ssreflect:
    needs:
    - coq
    - mathcomp-boot
    - mathcomp-order
    - hierarchy-builder
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-ssreflect)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-ssreflect\" \\\n   --dry-run 2> err >
        out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-boot'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-order'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-order"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: hierarchy-builder'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "hierarchy-builder"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-ssreflect"
  mathcomp-word:
    needs:
    - coq
    - mathcomp-algebra
    - mathcomp-ssreflect
    - mathcomp-fingroup
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-word)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-word\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-algebra'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-algebra"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-ssreflect'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-ssreflect"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-fingroup'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-fingroup"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-word"
  mathcomp-zify:
    needs:
    - coq
    - mathcomp-boot
    - mathcomp-algebra
    - mathcomp-fingroup
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mathcomp-zify)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mathcomp-zify\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-boot'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-algebra'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-algebra"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-fingroup'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-fingroup"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-zify"
  mtac2:
    needs:
    - coq
    - unicoq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (mtac2)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"mtac2\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: unicoq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "unicoq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mtac2"
  neural-net-coq-interp:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (neural-net-coq-interp)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"neural-net-coq-interp\" \\\n   --dry-run 2> err
        > out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "neural-net-coq-interp"
  paco:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (paco)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"paco\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "paco"
  paramcoq-test:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (paramcoq-test)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"paramcoq-test\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "paramcoq-test"
  parsec:
    needs:
    - coq
    - ceres
    - ExtLib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (parsec)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"parsec\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: ceres'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "ceres"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: ExtLib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "ExtLib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "parsec"
  quickchick-test:
    needs:
    - coq
    - QuickChick
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (quickchick-test)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"quickchick-test\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: QuickChick'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "QuickChick"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "quickchick-test"
  relation-algebra:
    needs:
    - coq
    - aac-tactics
    - mathcomp-boot
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (relation-algebra)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"relation-algebra\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: aac-tactics'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "aac-tactics"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: mathcomp-boot'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "mathcomp-boot"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "relation-algebra"
  rocq-core:
    needs: []
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (rocq-core)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"rocq-core\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-core"
  rocq-elpi:
    needs:
    - rocq-core
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (rocq-elpi)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"rocq-elpi\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: rocq-core'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-core"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-elpi"
  rocq-elpi-test:
    needs:
    - rocq-core
    - rocq-elpi
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (rocq-elpi-test)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"rocq-elpi-test\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: rocq-core'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-core"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: rocq-elpi'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-elpi"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-elpi-test"
  rocq-lean-import:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (rocq-lean-import)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"rocq-lean-import\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-lean-import"
  simple-io:
    needs:
    - coq
    - ExtLib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (simple-io)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"simple-io\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: ExtLib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "ExtLib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "simple-io"
  smtcoq:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (smtcoq)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"smtcoq\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "smtcoq"
  stalmarck:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (stalmarck)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"stalmarck\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stalmarck"
  stalmarck-tactic:
    needs:
    - coq
    - stalmarck
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (stalmarck-tactic)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"stalmarck-tactic\" \\\n   --dry-run 2> err > out
        || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stalmarck'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stalmarck"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stalmarck-tactic"
  stdlib:
    needs:
    - rocq-core
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (stdlib)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"stdlib\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: rocq-core'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-core"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
  stdlib-refman-html:
    needs:
    - rocq-core
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (stdlib-refman-html)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"stdlib-refman-html\" \\\n   --dry-run 2> err >
        out || (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error:
        getting derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: rocq-core'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "rocq-core"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib-refman-html"
  stdpp:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (stdpp)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"stdpp\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdpp"
  tlc:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (tlc)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"tlc\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "tlc"
  unicoq:
    needs:
    - coq
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (unicoq)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"unicoq\" \\\n   --dry-run 2> err > out || (touch
        fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting derivation
        failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "unicoq"
  waterproof:
    needs:
    - coq
    - stdlib
    runs-on: ubuntu-latest
    steps:
    - name: Determine which commit to initially checkout
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"target_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  echo \"target_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.target_commit }}
    - name: Determine which commit to test
      run: "if [ ${{ github.event_name }} = \"push\" ]; then\n  echo \"tested_commit=${{
        github.sha }}\" >> $GITHUB_ENV\nelse\n  merge_commit=$(git ls-remote ${{ github.event.repository.html_url
        }} refs/pull/${{ github.event.number }}/merge | cut -f1)\n  mergeable=$(git
        merge --no-commit --no-ff ${{ github.event.pull_request.base.sha }} > /dev/null
        2>&1; echo $?; git merge --abort > /dev/null 2>&1 || true)\n  if [ -z \"$merge_commit\"\
        \ -o \"x$mergeable\" != \"x0\" ]; then\n    echo \"tested_commit=${{ github.event.pull_request.head.sha
        }}\" >> $GITHUB_ENV\n  else\n    echo \"tested_commit=$merge_commit\" >> $GITHUB_ENV\n\
        \  fi\nfi\n"
    - name: Git checkout
      uses: actions/checkout@v6
      with:
        fetch-depth: 0
        ref: ${{ env.tested_commit }}
    - name: Cachix install
      uses: cachix/install-nix-action@v31
      with:
        nix_path: nixpkgs=channel:nixpkgs-unstable
    - name: Cachix setup coq
      uses: cachix/cachix-action@v16
      with:
        authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
        extraPullNames: coq-community, math-comp
        name: coq
    - id: stepGetDerivation
      name: Getting derivation for current job (waterproof)
      run: "NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link \\\n   --argstr bundle
        \"rocq-9.2\" --argstr job \"waterproof\" \\\n   --dry-run 2> err > out ||
        (touch fail; true)\ncat out err\nif [ -e fail ]; then echo \"Error: getting
        derivation failed\"; exit 1; fi\n"
    - id: stepCheck
      name: Checking presence of CI target for current job
      run: "if $(cat out err | grep -q \"built:\") ; then\n  echo \"CI target needs
        actual building\"\n  if $(cat out err | grep -q \"derivations will be built:\"\
        ) ; then\n    echo \"waiting a bit for derivations that should be in cache\"\
        \n    sleep 30\n  fi\nelse\n  echo \"CI target already built\"\n  echo \"\
        status=fetched\" >> $GITHUB_OUTPUT\nfi\n"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: coq'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "coq"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: 'Building/fetching previous CI target: stdlib'
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "stdlib"
    - if: steps.stepCheck.outputs.status != 'fetched'
      name: Building/fetching current CI target
      run: NIXPKGS_ALLOW_UNFREE=1 nix-build --no-out-link --argstr bundle 
        "rocq-9.2" --argstr job "waterproof"
name: Nix CI for bundle rocq-9.2
on:
  pull_request:
    paths:
    - .github/workflows/nix-action-rocq-9.2.yml
  pull_request_target:
    paths-ignore:
    - .github/workflows/nix-action-rocq-9.2.yml
    types:
    - opened
    - synchronize
    - reopened
  push:
    branches:
    - master
