b1ddad2c99
* feat: update author and committer input defaults * Update github-actions[bot] * Update author to new email format * feat: optional input for git ops token * feat: allow push-to-fork to push to sibling repos (#2414) Fixes #2412. * build: update dist * feat: update action runtime to node 20 (#2340) * feat: add truncate warning to pull request body * perf: unshallow only when necessary * fix: remove the remote for the fork on completion * feat: infer github server and api urls * test: integration test fixes * build: bump major version * docs: update to v6 --------- Co-authored-by: Teko <112829523+Teko012@users.noreply.github.com> Co-authored-by: Benjamin Gilbert <bgilbert@backtick.net>
135 lines
3.9 KiB
YAML
135 lines
3.9 KiB
YAML
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
|
|
```
|
|
|
|
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@v5
|
|
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
|