v0.7.0 #246
This file contains hidden or 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: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| env: | |
| RUSTFLAGS: -Dwarnings | |
| DOCS_FASTLY_API_TOKEN: ${{ secrets.DOCS_FASTLY_API_TOKEN }} | |
| DOCS_FASTLY_SERVICE_ID: ${{ vars.DOCS_FASTLY_SERVICE_ID }} | |
| DOCS_FASTLY_KVSTORE_NAME: ${{ vars.DOCS_FASTLY_KVSTORE_NAME }} | |
| RUST_TOOLCHAIN: "1.96.0" | |
| WASI_SDK_VERSION: 33 | |
| jobs: | |
| rustfmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| components: rustfmt | |
| toolchain: "${{ env.RUST_TOOLCHAIN }}" | |
| - name: Check Rust Format | |
| run: cargo fmt --all -- --check | |
| clippy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| components: clippy | |
| toolchain: "${{ env.RUST_TOOLCHAIN }}" | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| target: wasm32-wasip1 | |
| toolchain: "${{ env.RUST_TOOLCHAIN }}" | |
| - name: Install WASI SDK | |
| uses: konsumer/install-wasi-sdk@v1 | |
| with: | |
| version: ${{ env.WASI_SDK_VERSION }} | |
| - name: Run clippy | |
| run: cargo clippy --all -- -D warnings | |
| clangfmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install WASI SDK | |
| uses: konsumer/install-wasi-sdk@v1 | |
| with: | |
| version: ${{ env.WASI_SDK_VERSION }} | |
| - name: Check C++ Format | |
| run: /opt/wasi-sdk/bin/clang-format --dry-run --Werror include/**/*.h src/**/*.h src/**/*.cpp | |
| test: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| toolchain: "${{ env.RUST_TOOLCHAIN }}" | |
| - name: Install Viceroy | |
| run: cargo install viceroy --locked | |
| - name: Install WASI SDK | |
| uses: konsumer/install-wasi-sdk@v1 | |
| with: | |
| version: ${{ env.WASI_SDK_VERSION }} | |
| - uses: extractions/setup-just@v3 | |
| - uses: actions-rust-lang/setup-rust-toolchain@v1 | |
| with: | |
| target: wasm32-wasip1 | |
| toolchain: "${{ env.RUST_TOOLCHAIN }}" | |
| - name: Build WebAssembly module | |
| run: just | |
| - name: Run tests | |
| run: just test | |
| - name: Install Doxygen | |
| uses: ssciwr/doxygen-install@v1 | |
| with: | |
| version: "1.14.0" | |
| - name: Build docs | |
| run: just docs | |
| - name: Deploy docs | |
| if: github.ref == 'refs/heads/main' | |
| env: | |
| FASTLY_API_TOKEN: ${{ env.DOCS_FASTLY_API_TOKEN }} | |
| run: | | |
| npx -y @fastly/compute-js-static-publish@7 --root-dir=./docs --output=./docs-compute-cpp --service-id=${{ env.DOCS_FASTLY_SERVICE_ID }} --kv-store-name=${{ env.DOCS_FASTLY_KVSTORE_NAME }} | |
| cd ./docs-compute-cpp | |
| npm install | |
| npm run fastly:publish |