Skip to content

update CI

update CI #2279

Workflow file for this run

name: ci
on: [push, pull_request]
jobs:
rust:
name: deno_doc-${{ matrix.os }}
if: |
github.event_name == 'push' ||
!startsWith(github.event.pull_request.head.label, 'denoland:')
runs-on: ${{ matrix.os }}
timeout-minutes: 30
strategy:
matrix:
os: [macOS-latest, ubuntu-latest, windows-2019]
defaults:
run:
shell: bash
permissions:
contents: read
id-token: write
env:
CARGO_INCREMENTAL: 0
GH_ACTIONS: 1
RUST_BACKTRACE: full
RUSTFLAGS: -D warnings
steps:
- name: Clone repository
uses: actions/checkout@v3
with:
submodules: true
- uses: dsherret/rust-toolchain-file@v1
- uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Install Deno
uses: denoland/setup-deno@v1
with:
deno-version: canary
- name: Format
if: contains(matrix.os, 'ubuntu')
run: |
cargo fmt -- --check
deno fmt --check
- name: Lint
run: |
cargo clippy --all-targets --locked -- -D clippy::all
deno lint
- name: Tailwind Check
run: |
deno task tailwind
git diff --exit-code
- name: Build
run: deno task build && cargo build --locked --all-targets
- name: Test (no highlighter)
run: |
cargo test --locked --all-targets
deno test --allow-read --allow-net --allow-env --allow-write
- name: Test (syntect)
run: |
cargo test --locked --all-targets --features=syntect
deno test --allow-read --allow-net --allow-env --allow-write
- name: Test (tree-sitter)
run: |
cargo test --locked --all-targets --features=tree-sitter
deno test --allow-read --allow-net --allow-env --allow-write
- name: Publish
if: |
contains(matrix.os, 'ubuntu') &&
github.repository == 'denoland/deno_doc' &&
startsWith(github.ref, 'refs/tags/')
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: |
cargo publish
- name: Publish to JSR
if: contains(matrix.os, 'ubuntu')
run: cd js && deno run -A jsr:@david/[email protected] --allow-dirty