Skip to content

Add vscode-test to eslint ignore #68

Add vscode-test to eslint ignore

Add vscode-test to eslint ignore #68

name: build-artifacts
on:
push:
branches: [main]
permissions:
contents: write
env:
CARGO_TERM_COLOR: always
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
toolchain: 1.78.0
- uses: Swatinem/rust-cache@v1
- uses: actions/setup-node@v3
with:
cache: npm
cache-dependency-path: vsc/package-lock.json
node-version: 20
- name: Install just
uses: taiki-e/install-action@v2
with:
tool: just
- name: Install packages (Linux)
if: runner.os == 'Linux'
uses: awalsh128/[email protected]
with:
# Required for egui in reqlang-client
# https://github.com/emilk/egui/blob/master/.github/workflows/rust.yml#L23C7-L29C40
packages: libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libgtk-3-dev # libgtk-3-dev is used by rfd
version: 1.0
execute_install_scripts: true
- name: Build Reqlang Binaries
run: just build
- name: Verify
run: xvfb-run -a just verify
docs:
runs-on: ubuntu-latest
needs: [verify]
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
toolchain: 1.78.0
- uses: Swatinem/rust-cache@v1
- uses: actions/setup-node@v3
with:
cache: npm
cache-dependency-path: vsc/package-lock.json
node-version: 20
- name: Install just
uses: taiki-e/install-action@v2
with:
tool: just
- name: Install packages (Linux)
if: runner.os == 'Linux'
uses: awalsh128/[email protected]
with:
# Required for egui in reqlang-client
# https://github.com/emilk/egui/blob/master/.github/workflows/rust.yml#L23C7-L29C40
packages: libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libgtk-3-dev # libgtk-3-dev is used by rfd
version: 1.0
execute_install_scripts: true
- name: Build Docs
run: just build-docs
- name: Generate No Jekyll File
run: cd target/doc && touch .nojekyll
- name: Upload Docs
uses: actions/upload-artifact@v3
with:
name: reqlang-docs
path: target/doc
- name: Deploy Docs To GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: target/doc
build:
runs-on: ubuntu-latest
needs: [verify]
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
toolchain: 1.78.0
- uses: Swatinem/rust-cache@v1
- uses: actions/setup-node@v3
with:
cache: npm
cache-dependency-path: vsc/package-lock.json
node-version: 20
- name: Install just
uses: taiki-e/install-action@v2
with:
tool: just
- name: Install packages (Linux)
if: runner.os == 'Linux'
uses: awalsh128/[email protected]
with:
# Required for egui in reqlang-client
# https://github.com/emilk/egui/blob/master/.github/workflows/rust.yml#L23C7-L29C40
packages: libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev libgtk-3-dev # libgtk-3-dev is used by rfd
version: 1.0
execute_install_scripts: true
- name: Build
run: just build_release
- name: Upload CLI Binary
uses: actions/upload-artifact@v3
with:
name: reqlang
path: target/release/reqlang
- name: Upload LSP Binary
uses: actions/upload-artifact@v3
with:
name: reqlang-lsp
path: target/release/reqlang-lsp
- name: Upload Desktop App
uses: actions/upload-artifact@v3
with:
name: reqlang-client
path: target/release/reqlang-client
- name: Upload VS Code Extension Artifact
uses: actions/upload-artifact@v3
with:
name: reqlang-0.1.0.vsix
path: vsc/out/reqlang-0.1.0.vsix
build-windows:
runs-on: windows-latest
needs: [verify]
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
toolchain: 1.78.0
- uses: Swatinem/rust-cache@v1
- uses: actions/setup-node@v3
with:
cache: npm
cache-dependency-path: vsc/package-lock.json
node-version: 20
- name: Install just
uses: taiki-e/install-action@v2
with:
tool: just
- name: Build
run: just build_release
- name: Upload CLI Binary
uses: actions/upload-artifact@v3
with:
name: reqlang.exe
path: target/release/reqlang.exe
- name: Upload LSP Binary
uses: actions/upload-artifact@v3
with:
name: reqlang-lsp.exe
path: target/release/reqlang-lsp.exe
- name: Upload Desktop App
uses: actions/upload-artifact@v3
with:
name: reqlang-client.exe
path: target/release/reqlang-client.exe