chore(deps): update actions/checkout action to v4 #608
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 | |
pull_request: | |
branches: | |
- main | |
env: | |
PR_NUMBER: '${{ github.event.number }}' | |
SOURCE_BRANCH: $GITHUB_HEAD_REF | |
FIXER_BRANCH: auto-fixed/$GITHUB_HEAD_REF | |
TITLE: 'chore: apply fixes from JS-CS-Fixer' | |
DESCRIPTION: This merge request applies JS code style fixes from an analysis carried out through GitHub Actions. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
lint: | |
strategy: | |
matrix: | |
node-version: [18.x] | |
os: [ubuntu-latest] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: pnpm | |
- name: Install Dependencies | |
run: pnpm install | |
- name: Set Application Key | |
run: pnpm stacks key:generate | |
- name: Lint | |
run: pnpm stacks lint | |
typecheck: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: [18.x] | |
os: [ubuntu-latest] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: pnpm | |
- name: Install dependencies | |
run: pnpm install | |
- name: Set Application Key | |
run: pnpm stacks key:generate | |
- name: Typecheck | |
run: pnpm stacks test:types | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: [18.x] | |
os: [ubuntu-latest] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: pnpm | |
- name: Install Dependencies | |
run: pnpm install | |
- name: Set Application Key | |
run: pnpm stacks key:generate | |
- name: Test Suite | |
run: pnpm run test | |
# you may need to "Allow GitHub Actions to create and approve pull requests" | |
# https://stackoverflow.com/questions/72376229/github-actions-is-not-permitted-to-create-or-approve-pull-requests-createpullre | |
js-cs-fixer: | |
if: github.event_name == 'pull_request' && ! startsWith(github.ref, 'refs/heads/auto-fixed/') | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
node-version: [18] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Install pnpm | |
uses: pnpm/action-setup@v2 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: pnpm | |
- name: Install Dependencies | |
run: pnpm install | |
- name: Set Application Key | |
run: pnpm stacks key:generate | |
- name: Prepare Git User | |
run: | | |
git config --global user.name "github-actions[bot]" | |
git config --global user.email "[email protected]" | |
git checkout -B "${{ env.FIXER_BRANCH }}" | |
- name: Apply auto-fixers | |
run: pnpm lint:fix | |
- name: Create Fixer PR | |
run: | | |
if [[ -z $(git status --porcelain) ]]; then | |
echo "Nothing to fix... Exiting." | |
exit 0 | |
fi | |
OPEN_PRS=`curl --silent -H "Accept: application/vnd.github.v3+json" -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/repos/$GITHUB_REPOSITORY/pulls?state=open"` | |
OPEN_FIXER_PRS=`echo ${OPEN_PRS} | grep -o "\"ref\": \"${{ env.FIXER_BRANCH }}\"" | wc -l` | |
git commit -am "${{ env.TITLE }}" | |
git push origin "${{ env.FIXER_BRANCH }}" --force | |
if [ ${OPEN_FIXER_PRS} -eq "0" ]; then | |
curl -X POST \ | |
-H "Accept: application/vnd.github.v3+json" \ | |
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ | |
"https://api.github.com/repos/$GITHUB_REPOSITORY/pulls" \ | |
-d "{ \"head\":\"${{ env.FIXER_BRANCH }}\", \"base\":\"${{ env.SOURCE_BRANCH }}\", \"title\":\"${{ env.TITLE }}\", \"body\":\"${{ env.DESCRIPTION }}\n\nTriggered by #${{ env.PR_NUMBER }}\" }" | |
fi | |
exit 1 |