Bump undici from 7.25.0 to 7.28.0 in /client #2131
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| on: | |
| push: | |
| branches: [ main, coq-master ] | |
| tags: | |
| - "v*.*.*" | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| build-extension: | |
| strategy: | |
| matrix: | |
| os: [macos-latest, ubuntu-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install Node.js | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: 22.x | |
| - run: | | |
| cd client | |
| npm run package | |
| nix-dev-build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| coq: [8-18, 8-19, 8-20, 9, 9-1, master] | |
| profile: [dev] | |
| include: | |
| - profile: fatalwarnings | |
| coq: master | |
| os: ubuntu-latest | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Configure Dune | |
| run: | | |
| mkdir -p ~/.config/dune | |
| cat <<EOF > ~/.config/dune/config | |
| (lang dune 3.2) | |
| (display short) | |
| EOF | |
| - uses: cachix/install-nix-action@v31 | |
| with: | |
| nix_path: nixpkgs=channel:nixos-unstable | |
| - name: Check each yarn.nix up to date | |
| if: false | |
| run: | | |
| cd client && nix-shell -p yarn2nix --run "yarn2nix > new_yarn.nix" | |
| cd goal-view-ui && nix-shell -p yarn2nix --run "yarn2nix > new_yarn.nix" | |
| cd ../search-ui && nix-shell -p yarn2nix --run "yarn2nix > new_yarn.nix" && cd .. | |
| nix fmt new_yarn.nix goal-view-ui/new_yarn.nix search-ui/new_yarn.nix | |
| nix fmt yarn.nix goal-view-ui/yarn.nix search-ui/yarn.nix | |
| diff new_yarn.nix yarn.nix | |
| diff goal-view-ui/new_yarn.nix goal-view-ui/yarn.nix | |
| diff search-ui/new_yarn.nix search-ui/yarn.nix | |
| - run: nix develop .#vsrocq-${{ matrix.coq }} -c bash -c "cd language-server && make dune-files && dune build --profile ${{ matrix.profile }}" | |
| if: ${{matrix.coq != 9}} | |
| - run: nix develop .#vsrocq-${{ matrix.coq }} -c bash -c "cd language-server && make dune-files && dune build --profile ${{ matrix.profile }}" | |
| if: ${{matrix.coq == 9}} | |
| - run: nix develop .#vsrocq-${{ matrix.coq }} -c bash -c "cd client && npm install && npm run build --workspaces" | |
| - name: Test xvfb | |
| uses: Wandalen/wretry.action@v3 | |
| with: | |
| attempt_limit: 5 | |
| attempt_delay: 5000 | |
| command: | | |
| xvfb-run nix develop .#vsrocq-${{ matrix.coq }} -c bash -c "cd client && npm test" | |
| if: runner.os == 'Linux' | |
| - name: Test | |
| uses: Wandalen/wretry.action@v3 | |
| with: | |
| attempt_limit: 5 | |
| attempt_delay: 5000 | |
| command: | | |
| nix develop .#vsrocq-${{ matrix.coq }} -c bash -c "cd client && npm test" | |
| if: runner.os != 'Linux' | |
| - if: ${{ failure() }} | |
| run: cat /tmp/vsrocq_init_log.* | |
| install-opam: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest] | |
| ocaml-compiler: [4.14.2] | |
| coq: [8.18.0, 8.19.0, 8.20.0, 9.0.0, 9.1.1, 9.2.0, dev] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Use OCaml ${{ matrix.ocaml-compiler }} | |
| uses: avsm/setup-ocaml@v3 | |
| with: | |
| ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
| - name: Install vsrocq-language-server | |
| env: | |
| OPAMYES: true | |
| run: | | |
| if [ "${{ matrix.coq }}" = "dev" ]; then | |
| opam repo add rocq-core-dev https://rocq-prover.org/opam/core-dev | |
| opam install rocq-core.dev | |
| else | |
| if [ "${{ startsWith(matrix.coq,'8') }}" = "true" ]; then | |
| opam pin add coq-core ${{ matrix.coq }} | |
| opam pin add coq-stdlib ${{ matrix.coq }} | |
| else | |
| opam pin add rocq-core ${{ matrix.coq }} | |
| fi | |
| fi | |
| opam pin add vsrocq-language-server ./language-server/ --with-doc --with-test -y | |
| - run: | | |
| eval $(opam env) | |
| echo "vsrocqtop=`which vsrocqtop`" >> $GITHUB_ENV | |
| vsrocqtop -v | |
| - uses: actions/setup-node@v3 | |
| if: runner.os == 'Linux' | |
| with: | |
| node-version: 22 | |
| - run: cd client && npm run package | |
| if: runner.os == 'Linux' | |
| - run: | | |
| eval $(opam env) && cd client && xvfb-run npm test | |
| if: runner.os == 'Linux' | |
| env: | |
| VSROCQPATH: ${{ env.vsrocqtop }} | |
| VSROCQARGS: "-bt" | |
| - if: runner.os == 'Linux' && failure() | |
| run: cat /tmp/vsrocq_init_log.* | |
| install-windows: | |
| if: false | |
| runs-on: windows-latest | |
| steps: | |
| - name: Set git to use LF | |
| run: | | |
| git config --global core.autocrlf false | |
| git config --global core.eol lf | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Build language server | |
| run: .\language-server\build-windows-platform.bat | |
| env: | |
| COQ_VERSION: V8.18+rc1 | |
| - run: C:\ci\cygwin64\bin\bash.exe --login -c 'echo vsrocqtop=$(cygpath -m $(which vsrocqtop))' >> $Env:GITHUB_ENV | |
| - uses: actions/setup-node@v3 | |
| with: | |
| node-version: 22 | |
| - run: cd client && npm run package && npm test | |
| env: | |
| VSROCQPATH: ${{ env.vsrocqtop }} | |
| VSROCQARGS: "-bt" | |
| dev-setup-opam: | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest] | |
| ocaml-compiler: [4.14.x] | |
| profile: [dev, fatalwarnings] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Use OCaml ${{ matrix.ocaml-compiler }} | |
| uses: avsm/setup-ocaml@v3 | |
| with: | |
| ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
| - name: Install deps | |
| env: | |
| OPAMYES: true | |
| run: | | |
| opam repo add rocq-core-dev https://rocq-prover.org/opam/core-dev | |
| opam install dune | |
| opam install rocq-core=dev | |
| opam install ./language-server/vsrocq-language-server.opam --deps-only --with-doc --with-test --ignore-constraints-on dune | |
| - name: Build vsrocq-language-server | |
| run: | | |
| eval $(opam env) | |
| cd language-server && make ${{ matrix.profile }} | |
| - name: Unit tests | |
| run: | | |
| eval $(opam env) | |
| cd language-server && make test | |
| - uses: actions/setup-node@v3 | |
| with: | |
| node-version: 22 | |
| - run: | | |
| eval $(opam env) | |
| echo vsrocqlib="$( echo -n "-coqlib "; (rocq -where || coqc -where) 2>/dev/null )" >> $GITHUB_ENV | |
| - run: cd client && npm install && npm run build --workspaces | |
| - run: cd client && xvfb-run npm test | |
| env: | |
| VSROCQARGS: "${{ env.vsrocqlib }}" | |
| - if: ${{ failure() }} | |
| run: cat /tmp/vsrocq_init_log.* | |
| create-release: | |
| runs-on: ubuntu-latest | |
| needs: [build-extension, nix-dev-build, install-opam, dev-setup-opam] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Inject slug/short variables | |
| uses: rlespinasse/github-slug-action@v4 | |
| - name: Create language-server archive | |
| run: | | |
| cd language-server | |
| VERSION="${GITHUB_REF_NAME_SLUG#v}" | |
| git archive -o ../vsrocq-language-server-$VERSION.tar.gz --prefix=vsrocq-language-server-$VERSION/ $GITHUB_SHA . | |
| - name: Release | |
| uses: softprops/action-gh-release@v1 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| with: | |
| files: vsrocq-language-server-*.tar.gz | |
| fail_on_unmatched_files: true | |
| draft: true | |
| prerelease: false | |
| generate_release_notes: true | |
| publish-extension: | |
| runs-on: ubuntu-latest | |
| if: success() | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install Node.js | |
| uses: actions/setup-node@v3 | |
| with: | |
| node-version: 22.x | |
| - name: Pre publish phase | |
| run: | | |
| cd client | |
| npm run package | |
| - name: Publish to Open VSX Registry | |
| uses: HaaLeo/publish-vscode-extension@v1.6.2 | |
| id: publishToOpenVSX | |
| with: | |
| pat: 'stub' | |
| packagePath: ./client/ | |
| preRelease: false | |
| dryRun: true | |
| - name: Publish to Visual Studio Marketplace | |
| uses: HaaLeo/publish-vscode-extension@v1.6.2 | |
| with: | |
| pat: 'stub' | |
| packagePath: ./client/ | |
| registryUrl: https://marketplace.visualstudio.com | |
| extensionFile: ${{ steps.publishToOpenVSX.outputs.vsixPath }} | |
| preRelease: false | |
| dryRun: true |