CI #252
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] | |
paths-ignore: | |
- 'README.md' | |
- 'docs/**' | |
pull_request: | |
branches: [main] | |
paths-ignore: | |
- 'README.md' | |
- 'docs/**' | |
permissions: | |
pull-requests: write | |
contents: write | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
cache: npm | |
- run: npm ci | |
- run: npm run build | |
- run: npm run format-check | |
- run: npm run lint | |
- run: npm run test | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: dist | |
path: dist | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: action.yml | |
path: action.yml | |
test: | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository | |
needs: [build] | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: [built, committed] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: main | |
- if: matrix.target == 'built' || github.event_name == 'pull_request' | |
uses: actions/download-artifact@v4 | |
with: | |
name: dist | |
path: dist | |
- if: matrix.target == 'built' || github.event_name == 'pull_request' | |
uses: actions/download-artifact@v4 | |
with: | |
name: action.yml | |
path: . | |
- name: Create change | |
run: date +%s > report.txt | |
- name: Create Pull Request | |
id: cpr | |
uses: ./ | |
with: | |
commit-message: '[CI] test ${{ matrix.target }}' | |
committer: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | |
author: ${{ github.actor }} <${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com> | |
title: '[CI] test ${{ matrix.target }}' | |
body: | | |
- CI test case for target '${{ matrix.target }}' | |
Auto-generated by [create-pull-request][1] | |
[1]: https://github.com/peter-evans/create-pull-request | |
branch: ci-test-${{ matrix.target }}-${{ github.sha }} | |
- name: Close Pull | |
uses: peter-evans/close-pull@v3 | |
with: | |
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }} | |
comment: '[CI] test ${{ matrix.target }}' | |
delete-branch: true | |
commentTestSuiteHelp: | |
if: github.event_name == 'pull_request' | |
needs: [test] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Find Comment | |
uses: peter-evans/find-comment@v3 | |
id: fc | |
with: | |
issue-number: ${{ github.event.number }} | |
comment-author: 'github-actions[bot]' | |
body-includes: Full test suite slash command | |
- if: steps.fc.outputs.comment-id == '' | |
name: Create comment | |
uses: peter-evans/create-or-update-comment@v4 | |
with: | |
issue-number: ${{ github.event.number }} | |
body: | | |
Full test suite slash command (repository admin only) | |
``` | |
/test repository=${{ github.event.pull_request.head.repo.full_name }} ref=${{ github.event.pull_request.head.ref }} build=true | |
``` | |
``` | |
/test repository=${{ github.event.pull_request.head.repo.full_name }} ref=${{ github.event.pull_request.head.ref }} build=true sign-commits=true | |
``` | |
package: | |
if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
needs: [test] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: dist | |
path: dist | |
- name: Create Pull Request | |
uses: peter-evans/create-pull-request@v7 | |
with: | |
token: ${{ secrets.ACTIONS_BOT_TOKEN }} | |
commit-message: 'build: update distribution' | |
title: Update distribution | |
body: | | |
- Updates the distribution for changes on `main` | |
Auto-generated by [create-pull-request][1] | |
[1]: https://github.com/peter-evans/create-pull-request | |
branch: update-distribution |