name: EasyTier JavaScript Hosts on: push: branches: ["develop", "main", "releases/**"] paths: - "Cargo.toml" - "Cargo.lock" - "easytier-core/**" - "easytier-proto/**" - "easytier-js/**" - ".github/workflows/js.yml" pull_request: branches: ["develop", "main"] types: [opened, synchronize, reopened, ready_for_review] paths: - "Cargo.toml" - "Cargo.lock" - "easytier-core/**" - "easytier-proto/**" - "easytier-js/**" - ".github/workflows/js.yml" concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true permissions: contents: read jobs: check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: 1.95 target: wasm32-wasip1 cache: false rustflags: '' - uses: arduino/setup-protoc@v3 with: version: '35.1' repo-token: ${{ github.token }} - uses: actions/setup-node@v5 with: node-version: 22 - uses: pnpm/action-setup@v5 with: version: 10 run_install: false - name: Install dependencies run: pnpm --dir easytier-js install --frozen-lockfile - name: Build and test run: pnpm --dir easytier-js check