Diag channels #570
Workflow file for this run
This file contains 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 ] | |
pull_request: | |
workflow_dispatch: | |
env: | |
PIN_COQ: 51814505fdeb5bc9f11fc7bd95493f0e7397509f | |
jobs: | |
build-extension: | |
strategy: | |
matrix: | |
os: [macos-latest, ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.x | |
- run: | | |
cd client | |
yarn run package | |
nix-dev-build: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- 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@v22 | |
with: | |
nix_path: nixpkgs=channel:nixos-unstable | |
- run: nix develop .#vscoq-language-server -c bash -c "cd language-server && dune build" | |
- run: nix develop .#vscoq-client -c bash -c "cd client && yarn run install:all && yarn run build:all && yarn run compile" | |
- run: xvfb-run nix develop .#vscoq-client -c bash -c "cd client && yarn test" | |
if: runner.os == 'Linux' | |
- run: nix develop .#vscoq-client -c bash -c "cd client && yarn test" | |
if: runner.os != 'Linux' | |
install-opam: | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
ocaml-compiler: [4.14.x] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: avsm/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- name: Pin Coq | |
env: | |
OPAMYES: true | |
run: | | |
opam pin add coq-core.dev "https://github.com/coq/coq.git#$PIN_COQ" | |
opam pin add coq-stdlib.dev "https://github.com/coq/coq.git#$PIN_COQ" | |
- name: Install vscoq-language-server | |
env: | |
OPAMYES: true | |
run: | | |
opam pin add vscoq-language-server ./language-server/ --with-doc --with-test -y | |
- run: | | |
eval $(opam env) | |
echo "vscoqtop=`which vscoqtop`" >> $GITHUB_ENV | |
vscoqtop -v | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- run: cd client && yarn run package | |
- run: eval $(opam env) && cd client && xvfb-run yarn test | |
env: | |
VSCOQPATH: ${{ env.vscoqtop }} | |
VSCOQARGS: "-bt" | |
install-windows: | |
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@v3 | |
- name: Build language server | |
run: .\language-server\build-windows-platform.bat | |
- run: C:\ci\cygwin64\bin\bash.exe --login -c 'echo vscoqtop=$(cygpath -m $(which vscoqtop))' >> $Env:GITHUB_ENV | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- run: cd client && yarn run package && yarn test | |
env: | |
VSCOQPATH: ${{ env.vscoqtop }} | |
VSCOQARGS: "-bt" | |
dev-setup-opam: | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
ocaml-compiler: [4.14.x] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: avsm/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- name: Pin Coq | |
env: | |
OPAMYES: true | |
run: | | |
opam pin add coq-core.dev "https://github.com/coq/coq.git#$PIN_COQ" | |
opam pin add coq-stdlib.dev "https://github.com/coq/coq.git#$PIN_COQ" | |
- name: Install deps | |
env: | |
OPAMYES: true | |
run: | | |
opam install ./language-server/vscoq-language-server.opam --deps-only --with-doc --with-test | |
- name: Build vscoq-language-server | |
run: | | |
eval $(opam env) | |
cd language-server && dune build | |
- name: Unit tests | |
run: | | |
eval $(opam env) | |
cd language-server && dune runtest | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- run: cd client && yarn run install:all && yarn run build:all && yarn run compile | |
- run: cd client && xvfb-run yarn test | |
release-opam: | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
ocaml-compiler: [4.14.x] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Use OCaml ${{ matrix.ocaml-compiler }} | |
uses: avsm/setup-ocaml@v2 | |
with: | |
ocaml-compiler: ${{ matrix.ocaml-compiler }} | |
- name: Build release | |
run: | | |
eval $(opam env) | |
cd language-server | |
./make-release.sh | |
- name: Add released repo | |
run: | | |
eval $(opam env) | |
opam repo add release file://$PWD/language-server/_build/opam-repository | |
- name: Pin Coq | |
env: | |
OPAMYES: true | |
run: | | |
opam pin add coq-core.dev "https://github.com/coq/coq.git#$PIN_COQ" | |
opam pin add coq-stdlib.dev "https://github.com/coq/coq.git#$PIN_COQ" | |
- name: Install | |
run: | | |
eval $(opam env) | |
opam install vscoq-language-server | |
- run: | | |
eval $(opam env) | |
echo "vscoqtop=`which vscoqtop`" >> $GITHUB_ENV | |
vscoqtop -v | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- run: cd client && yarn run package | |
- run: eval $(opam env) && cd client && xvfb-run yarn test | |
env: | |
VSCOQPATH: ${{ env.vscoqtop }} | |
VSCOQARGS: "-bt" |