improve #302
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: Build | |
on: | |
push: | |
branches: main | |
pull_request: | |
types: [opened, synchronize, reopened] | |
permissions: | |
contents: write | |
pull-requests: write | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event_name == 'pull_request' && github.head_ref || github.ref }} | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '22.x' | |
cache: 'npm' | |
- name: Install dependencies, lint, format, build and generate docs | |
run: npm ci --force | |
- name: Commit changes | |
run: | | |
git config --local user.name "GitHub Actions" | |
git config --local user.email "[email protected]" | |
git add -A | |
if ! git diff --cached --exit-code; then | |
git commit -m "Code maintenance: lint, format and generate docs" | |
if [[ ${{ github.ref }} == "refs/heads/main" ]]; then | |
echo ${{ secrets.GITHUB_TOKEN }} | gh auth login --with-token | |
BRANCH_NAME="maintenance-$(date +'%Y%m%d%H%M%S')" | |
git checkout -b "$BRANCH_NAME" | |
git push origin "$BRANCH_NAME" | |
gh pr create --base main --head "$BRANCH_NAME" --title "Maintenance PR" --body "Automatic code maintenance: lint, format and generate docs." | |
gh pr merge --auto --squash --delete-branch ${{ github.event.pull_request.html_url }} | |
else | |
git pull origin ${{ github.head_ref }} --rebase | |
git push origin HEAD:${{ github.head_ref }} | |
fi | |
else | |
echo "No changes to commit." | |
fi |