You've already forked wit-bindgen
mirror of
https://github.com/AdaCore/wit-bindgen.git
synced 2026-02-12 13:12:42 -08:00
Per #495, Maven has proven quite unreliable for the past few weeks, so now we download and execute the relevant TeaVM jars directly, which should be more reliable. This also fixes the lift-lower-foreign.wit codegen test for Java. Signed-off-by: Joel Dice <joel.dice@fermyon.com>
82 lines
2.5 KiB
YAML
82 lines
2.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
# Cancel any in-flight jobs for the same PR/branch so there's only one active
|
|
# at a time
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
name: Test
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install Rust
|
|
run: rustup update stable --no-self-update && rustup default stable
|
|
- name: Install wasm32-unknown-unknown target
|
|
run: rustup target add wasm32-unknown-unknown
|
|
- name: Install wasm32-wasi target
|
|
run: rustup target add wasm32-wasi
|
|
|
|
- run: |
|
|
curl https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-linux.tar.gz -L | tar xzvf -
|
|
echo "WASI_SDK_PATH=`pwd`/wasi-sdk-16.0" >> $GITHUB_ENV
|
|
if : matrix.os == 'ubuntu-latest'
|
|
- run: |
|
|
curl https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-macos.tar.gz -L | tar xzvf -
|
|
echo "WASI_SDK_PATH=`pwd`/wasi-sdk-16.0" >> $GITHUB_ENV
|
|
if : matrix.os == 'macos-latest'
|
|
- run: |
|
|
curl https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-mingw.tar.gz -L | tar xzvf -
|
|
echo "WASI_SDK_PATH=`pwd`/wasi-sdk-16.0" >> $GITHUB_ENV
|
|
if : matrix.os == 'windows-latest'
|
|
|
|
- run: ci/download-teavm.sh
|
|
|
|
- uses: actions/setup-node@v2
|
|
with:
|
|
node-version: '16'
|
|
- uses: actions/setup-java@v3
|
|
with:
|
|
java-version: '18'
|
|
distribution: 'adopt'
|
|
- uses: actions/setup-go@v3
|
|
with:
|
|
go-version: '1.20'
|
|
- uses: acifani/setup-tinygo@v1
|
|
with:
|
|
tinygo-version: 0.27.0
|
|
- run: cargo test --workspace
|
|
- run: cargo build
|
|
- run: cargo build --no-default-features
|
|
- run: cargo build --no-default-features --features rust
|
|
- run: cargo build --no-default-features --features c
|
|
- run: cargo build --no-default-features --features teavm-java
|
|
- run: cargo build --no-default-features --features go
|
|
- run: cargo build --no-default-features --features markdown
|
|
|
|
|
|
rustfmt:
|
|
name: Rustfmt
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install Rust
|
|
run: rustup update stable && rustup default stable && rustup component add rustfmt
|
|
- name: Format source code
|
|
run: cargo fmt -- --check
|