Rework wasm feature and make it work with getrandom 0.3 #452
Workflow file for this run
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: | |
pull_request: | |
branches: [ main ] | |
push: | |
branches: [ main ] | |
# 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 | |
env: | |
RUST_BACKTRACE: full | |
jobs: | |
rustfmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: rustfmt | |
- run: cargo fmt --all -- --check | |
- run: cd ${{ github.workspace }}/examples && cargo fmt --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
targets: wasm32-unknown-unknown | |
# lint the main library workspace for non-wasm target | |
- run: cargo clippy --all-features -- -D warnings | |
# lint the non-wasm examples | |
- run: cd ${{ github.workspace }}/examples && cargo clippy --workspace --exclude "wasm*" -- -D warnings | |
# lint the plotly library for wasm target | |
- run: cargo clippy --package plotly --target wasm32-unknown-unknown -- -D warnings | |
# lint the wasm examples | |
- run: cd ${{ github.workspace }}/examples && cargo clippy --target wasm32-unknown-unknown --package "wasm*" | |
semver: | |
name: semver | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check semver | |
uses: obi1kenobi/cargo-semver-checks-action@v2 | |
with: | |
package: plotly | |
feature-group: only-explicit-features | |
features: kaleido | |
rust-toolchain: stable | |
release-type: minor | |
test: | |
name: Tests | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cargo test --features plotly_ndarray,plotly_image,kaleido | |
- if: ${{ matrix.os == 'windows-latest' }} | |
run: gci -recurse -filter "*example*" | |
code-coverage: | |
name: Code Coverage | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: llvm-tools-preview | |
- uses: taiki-e/install-action@cargo-llvm-cov | |
- uses: codecov/codecov-action@v3 | |
build_examples: | |
name: Build Examples | |
strategy: | |
fail-fast: false | |
matrix: | |
example: # missing jupyter | |
[ | |
3d_charts, | |
basic_charts, | |
custom_controls, | |
financial_charts, | |
images, | |
kaleido, | |
maps, | |
ndarray, | |
scientific_charts, | |
shapes, | |
subplots, | |
] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- run: cd ${{ github.workspace }}/examples/${{ matrix.example }} && cargo build | |
build_wasm_examples: | |
name: Build Wasm Examples | |
strategy: | |
fail-fast: false | |
matrix: | |
example: [wasm-yew-minimal] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
targets: wasm32-unknown-unknown | |
- run: cd ${{ github.workspace }}/examples/${{ matrix.example }} && cargo build --target wasm32-unknown-unknown |