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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version-file: package.json 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@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: dist path: dist - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: ref: main - if: matrix.target == 'built' || github.event_name == 'pull_request' uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: dist path: dist - if: matrix.target == 'built' || github.event_name == 'pull_request' uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 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@a192af8d70f2d49c49643134605c3b73d4f80fae # v3.0.1 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@b30e6a3c0ed37e7c023ccd3f1db5c6c0b0c23aad # v4.0.0 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@e8674b075228eee787fea43ef493e45ece1004c9 # v5.0.0 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@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: dist path: dist - name: Create Pull Request uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 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