name: Native JavaScript checks on: push: branches: - main paths: - "native/**" - ".github/**" - "package.json" - "pnpm-lock.yaml" - "eslint.config.mjs" - "resources/css/app.css" pull_request: paths: - "native/**" - ".github/**" - "package.json" - "pnpm-lock.yaml" - "eslint.config.mjs" - "resources/css/app.css" workflow_dispatch: permissions: contents: read jobs: native_javascript: name: Native launcher and release tests runs-on: ubuntu-latest timeout-minutes: 15 steps: - name: Check out repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Setup pnpm uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v11.7.0 with: package-json-file: package.json - name: Setup Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 22 cache: pnpm cache-dependency-path: pnpm-lock.yaml - name: Install locked development dependencies run: pnpm install --frozen-lockfile - name: Lint native JavaScript run: pnpm exec eslint native --max-warnings 0 - name: Test native launcher and release safeguards without credentials run: node --test native/tests/*.test.js