Skip to content

fix: remove race condition when creating new file #17

fix: remove race condition when creating new file

fix: remove race condition when creating new file #17

Workflow file for this run

name: Process newly added JSON
on:
pull_request_target:
types: [closed]
branches:
- main
permissions:
contents: write
concurrency:
group: process-json-${{ github.ref }}
cancel-in-progress: true
jobs:
process-json:
# Only run if the PR was merged
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.merge_commit_sha }}
fetch-depth: 2
# Must be done before setup-node.
- name: Enable Corepack
run: corepack enable
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "yarn"
cache-dependency-path: actions/yarn.lock
- name: Install Dependencies
run: yarn install --frozen-lockfile
working-directory: ./actions
- name: Find newly added JSON files
id: find-json
run: |
# Get the list of added JSON files in the records/new/ directory
ADDED_FILES=$(git diff HEAD^ --diff-filter=A --name-only records/new | grep '/.*\.json$' || true)
echo "NEW_JSON_FILES=$ADDED_FILES" >> "$GITHUB_ENV"
- name: Process and move files
if: env.NEW_JSON_FILES
env:
BLUESKY_IDENTIFIER_NODEJS_ORG: nodejs.org
BLUESKY_APP_PASSWORD_NODEJS_ORG: ${{ secrets.BLUESKY_APP_PASSWORD_NODEJS_ORG }}
run: |
for file in $NEW_JSON_FILES; do
echo "Processing $file..."
node actions/process.js "$file"
done
- name: Commit and push changes
if: env.NEW_JSON_FILES
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add records/
git commit -m "Process new JSON files from #${{ github.event.pull_request.number }}" || exit 0
git push origin HEAD:refs/heads/main