From 76c0ed947ee50caffbace647243ca303d3705a86 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Wed, 5 Oct 2022 18:11:52 +0200 Subject: [PATCH] [actions] Update the single-platform test branch every Saturday. (#16243) We have four branches that test releasing a single platform: release/release-test-only-dotnet-$platform In these branches, only the given platform is enabled (these are also .NET-only branches), with the idea that we're testing the build and publish of a single platform. These branches have a 'release/' prefix, so that the go through as much as possible of our release pipeline. Hopefully by testing and making sure the following builds and publishes correctly: * All platforms (the default for our build) * Each platform by itself Building and publishing more than one (but less than all four) platforms also work. This PR will automatically update these four branches from main every Saturday, so that we'll be able to find and fix any problems that occur before release date. --- .../update-single-platform-branches.yml | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/update-single-platform-branches.yml diff --git a/.github/workflows/update-single-platform-branches.yml b/.github/workflows/update-single-platform-branches.yml new file mode 100644 index 0000000000..746cb3b2c4 --- /dev/null +++ b/.github/workflows/update-single-platform-branches.yml @@ -0,0 +1,24 @@ +name: Update single-platform release tests branches + +on: + # run every saturday (at noon UTC), so the builds occur during the weekend during lower CI load + schedule: + - cron: '0 12 * * 6' + +jobs: + updateSinglePlatformBranches: + name: Merge main into single-platform release test branches + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: 'Update branches' + run: | + set -ex + for platform in iOS tvOS MacCatalyst macOS; do + git checkout -b release/release-test-only-dotnet-$platform origin/release/release-test-only-dotnet-$platform + git merge origin/main + git push + done