fix(45901): Error 1064 should apply to @callback definitions in the s… #39
This file contains 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 | |
- release-* | |
pull_request: | |
branches: | |
- main | |
- release-* | |
permissions: | |
contents: read | |
# Ensure scripts are run with pipefail. See: | |
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: | |
- "20" | |
- "18" | |
- "16" | |
- "14" | |
bundle: | |
- "true" | |
include: | |
- node-version: "*" | |
bundle: "false" | |
name: Test Node ${{ matrix.node-version }} with --bundle=${{ matrix.bundle }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use node version ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
check-latest: true | |
- run: npm ci | |
- name: Tests | |
# run tests, but lint separately | |
run: npm run test -- --no-lint --bundle=${{ matrix.bundle }} | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: "*" | |
check-latest: true | |
- run: npm ci | |
- name: Linter | |
run: npm run lint | |
browser-integration: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: "*" | |
check-latest: true | |
- run: npm ci | |
- name: Adding playwright | |
run: npm install --no-save --no-package-lock playwright | |
- name: Validate the browser can import TypeScript | |
run: npx hereby test-browser-integration | |
typecheck: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: "*" | |
check-latest: true | |
- run: npm ci | |
- name: Build src | |
run: npx hereby build-src | |
smoke: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: "*" | |
check-latest: true | |
- run: | | |
npm --version | |
# corepack enable npm | |
npm install -g $(jq -r '.packageManager' < package.json) | |
npm --version | |
- run: npm ci | |
- run: npx hereby lkg | |
- run: | | |
npm pack | |
mv typescript*.tgz typescript.tgz | |
echo "package=$PWD/typescript.tgz" >> "$GITHUB_OUTPUT" | |
id: pack | |
- name: Smoke test | |
run: | | |
cd "$(mktemp -d)" | |
npm init --yes | |
npm install ${{ steps.pack.outputs.package }} | |
echo "Testing tsc..." | |
npx tsc --version | |
echo "Testing tsserver..." | |
echo '{"seq": 1, "command": "status"}' | npx tsserver | |
node $GITHUB_WORKSPACE/scripts/checkModuleFormat.mjs typescript | |
node $GITHUB_WORKSPACE/scripts/checkModuleFormat.mjs typescript/lib/tsserverlibrary | |
package-size: | |
runs-on: ubuntu-latest | |
if: github.event_name == 'pull_request' | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
path: pr | |
- uses: actions/checkout@v3 | |
with: | |
path: base | |
ref: ${{ github.base_ref }} | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: "*" | |
check-latest: true | |
- run: | | |
npm --version | |
# corepack enable npm | |
- run: | | |
npm install -g $(jq -r '.packageManager' < package.json) | |
npm --version | |
working-directory: ./pr | |
- run: npm ci | |
working-directory: ./pr | |
- run: npm ci | |
working-directory: ./base | |
- run: npx hereby lkg | |
working-directory: ./pr | |
- run: npx hereby lkg | |
working-directory: ./base | |
- run: | | |
echo "See $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID for more info." | |
node ./pr/scripts/checkPackageSize.mjs ./base ./pr >> $GITHUB_STEP_SUMMARY | |
misc: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: "*" | |
check-latest: true | |
- run: npm ci | |
- name: Build scripts | |
run: npx hereby scripts | |
- name: ESLint tests | |
run: npx hereby run-eslint-rules-tests | |
self-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: "*" | |
check-latest: true | |
- run: npm ci | |
- name: Build tsc | |
run: npx hereby tsc | |
- name: Clean | |
run: npx hereby clean-src | |
- name: Self build | |
run: npx hereby build-src --built | |
unused-baselines: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: "*" | |
check-latest: true | |
- run: npm ci | |
- name: Remove all baselines | |
run: rm -rf tests/baselines/reference | |
- name: Run tests | |
run: npm test &> /dev/null || exit 0 | |
- name: Accept baselines | |
run: npx hereby baseline-accept | |
- name: Check for unused baselines | |
run: | | |
if ! git diff --exit-code --quiet; then | |
echo "Unused baselines:" | |
git diff --exit-code --name-only | |
fi |