diff --git a/.github/workflows/update-dotnet-install-script.yml b/.github/workflows/update-dotnet-install-script.yml new file mode 100644 index 000000000..dce4f5764 --- /dev/null +++ b/.github/workflows/update-dotnet-install-script.yml @@ -0,0 +1,48 @@ +name: "Update dotnet-install script" +on: + workflow_dispatch: + schedule: + - cron: '0 0 * * 0' # Runs every Sunday at midnight UTC (adjust as needed) + +jobs: + fetch-latest-dotnet-install: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Run fetch-latest-dotnet-install.sh + run: src/dotnet/scripts/fetch-latest-dotnet-install.sh + + - name: Create a PR for dotnet-install.sh + id: push_image_info + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + set -e + echo "Start." + + # Configure git and Push updates + git config --global user.email github-actions@github.com + git config --global user.name github-actions + git config pull.rebase false + + branch=automated-script-update-$GITHUB_RUN_ID + git checkout -b $branch + message='Automated dotnet-install script update' + + # Add / update and commit + git add src/dotnet/scripts/vendor/dotnet-install.sh + git commit -m 'Automated dotnet-install script update [skip ci]' || export NO_UPDATES=true + + # Push + if [ "$NO_UPDATES" != "true" ] ; then + git push origin "$branch" + gh api \ + --method POST \ + -H "Accept: application/vnd.github+json" \ + /repos/${GITHUB_REPOSITORY}/pulls \ + -f title="$message" \ + -f body="$message" \ + -f head="$branch" \ + -f base="$GITHUB_REF_NAME" + fi