From dd006e4eeddba95c40239dd7269cc0739da30bc8 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 12 Oct 2022 15:10:08 +0800 Subject: [PATCH] Tweak CI config (#13615) --- .github/workflows/_build.yml | 33 +++++++++++++++++ .github/workflows/bundler-friendly.yml | 31 +++++----------- .github/workflows/check-sizes.yml | 15 ++++++-- .github/workflows/dev-package-test.yml | 11 +++++- .github/workflows/dev-test.yml | 9 ++++- .github/workflows/eslint-rules.yml | 11 +++++- .github/workflows/lint.yml | 11 +++++- .github/workflows/lock.yml | 3 ++ .github/workflows/mark-issue-duplicate.yml | 5 ++- .github/workflows/prevent-file-change.yml | 11 +++++- .github/workflows/prod-test.yml | 43 ++++++++-------------- .github/workflows/release-script-test.yml | 11 +++++- .github/workflows/support.yml | 9 ++++- 13 files changed, 136 insertions(+), 67 deletions(-) create mode 100644 .github/workflows/_build.yml diff --git a/.github/workflows/_build.yml b/.github/workflows/_build.yml new file mode 100644 index 000000000..726d5ca81 --- /dev/null +++ b/.github/workflows/_build.yml @@ -0,0 +1,33 @@ +name: Build + +on: + workflow_call: + +permissions: + contents: read + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3.1.0 + + - name: Setup Node.js + uses: actions/setup-node@v3.5.0 + with: + cache: "yarn" + + - name: Install Dependencies + run: yarn install --immutable + + - name: Build Package + run: yarn build --clean + + - name: Upload Artifact + uses: actions/upload-artifact@v3.1.0 + with: + name: dist + path: dist + if-no-files-found: error diff --git a/.github/workflows/bundler-friendly.yml b/.github/workflows/bundler-friendly.yml index 3922e720a..604c8f45d 100644 --- a/.github/workflows/bundler-friendly.yml +++ b/.github/workflows/bundler-friendly.yml @@ -10,30 +10,17 @@ on: # This workflow file - ".github/workflows/bundler-friendly.yml" +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build: name: Build - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - cache: "yarn" - - - name: Install Dependencies - run: yarn install --immutable - - - name: Build Package - run: yarn build - - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: dist - path: dist + uses: ./.github/workflows/_build.yml webpack: name: Bundle Prettier with webpack @@ -52,7 +39,7 @@ jobs: run: yarn install --immutable - name: Download Artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v3.0.0 with: name: dist path: dist diff --git a/.github/workflows/check-sizes.yml b/.github/workflows/check-sizes.yml index 68b1bd877..3250ec484 100644 --- a/.github/workflows/check-sizes.yml +++ b/.github/workflows/check-sizes.yml @@ -3,24 +3,31 @@ name: Check Sizes on: pull_request: +permissions: + contents: read + pull-requests: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: check-sizes: name: Check Sizes runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v3.1.0 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v3.5.0 with: cache: "yarn" - # This step calls `git reset` - # It should be the last step - name: Check Sizes uses: preactjs/compressed-size-action@2.5.0 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" pattern: "./dist/**/*" compression: none + build-script: "build --clean" diff --git a/.github/workflows/dev-package-test.yml b/.github/workflows/dev-package-test.yml index 86461117a..18dcb57aa 100644 --- a/.github/workflows/dev-package-test.yml +++ b/.github/workflows/dev-package-test.yml @@ -12,6 +12,13 @@ on: - ".github/workflows/dev-package-test.yml" - "tests/config/install-prettier.js" +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: test: timeout-minutes: 60 @@ -35,10 +42,10 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v3.1.0 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v3.5.0 with: node-version: ${{ matrix.node }} cache: "yarn" diff --git a/.github/workflows/dev-test.yml b/.github/workflows/dev-test.yml index bb47a834e..2b0e8107c 100644 --- a/.github/workflows/dev-test.yml +++ b/.github/workflows/dev-test.yml @@ -8,6 +8,13 @@ on: - next pull_request: +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: test: timeout-minutes: 60 @@ -41,7 +48,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v3.1.0 - name: Setup Node.js uses: actions/setup-node@v3 diff --git a/.github/workflows/eslint-rules.yml b/.github/workflows/eslint-rules.yml index 1998e1ee9..250cbfde2 100644 --- a/.github/workflows/eslint-rules.yml +++ b/.github/workflows/eslint-rules.yml @@ -12,16 +12,23 @@ on: # This workflow file - ".github/workflows/eslint-rules.yml" +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: test: name: Test runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v3.1.0 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v3.5.0 with: cache: "yarn" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index b7ed445b4..ffd901303 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,16 +8,23 @@ on: - next pull_request: +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v3.1.0 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v3.5.0 with: cache: "yarn" diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml index 5207ea059..a51e3df9e 100644 --- a/.github/workflows/lock.yml +++ b/.github/workflows/lock.yml @@ -4,6 +4,9 @@ on: schedule: - cron: "0 0 * * *" +permissions: + issues: write + jobs: lock: runs-on: ubuntu-latest diff --git a/.github/workflows/mark-issue-duplicate.yml b/.github/workflows/mark-issue-duplicate.yml index fd7d1cd00..0ddd919e8 100644 --- a/.github/workflows/mark-issue-duplicate.yml +++ b/.github/workflows/mark-issue-duplicate.yml @@ -5,12 +5,15 @@ on: types: - created +permissions: + issues: write + jobs: mark-duplicate: runs-on: ubuntu-latest if: ${{ !github.event.issue.pull_request && startsWith(github.event.comment.body, 'Duplicate of ') }} steps: - - uses: actions-cool/issues-helper@v3 + - uses: actions-cool/issues-helper@v3.3.0 with: actions: "mark-duplicate" token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/prevent-file-change.yml b/.github/workflows/prevent-file-change.yml index dd59301af..28335753f 100644 --- a/.github/workflows/prevent-file-change.yml +++ b/.github/workflows/prevent-file-change.yml @@ -5,13 +5,20 @@ on: paths: - "website/data/users.yml" +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: prevent-add-users: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v3.1.0 - name: Prevent file change - uses: xalvarez/prevent-file-change-action@v1 + uses: xalvarez/prevent-file-change-action@v1.3.0 with: githubToken: ${{ secrets.GITHUB_TOKEN }} pattern: website/data/users.yml diff --git a/.github/workflows/prod-test.yml b/.github/workflows/prod-test.yml index cf399f784..5ac1c7808 100644 --- a/.github/workflows/prod-test.yml +++ b/.github/workflows/prod-test.yml @@ -8,30 +8,17 @@ on: - next pull_request: +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build: name: Build - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - cache: "yarn" - - - name: Install Dependencies - run: yarn install --immutable - - - name: Build Package - run: yarn build - - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: dist - path: dist + uses: ./.github/workflows/_build.yml lint: name: Lint @@ -39,10 +26,10 @@ jobs: needs: [build] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v3.1.0 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v3.5.0 with: cache: "yarn" @@ -50,7 +37,7 @@ jobs: run: yarn install --immutable - name: Download Artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v3.0.0 with: name: dist path: dist @@ -87,10 +74,10 @@ jobs: needs: [build] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v3.1.0 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v3.5.0 with: node-version: ${{ matrix.node }} cache: "yarn" @@ -99,7 +86,7 @@ jobs: run: yarn install --immutable - name: Download Artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v3.0.0 with: name: dist path: dist @@ -124,7 +111,7 @@ jobs: node-version: "0.10.48" - name: Download Artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v3.0.0 with: name: dist path: dist diff --git a/.github/workflows/release-script-test.yml b/.github/workflows/release-script-test.yml index 64fa25426..6d07094f6 100644 --- a/.github/workflows/release-script-test.yml +++ b/.github/workflows/release-script-test.yml @@ -4,6 +4,13 @@ defaults: run: working-directory: scripts/release +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + on: push: paths: @@ -20,10 +27,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v3.1.0 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v3.5.0 with: node-version: "18" cache: "yarn" diff --git a/.github/workflows/support.yml b/.github/workflows/support.yml index 1caae5059..0210870cb 100644 --- a/.github/workflows/support.yml +++ b/.github/workflows/support.yml @@ -4,11 +4,18 @@ on: issues: types: [labeled, unlabeled, reopened] +permissions: + issues: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: support: runs-on: ubuntu-latest steps: - - uses: dessant/support-requests@v2 + - uses: dessant/support-requests@v2.1.2 with: github-token: ${{ github.token }} support-label: "type:question"