name: ci on: push: branches: - main - 'release*' pull_request: permissions: pull-requests: write env: NODE_VERSION: 24.15.0 TERM: xterm jobs: lint-typecheck: runs-on: ubuntu-22.04 steps: - name: ci/checkout-repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: ci/prepare-node-deps uses: ./.github/actions/prepare-node-deps - name: ci/check-styles shell: bash run: | echo "::group::check-styles" npm run check echo "::endgroup::" - name: ci/check-i18n shell: bash run: | echo "::group::check-i18n" ./scripts/precommit/i18n.sh echo "::endgroup::" test: runs-on: ubuntu-22.04 steps: - name: ci/checkout-repo uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: ci/prepare-node-deps uses: ./.github/actions/prepare-node-deps - name: ci/run-tests # main and PRs run test:coverage via the test-coverage action below; # release branches just need a plain test pass. if: startsWith(github.ref_name, 'release') shell: bash run: npm run test:ci - name: ci/test-coverage if: github.event_name == 'pull_request' || github.ref_name == 'main' uses: ./.github/actions/test-coverage with: run_id: ${{ github.run_id }}