Files
wit-bindgen/.github/workflows/main.yml
Joel Dice eeba5da107 remove use of Maven in Java tests (#520)
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>
2023-02-23 09:24:23 -06:00

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