Issue #94: Log to verify we have the native library in the kotlin res… #22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
pull_request: | |
env: | |
CARGO_TERM_COLOR: always | |
RUSTFLAGS: "-Dwarnings" | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Init Hermit | |
uses: cashapp/activate-hermit@v1 | |
with: | |
cache: true | |
- name: Setup | |
run: just setup | |
- name: Build | |
run: just build | |
test: | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] # TODO add back windows-latest https://github.com/TBD54566975/tbdex-rs/issues/44 | |
rust: [ stable, nightly ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Init Hermit | |
uses: cashapp/activate-hermit@v1 | |
with: | |
cache: true | |
- name: Setup | |
run: just setup | |
- name: Test | |
run: just test | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Init Hermit | |
uses: cashapp/activate-hermit@v1 | |
with: | |
cache: true | |
- name: Setup | |
run: just setup | |
- name: Lint | |
run: just lint | |
kt-test: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Init Hermit | |
uses: cashapp/activate-hermit@v1 | |
with: | |
cache: true | |
- name: Setup | |
run: just setup | |
- name: Build and Test Kotlin Project | |
working-directory: bound/kt | |
run: | | |
mkdir -p test-results | |
mvn test | |
- name: Upload Kotlin Test Results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: kotlin-test-results | |
path: bound/kt/target/surefire-reports/*.xml | |
rust-test: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Init Hermit | |
uses: cashapp/activate-hermit@v1 | |
with: | |
cache: true | |
- name: Setup | |
run: just setup | |
- name: Install Nextest | |
run: cargo install cargo-nextest | |
- name: Create nextest.toml | |
run: | | |
echo '[profile.ci.junit]' > nextest.toml | |
echo 'path = "junit.xml"' >> nextest.toml | |
echo 'store-success-output = true' >> nextest.toml | |
echo 'store-failure-output = true' >> nextest.toml | |
- name: Run Rust Tests | |
run: | | |
mkdir -p test-results | |
cargo nextest run --profile ci --config-file ./nextest.toml | |
- name: Modify testsuite name in XML for test runner consumption | |
run: | | |
sed -i '' 's/<testsuite name="tbdex"/<testsuite name="TbdexTestVectorsProtocolTest"/' target/nextest/ci/junit.xml | |
- name: Move Test Results | |
run: mv target/nextest/ci/junit.xml test-results/rust-test-results.xml | |
- name: Upload Rust Test Results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: rust-test-results | |
path: test-results/rust-test-results.xml |