Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 16 additions & 38 deletions .github/workflows/sync-test-fixtures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,46 +12,24 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v6
- name: Sync fixtures
id: sync
run: |
TMP_DIR=$(mktemp -d)
curl -fsSL "https://codeload.github.com/dnsimple/dnsimple-developer/tar.gz/refs/heads/main" \
| tar -xz -C "$TMP_DIR"
rsync -a --delete "$TMP_DIR/dnsimple-developer-main/fixtures/v2/api/" src/test/resources/com/dnsimple/
- name: Create a PR to sync fixtures if there are changes
run: |
cat <<'MD' > pr_body.md
This PR replaces the fixtures in this repository with those from https://github.com/dnsimple/dnsimple-developer/

## Checklist
- [ ] Close and re-open this PR to trigger the CI workflow (it does not run automatically)
- [ ] Ensure the CI workflow passes before merging
MD

# Configure Git identity for the workflow
git config --global user.name "github-actions"
git config --global user.email "github-actions@github.com"

# Create and switch to a new branch
BRANCH="chore/sync-fixtures-${GITHUB_RUN_ID}"
NOW="$(date +'%Y-%m-%d %H:%M:%S')"
git checkout -b "$BRANCH"

# Stage changes
git add src/test/resources/com/dnsimple

# Commit if there are staged changes
if ! git diff --cached --quiet; then
git commit -m "chore: sync test fixtures as of $NOW"
git push -u origin "$BRANCH"

gh pr create \
--title "chore: Sync fixtures as of $NOW" \
--body-file pr_body.md \
--base main \
--head "$BRANCH" \
--label "task"
else
echo "No fixture changes detected; nothing to do"
fi
env:
GITHUB_TOKEN: ${{ github.token }}
echo "now=$(date +'%Y-%m-%d %H:%M:%S')" >> "$GITHUB_OUTPUT"
- name: Create PR with synced fixtures
uses: peter-evans/create-pull-request@v7
with:
sign-commits: true
add-paths: src/test/resources/com/dnsimple
commit-message: "chore: sync test fixtures as of ${{ steps.sync.outputs.now }}"
branch: "chore/sync-fixtures-${{ github.run_id }}"
title: "chore: Sync fixtures as of ${{ steps.sync.outputs.now }}"
body: |
This PR replaces the fixtures in this repository with those from https://github.com/dnsimple/dnsimple-developer/

## Checklist
- [ ] Close and re-open this PR to trigger the CI workflow (it does not run automatically)
- [ ] Ensure the CI workflow passes before merging