-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
name: Sync repository from upstream | ||
on: | ||
workflow_dispatch: {} | ||
schedule: | ||
- cron: 5 2 * * * | ||
|
||
env: | ||
BRANCHES: main v2-release | ||
|
||
jobs: | ||
|
||
# Check for the presence of a PROJEN_GITHUB_TOKEN secret. | ||
# | ||
# This is expected to contain a personal access token of someone | ||
# who pas permissions to bypass branch protection rules. | ||
# | ||
# If not present, we will use GitHub Actions Token permissions, | ||
# but those are bound by branch protection rules. | ||
check-secret: | ||
# Don't run on the target repo itself, only forks | ||
if: github.repository != 'aws/aws-cdk' | ||
|
||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check for presence of PROJEN_GITHUB_TOKEN | ||
id: check-secrets | ||
run: | | ||
if [ ! -z "${{ secrets.PROJEN_GITHUB_TOKEN }}" ]; then | ||
echo "ok=true" >> $GITHUB_OUTPUT | ||
else | ||
echo "ok=false" >> $GITHUB_OUTPUT | ||
fi | ||
outputs: | ||
ok: ${{ steps.check-secrets.outputs.ok }} | ||
|
||
sync-branch: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
needs: [check-secret] | ||
steps: | ||
- name: Checkout using User Token | ||
if: needs.check-secret.outputs.ok == 'true' | ||
uses: actions/checkout@v4 | ||
with: | ||
token: ${{ secrets.PROJEN_GITHUB_TOKEN }} | ||
|
||
- name: Checkout using GitHub Actions permissions | ||
if: needs.check-secret.outputs.ok == 'false' | ||
uses: actions/checkout@v4 | ||
|
||
- name: Sync from aws/aws-cdk | ||
run: |- | ||
git remote add upstream https://github.com/aws/aws-cdk.git | ||
git fetch upstream | ||
for branch in $BRANCHES; do | ||
git push origin --force refs/remotes/upstream/$branch:refs/heads/$branch | ||
done |
Large diffs are not rendered by default.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.