mirror of
https://github.com/xazukx/ts-rs.git
synced 2026-08-23 12:58:33 +00:00
144 lines
5.2 KiB
YAML
144 lines
5.2 KiB
YAML
on: [push, pull_request]
|
|
name: Test
|
|
jobs:
|
|
e2e-dependencies:
|
|
name: Run 'dependencies' end-to-end test
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: rui314/setup-mold@v1
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: dependencies e2e test
|
|
working-directory: e2e/dependencies/consumer
|
|
run: |
|
|
cargo t
|
|
tsc bindings/* --noEmit --noUnusedLocals --strict
|
|
- name: dependencies e2e test with default export env
|
|
working-directory: e2e/dependencies/consumer
|
|
run: |
|
|
TS_RS_EXPORT_DIR=custom-bindings cargo t
|
|
shopt -s globstar
|
|
tsc custom-bindings/**/*.ts --noEmit --noUnusedLocals --strict
|
|
e2e-workspace:
|
|
name: Run 'workspace' end-to-end test
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: rui314/setup-mold@v1
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: workspace e2e test
|
|
working-directory: e2e/workspace
|
|
run: |
|
|
cargo t
|
|
shopt -s globstar
|
|
tsc parent/bindings/**/*.ts --noEmit --noUnusedLocals --strict
|
|
rm -rf parent/bindings
|
|
- name: workspace e2e with default export env
|
|
working-directory: e2e/workspace
|
|
run: |
|
|
TS_RS_EXPORT_DIR=custom-bindings cargo t
|
|
shopt -s globstar
|
|
tsc parent/custom-bindings/**/*.ts --noEmit --noUnusedLocals --strict
|
|
rm -rf parent/custom-bindings
|
|
e2e-example:
|
|
name: End-to-end test example
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: rui314/setup-mold@v1
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: example e2e test
|
|
working-directory: example
|
|
run: |
|
|
cargo t
|
|
tsc bindings/* --noEmit
|
|
- name: example e2e with default export env
|
|
working-directory: example
|
|
run: |
|
|
TS_RS_EXPORT_DIR=custom-bindings cargo t
|
|
shopt -s globstar
|
|
tsc custom-bindings/**/*.ts --noEmit --noUnusedLocals --strict
|
|
|
|
readme-up-to-date:
|
|
name: Check that README.md is up-to-date
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: rui314/setup-mold@v1
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Check that README.md is up-to-date
|
|
working-directory: ts-rs
|
|
run: |
|
|
cargo install cargo-readme
|
|
diff -u ../README.md <(cargo readme)
|
|
|
|
test-all-features:
|
|
name: Test ts-rs with --all-features
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: rui314/setup-mold@v1
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Test
|
|
run: |
|
|
cargo test --all-features
|
|
shopt -s globstar
|
|
tsc ts-rs/bindings/**/*.ts --noEmit --noUnusedLocals --strict
|
|
rm -rf ts-rs/bindings
|
|
|
|
test-export-env:
|
|
name: Test ts-rs with TS_RS_EXPORT_DIR
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: rui314/setup-mold@v1
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Test
|
|
run: |
|
|
TS_RS_EXPORT_DIR=output cargo test --no-default-features
|
|
shopt -s globstar
|
|
tsc ts-rs/output/**/*.ts --noEmit --noUnusedLocals --strict
|
|
rm -rf ts-rs/output
|
|
|
|
test-no-features:
|
|
name: Test ts-rs with --no-default-features
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: rui314/setup-mold@v1
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@v2
|
|
- name: Test
|
|
run: |
|
|
cargo test --no-default-features
|
|
shopt -s globstar
|
|
tsc ts-rs/bindings/**/*.ts --noEmit --noUnusedLocals
|
|
rm -rf ts-rs/bindings
|