Skip to content

feat: Wasm modules #2062

feat: Wasm modules

feat: Wasm modules #2062

Workflow file for this run

name: ci
on: [push, pull_request]
jobs:
rust:
name: deno_graph-${{ matrix.os }}
if: |
(github.event_name == 'push' || !startsWith(github.event.pull_request.head.label, 'denoland:'))
&& github.ref_name != 'deno_registry'
&& !startsWith(github.ref, 'refs/tags/deno/')
runs-on: ${{ matrix.os }}
permissions:
contents: read
id-token: write
timeout-minutes: 30
strategy:
matrix:
os: [macOS-latest, ubuntu-latest, windows-2019]
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: full
RUSTFLAGS: -D warnings
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Install rust
uses: dsherret/rust-toolchain-file@v1
- uses: Swatinem/rust-cache@v2
with:
save-if: ${{ github.ref == 'refs/heads/main' }}
- name: Install up 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: Clippy
if: contains(matrix.os, 'ubuntu')
run: cargo clippy --locked --all-features --all-targets -- -D clippy::all
- name: Cargo Build
run: cargo build --locked --all-features --all-targets
- name: Cargo Test
run: cargo test --locked --all-features --all-targets
# ensure we build with no default features, but only bother testing on linux
- name: Cargo Build (no-default-features)
if: contains(matrix.os, 'ubuntu')
run: cargo build --locked --no-default-features
- name: Build Wasm
run: deno task build
- name: Lint JS
if: contains(matrix.os, 'ubuntu')
run: deno lint
- name: Test JavaScript
run: deno task test
- name: Cargo publish
if: |
contains(matrix.os, 'ubuntu') &&
github.repository == 'denoland/deno_graph' &&
startsWith(github.ref, 'refs/tags/')
env:
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
run: cargo publish
- name: Publish JSR
if: contains(matrix.os, 'ubuntu')
run: |
cd js && deno run -A jsr:@david/[email protected]