Skip to content

Mirror Reference Design #2

Mirror Reference Design

Mirror Reference Design #2

name: Mirror Reference Design
on:
schedule:
- cron: '0 1 * * *'
workflow_dispatch:
jobs:
mirror-branch:
runs-on: ubuntu-latest
steps:
- name: Clone source repository
run: |
git clone https://github.com/mitre-cyber-academy/2025-ectf-insecure-example.git source-repo
cd source-repo
git checkout release
- name: Add remote and fetch target branch
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd source-repo
git remote add target https://x-access-token:${GITHUB_TOKEN}@github.com/WolvSec/mitre-ectf-2025.git
git fetch target reference-mirror
- name: Check for differences
id: diff-check
run: |
cd source-repo
if git diff --quiet release target/reference-mirror; then
echo "CHANGES_DETECTED=false" >> $GITHUB_ENV
else
echo "CHANGES_DETECTED=true" >> $GITHUB_ENV
fi
- name: Push to reference-mirror branch
if: env.CHANGES_DETECTED == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd source-repo
git push --force target release:reference-mirror
- name: Check for existing pull requests
if: env.CHANGES_DETECTED == 'true'
id: check-pr
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd source-repo
EXISTING_PR=$(gh pr list --base develop --head reference-mirror --json number --jq '.[].number')
if [ -z "$EXISTING_PR" ]; then
echo "PR_EXISTS=false" >> $GITHUB_ENV
else
echo "PR_EXISTS=true" >> $GITHUB_ENV
fi
- name: Create Pull Request
if: env.CHANGES_DETECTED == 'true' && env.PR_EXISTS == 'false'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr create \
--title "Update from Reference Design" \
--body "This PR includes updates from the MITRE reference design." \
--base develop \
--head reference-mirror \
--label "reference-update" \
--repo ${{ github.repository }} || true