Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

fix(eslint-plugin): [restrict-template-expressions] check base types …#24350

fix(eslint-plugin): [restrict-template-expressions] check base types …

fix(eslint-plugin): [restrict-template-expressions] check base types … #24350

Workflow file for this run

# NOTE: The name of this workflow is significant - it is used as the identifier for the workflow_run trigger in the release workflow
name:CI
on:
push:
branches:
-main
# NOTE: Never use pull_request_target here because that would populate secrets for forks
pull_request:
branches:
-'**'
merge_group:
concurrency:
group:'${{ github.workflow }} - ${{ github.head_ref || github.ref }}'
cancel-in-progress:${{ github.ref != 'refs/heads/main' }}
env:
PRIMARY_NODE_VERSION:20
# Value will be controlled via GitHub environment (called "main") secret, will be read-write for main branch, read-only for other branches
NX_CLOUD_ACCESS_TOKEN:${{ secrets.NX_CLOUD_ACCESS_TOKEN }}
# This increases the verbosity of the logs for everything, including Nx Cloud, but will hopefully surface more info about recent lint failures
NX_VERBOSE_LOGGING:false
defaults:
run:
shell:bash
#
# Workflow for how the CI spawns jobs:
# 1) Run the install and cache the install artefacts
# 2) Run the build and cache the output
# - In parallel we also any steps that don't need the build (like prettier)
# 3) Run the steps that depend on the build
#
permissions:
contents:read# to fetch code (actions/checkout)
jobs:
install:
name:Checkout and Install
environment:${{ (github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main') && 'main' || '' }}# Have to specify per job
runs-on:ubuntu-latest
env:
NX_CI_EXECUTION_ENV:'ubuntu-latest'
steps:
-name:Checkout
uses:actions/checkout@v4
-name:Install
uses:./.github/actions/prepare-install
with:
node-version:${{ env.PRIMARY_NODE_VERSION }}
build:
name:Build All Packages
environment:${{ (github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main') && 'main' || '' }}# Have to specify per job
needs:[install]
runs-on:ubuntu-latest
env:
NX_CI_EXECUTION_ENV:'ubuntu-latest'
steps:
-name:Checkout
uses:actions/checkout@v4
-name:Install
uses:./.github/actions/prepare-install
with:
node-version:${{ env.PRIMARY_NODE_VERSION }}
-name:Build
uses:./.github/actions/prepare-build
generate_configs:
name:Generate Configs
environment:${{ (github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main') && 'main' || '' }}# Have to specify per job
needs:[build]
runs-on:ubuntu-latest
env:
NX_CI_EXECUTION_ENV:'ubuntu-latest'
steps:
-name:Checkout
uses:actions/checkout@v4
-name:Install
uses:./.github/actions/prepare-install
with:
node-version:${{ env.PRIMARY_NODE_VERSION }}
-run:yarn nx run generate-configs
-run:git status --porcelain
-if:failure()
run:echo "Outdated result detected from yarn generate-configs. Please check in any file changes."
lint_without_build:
name:Lint without build
environment:${{ (github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main') && 'main' || '' }}# Have to specify per job
needs:[install]
runs-on:ubuntu-latest
strategy:
matrix:
lint-task:['check-spelling', 'check-format', 'lint-markdown']
env:
NX_CI_EXECUTION_ENV:'ubuntu-latest'
steps:
-name:Checkout
uses:actions/checkout@v4
-name:Install
uses:./.github/actions/prepare-install
with:
node-version:${{ env.PRIMARY_NODE_VERSION }}
-name:Run Check
run:yarn ${{ matrix.lint-task }}
lint_with_build:
name:Lint with build
environment:${{ (github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main') && 'main' || '' }}# Have to specify per job
# because we lint with our own tooling, we need to build
needs:[build]
runs-on:ubuntu-latest
strategy:
matrix:
lint-task:['deduplicate', 'lint', 'typecheck', 'knip']
env:
NX_CI_EXECUTION_ENV:'ubuntu-latest'
steps:
-name:Checkout
uses:actions/checkout@v4
-name:Install
uses:./.github/actions/prepare-install
with:
node-version:${{ env.PRIMARY_NODE_VERSION }}
-name:Build
uses:./.github/actions/prepare-build
-name:Run Check
run:yarn ${{ matrix.lint-task }}
env:
ESLINT_USE_FLAT_CONFIG:true
stylelint:
name:Stylelint
environment:${{ (github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main') && 'main' || '' }}# Have to specify per job
needs:[install]
runs-on:ubuntu-latest
env:
NX_CI_EXECUTION_ENV:'ubuntu-latest'
steps:
-name:Checkout
uses:actions/checkout@v4
-name:Install
uses:./.github/actions/prepare-install
with:
node-version:${{ env.PRIMARY_NODE_VERSION }}
-name:Run stylelint check
run:yarn stylelint
working-directory:packages/website
integration_tests:
name:Run integration tests on primary Node.js version
environment:${{ (github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main') && 'main' || '' }}# Have to specify per job
needs:[build]
runs-on:ubuntu-latest
env:
NX_CI_EXECUTION_ENV:'ubuntu-latest'
steps:
-name:Checkout
uses:actions/checkout@v4
-name:Install
uses:./.github/actions/prepare-install
with:
node-version:${{ env.PRIMARY_NODE_VERSION }}
-name:Build
uses:./.github/actions/prepare-build
-name:Run integration tests
run:yarn test-integration
env:
CI:true
unit_tests:
name:Run Unit Tests
environment:${{ (github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main') && 'main' || '' }}# Have to specify per job
needs:[build]
runs-on:${{ matrix.os }}
strategy:
matrix:
exclude:
-os:windows-latest
node-version:18
os:[ubuntu-latest, windows-latest]
# just run on the oldest and latest supported versions and assume the intermediate versions are good
node-version:[18, 20]
package:
[
'ast-spec',
'eslint-plugin',
'eslint-plugin-internal',
'parser',
'project-service',
'rule-schema-to-typescript-types',
'rule-tester',
'scope-manager',
'tsconfig-utils',
'type-utils',
'typescript-eslint',
'typescript-estree',
'utils',
'visitor-keys',
]
env:
NX_CI_EXECUTION_ENV:'${{ matrix.os }} - Node ${{ matrix.node-version }}'
COLLECT_COVERAGE:false
steps:
-name:Checkout
uses:actions/checkout@v4
with:
fetch-depth:2
-name:Install
uses:./.github/actions/prepare-install
with:
node-version:${{ matrix.node-version }}
-name:Build
uses:./.github/actions/prepare-build
# collect coverage on the primary node version
# we don't collect coverage on other node versions so they run faster
-name:Run unit tests with coverage for ${{ matrix.package }}
if:env.PRIMARY_NODE_VERSION == matrix.node-version && matrix.os == 'ubuntu-latest'
run:yarn nx run ${{ matrix.package }}:test -- --coverage
env:
CI:true
-name:Run unit tests for ${{ matrix.package }}
if:env.PRIMARY_NODE_VERSION != matrix.node-version || matrix.os != 'ubuntu-latest'
run:yarn nx test ${{ matrix.package }}
env:
CI:true
-name:Store coverage for uploading
if:env.PRIMARY_NODE_VERSION == matrix.node-version && matrix.os == 'ubuntu-latest'
uses:actions/upload-artifact@v4
with:
name:${{ matrix.package }}-coverage
path:packages/${{ matrix.package }}/coverage/lcov.info
# Sadly 1 day is the minimum
retention-days:1
unit_tests_project_service:
name:Run Unit Tests with Project Service
environment:${{ (github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main') && 'main' || '' }}# Have to specify per job
needs:[build]
runs-on:ubuntu-latest
strategy:
matrix:
package:
['eslint-plugin', 'eslint-plugin-internal', 'typescript-estree']
env:
NX_CI_EXECUTION_ENV:'ubuntu-latest'
COLLECT_COVERAGE:false,
steps:
-name:Checkout
uses:actions/checkout@v4
with:
fetch-depth:2
-name:Install
uses:./.github/actions/prepare-install
with:
node-version:18
-name:Build
uses:./.github/actions/prepare-build
-name:Run unit tests for ${{ matrix.package }}
run:yarn nx test ${{ matrix.package }} --coverage=false
env:
CI:true
TYPESCRIPT_ESLINT_PROJECT_SERVICE:true
upload_coverage:
name:Upload Codecov Coverage
environment:${{ (github.repository == 'typescript-eslint/typescript-eslint' && github.ref == 'refs/heads/main') && 'main' || '' }}# Have to specify per job
needs:[unit_tests]
runs-on:ubuntu-latest
steps:
-name:Checkout
uses:actions/checkout@v4
-name:Download coverage reports
uses:actions/download-artifact@v4
with:
path:coverage
-name:Publish code coverage report
uses:codecov/codecov-action@v4.6.0
with:
token:${{ secrets.CODECOV_TOKEN }}
files:coverage/**/lcov.info
flags:unittest
name:codecov

[8]ページ先頭

©2009-2025 Movatter.jp