Skip to content

wasi component of l3_fn_build #143

wasi component of l3_fn_build

wasi component of l3_fn_build #143

Workflow file for this run

name: Verify
on:
push:
branches: [ '*' ]
paths:
- .github/workflows/verify.yml
- fn_*/**/*
- l3_*/**/*
- Cargo.*
pull_request:
branches: [ '*' ]
workflow_call:
workflow_dispatch:
jobs:
verify:
runs-on: ubuntu-latest
needs:
- build-l3-cli-linux-and-macos
- build-l3-cli-windows
- build-l3-fn-build-wasm
- examples
- fmt
- lint
- test
- test-node-runtime-fixtures
steps:
- run: echo "We're gonna face it"
build-l3-cli-linux-and-macos:
name: "build ${{ matrix.filename}}"
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- filename: l3-linux-x86_64
runner: ubuntu-24.04
target: x86_64-unknown-linux-gnu
- filename: l3-linux-aarch64
runner: ubuntu-24.04
target: aarch64-unknown-linux-gnu
apt_package_linker: gcc-aarch64-linux-gnu
- filename: l3-macos-x86_64
runner: macos-latest
target: x86_64-apple-darwin
- filename: l3-macos-aarch64
runner: macos-latest
target: aarch64-apple-darwin
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.tag_name }}
- if: ${{ matrix.apt_package_linker }}
run: |
sudo apt update && sudo apt install ${{ matrix.apt_package_linker }}
mkdir -p $HOME/.cargo
mv ./.github/workflows/linkers.toml $HOME/.cargo/config.toml
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- run: rustup target add ${{ matrix.target }}
- name: build
run: cargo build --release --target ${{ matrix.target }}
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.filename }}
path: target/${{ matrix.target }}/release/l3
build-l3-cli-windows:
name: "build ${{ matrix.filename}}"
runs-on: windows-2022
strategy:
matrix:
include:
- filename: l3-windows-aarch64.exe
target: aarch64-pc-windows-msvc
- filename: l3-windows-x86_64.exe
target: x86_64-pc-windows-msvc
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.tag_name }}
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- run: rustup target add ${{ matrix.target }}
- name: build
shell: powershell
run: cargo build -p l3_cli --release --target ${{ matrix.target }}
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.filename }}
path: target/${{ matrix.target }}/release/l3
build-l3-fn-build-wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- run: rustup target add wasm32-wasip2
- name: cargo build
run: cargo build --all-features --release -p l3_fn_build_wasm --target wasm32-wasip2
- uses: actions/upload-artifact@v4
with:
name: l3-fn-build.wasm
path: target/wasm32-wasip2/release/l3_fn_build.wasm
examples:
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
runs-on: [macos-latest, ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- name: cargo build
run: |
cargo run --example build_fn
cargo run --example parse_fn
working-directory: fn_build
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- name: cargo fmt
run: cargo fmt --all -v
- run: git diff --exit-code
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- run: cargo clippy --all -- -D warnings
if: github.ref == 'refs/heads/main'
- run: cargo clippy --all
if: github.ref != 'refs/heads/main'
continue-on-error: true
test:
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
runs-on: [macos-latest, ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- name: cargo test
run: cargo test --workspace
test-node-runtime-fixtures:
runs-on: ${{ matrix.runs_on }}
continue-on-error: true
strategy:
matrix:
node_version: [18, 20, 22, 23]
runs_on: [macos-latest, ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node_version }}
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- name: cargo test
run: cargo test -p l3_fn_build testing::test_node_fixtures
test-cli-build-all:
runs-on: ${{ matrix.runs_on }}
continue-on-error: true
strategy:
matrix:
runs_on: [macos-latest, ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- run: cargo install --path l3_cli
- run: l3 build --all
working-directory: fn_build/fixtures/node/js/http_routes/get_fn