[Release] New release 2.28.0 (minor) (#11909) #38120
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: Linters and tests | |
on: | |
push: | |
branches: [master, develop, released, hotfix/*, release/*] | |
pull_request: | |
branches: [master, develop, released, hotfix/*, release/*] | |
merge_group: | |
types: [checks_requested] | |
permissions: | |
contents: read | |
packages: read | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
codegen: | |
runs-on: ubuntu-latest | |
permissions: | |
packages: read | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
- uses: pnpm/action-setup@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".node-version" | |
cache: "pnpm" | |
- name: Authenticate NPM | |
uses: DimensionDev/github-token-action@latest | |
with: | |
registry: true | |
- run: git config --global url."https://github.com/".insteadOf [email protected] | |
- run: pnpm install | |
- run: npx gulp lint-package-json | |
- uses: EndBug/add-and-commit@v9 | |
with: | |
message: 'fix: package.json' | |
- run: npx gulp codegen | |
- run: pnpm run lingui:extract | |
- run: pnpm run lingui:compile | |
- uses: EndBug/add-and-commit@v9 | |
with: | |
message: 'fix: run codegen' | |
- run: npx gulp sync-languages | |
- uses: EndBug/add-and-commit@v9 | |
with: | |
message: 'fix: run sync-languages' | |
- run: npx gulp fix-plugins-tsconfig | |
- uses: EndBug/add-and-commit@v9 | |
with: | |
message: 'fix: packages/plugins/tsconfig.json' | |
prettier: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
- uses: actions/setup-node@v4 | |
- run: npx [email protected] --write . | |
- uses: EndBug/add-and-commit@v9 | |
with: | |
message: 'fix: prettier' | |
markdownlint: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
- uses: actions/setup-node@v4 | |
- run: npx markdownlint-cli --fix . | |
- uses: EndBug/add-and-commit@v9 | |
with: | |
message: 'fix: markdownlint' | |
anti-trojan-source: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- run: npx anti-trojan-source --files='packages/**/src/**/*.{ts,tsx,js}' | |
type-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".node-version" | |
cache: "pnpm" | |
- name: Authenticate NPM | |
uses: DimensionDev/github-token-action@latest | |
with: | |
registry: true | |
- run: git config --global url."https://github.com/".insteadOf [email protected] | |
- run: pnpm install | |
- run: npx gulp codegen | |
- run: npx gulp typescript | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".node-version" | |
cache: "pnpm" | |
- name: Authenticate NPM | |
uses: DimensionDev/github-token-action@latest | |
with: | |
registry: true | |
- run: git config --global url."https://github.com/".insteadOf [email protected] | |
- run: pnpm install | |
- run: npx gulp codegen | |
- run: npx gulp polyfill | |
- run: pnpm run test | |
eslint: | |
runs-on: ubuntu-latest | |
permissions: | |
packages: read | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
- uses: pnpm/action-setup@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version-file: ".node-version" | |
cache: "pnpm" | |
- name: Authenticate NPM | |
uses: DimensionDev/github-token-action@latest | |
with: | |
registry: true | |
- name: Get cache date | |
id: get-date | |
run: echo "date=$(/bin/date -u "+%Y%m%d")" >> $GITHUB_STATE | |
shell: bash | |
- name: Restore ESLint cache | |
uses: actions/cache@v4 | |
with: | |
path: .eslintcache | |
key: linter-v2-${{ steps.get-date.outputs.date }} | |
restore-keys: linter-v2- | |
- run: git config --global url."https://github.com/".insteadOf [email protected] | |
- run: pnpm install | |
- run: npx gulp codegen | |
- name: Run Eslint | |
run: | | |
export NODE_OPTIONS="--max-old-space-size=8192" | |
# report to stdio and to a file, it's cached so the second run should be fast | |
pnpm run lint:ci | |
pnpm run lint:ci-report | |
- uses: EndBug/add-and-commit@v9 | |
with: | |
message: 'fix: eslint' | |
- name: Upload eslint report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: eslint | |
path: reports/junit |