fix: add Default impl for FacetPack to satisfy clippy #3
Workflow file for this run
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: | |
| pull_request: | |
| push: | |
| branches-ignore: | |
| - main | |
| env: | |
| DEBUG: napi:* | |
| APP_NAME: facetpack-native | |
| MACOSX_DEPLOYMENT_TARGET: '10.13' | |
| CARGO_INCREMENTAL: 0 | |
| CARGO_TERM_COLOR: always | |
| permissions: | |
| contents: read | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Cache Bun dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.bun/install/cache | |
| key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }} | |
| restore-keys: | | |
| ${{ runner.os }}-bun- | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Lint Rust | |
| run: cargo fmt --check | |
| working-directory: packages/facetpack-native | |
| - name: Clippy | |
| run: cargo clippy -- -D warnings | |
| working-directory: packages/facetpack-native | |
| - name: TypeScript typecheck | |
| run: bun run typecheck | |
| working-directory: packages/facetpack | |
| build: | |
| name: Build - ${{ matrix.settings.target }} | |
| runs-on: ${{ matrix.settings.host }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| settings: | |
| - host: macos-latest | |
| target: x86_64-apple-darwin | |
| build: bun run build --target x86_64-apple-darwin | |
| - host: macos-latest | |
| target: aarch64-apple-darwin | |
| build: bun run build --target aarch64-apple-darwin | |
| - host: windows-latest | |
| target: x86_64-pc-windows-msvc | |
| build: bun run build --target x86_64-pc-windows-msvc | |
| - host: ubuntu-latest | |
| target: x86_64-unknown-linux-gnu | |
| build: bun run build --target x86_64-unknown-linux-gnu | |
| - host: ubuntu-latest | |
| target: aarch64-unknown-linux-gnu | |
| build: | | |
| sudo apt-get update | |
| sudo apt-get install -y gcc-aarch64-linux-gnu | |
| export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc | |
| bun run build --target aarch64-unknown-linux-gnu | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.settings.target }} | |
| - name: Cache Cargo | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/bin/ | |
| ~/.cargo/registry/index/ | |
| ~/.cargo/registry/cache/ | |
| ~/.cargo/git/db/ | |
| packages/facetpack-native/target/ | |
| key: ${{ runner.os }}-${{ matrix.settings.target }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-${{ matrix.settings.target }}-cargo- | |
| - name: Install dependencies | |
| run: bun install | |
| working-directory: packages/facetpack-native | |
| - name: Build native | |
| run: ${{ matrix.settings.build }} | |
| working-directory: packages/facetpack-native | |
| shell: bash | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: bindings-${{ matrix.settings.target }} | |
| path: packages/facetpack-native/*.node | |
| if-no-files-found: error | |
| universal-macos: | |
| name: Build universal macOS binary | |
| runs-on: macos-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download x86_64 artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: bindings-x86_64-apple-darwin | |
| path: artifacts | |
| - name: Download aarch64 artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: bindings-aarch64-apple-darwin | |
| path: artifacts | |
| - name: Create universal binary | |
| run: | | |
| lipo -create \ | |
| artifacts/facetpack-native.darwin-x64.node \ | |
| artifacts/facetpack-native.darwin-arm64.node \ | |
| -output facetpack-native.darwin-universal.node | |
| - name: Upload universal artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: bindings-universal-apple-darwin | |
| path: facetpack-native.darwin-universal.node | |
| if-no-files-found: error | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Download Linux artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: bindings-x86_64-unknown-linux-gnu | |
| path: packages/facetpack-native | |
| - name: Verify binary exists | |
| run: ls -la packages/facetpack-native/*.node | |
| - name: Cache Bun dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.bun/install/cache | |
| key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lockb') }} | |
| restore-keys: | | |
| ${{ runner.os }}-bun- | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Build all packages | |
| run: bun run build:all | |
| - name: Test all packages | |
| run: bun run test:all | |
| test-macos: | |
| name: Test (macOS) | |
| runs-on: macos-latest | |
| needs: universal-macos | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Download universal artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: bindings-universal-apple-darwin | |
| path: packages/facetpack-native | |
| - name: Verify binary exists | |
| run: ls -la packages/facetpack-native/*.node | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Build all packages | |
| run: bun run build:all | |
| - name: Test all packages | |
| run: bun run test:all | |
| test-windows: | |
| name: Test (Windows) | |
| runs-on: windows-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Download Windows artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: bindings-x86_64-pc-windows-msvc | |
| path: packages/facetpack-native | |
| - name: Verify binary exists | |
| run: dir packages\facetpack-native\*.node | |
| - name: Install dependencies | |
| run: bun install | |
| - name: Build all packages | |
| run: bun run build:all | |
| - name: Test all packages | |
| run: bun run test:all |