Update quest data #640
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: Update quest data | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
schedule: | |
- cron: '0 2 * * *' # At every day 02:00(UTC). | |
workflow_dispatch: | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '.nvmrc' | |
- name: Install node modules | |
uses: bahmutov/npm-install@v1 | |
- name: Build | |
run: npm run build | |
- name: Lint | |
run: npm run lint -- --max-warnings=0 | |
- name: Update | |
run: npm test -- --updateSnapshot | |
- name: Push Branch | |
if: github.ref == 'refs/heads/main' | |
id: push | |
run: | | |
git add . | |
# Do not proceed if there are no file differences | |
COMMIT=$(git rev-parse --verify origin/$TARGET_BRANCH || echo HEAD) | |
FILES_CHANGED=$(git diff-index --name-only --cached $COMMIT | wc -l) | |
if [[ "$FILES_CHANGED" = "0" ]]; then | |
echo "No file changes detected." | |
exit 0 | |
fi | |
echo -e "---\n'poi-plugin-quest-info-2': patch\n---\n\nUpdate quest data\n" > .changeset/bot-data-update.md | |
git add . | |
git config user.name 'github-actions[bot]' | |
git config user.email 'github-actions[bot]@users.noreply.github.com' | |
git commit --message "$COMMIT_MESSAGE" | |
git remote set-url origin "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY" | |
git push --force origin HEAD:$TARGET_BRANCH | |
echo "createPR=true" >> $GITHUB_OUTPUT | |
env: | |
GITHUB_TOKEN: ${{ secrets.github_token }} | |
COMMIT_MESSAGE: 'chore: update quest data' | |
TARGET_BRANCH: 'bot/data' | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT | |
# see https://github.com/repo-sync/pull-request | |
- name: Create Pull Request | |
if: steps.push.outputs.createPR == 'true' | |
uses: repo-sync/pull-request@v2 | |
with: | |
destination_branch: "main" | |
source_branch: "bot/data" # If blank, default: triggered branch | |
pr_title: "chore: update quest data (${{ steps.date.outputs.date }})" # Title of pull request | |
pr_body: "" # Full markdown support, requires pr_title to be set | |
github_token: ${{ secrets.GITHUB_TOKEN }} |