Flutter Candidate Update #41
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Flutter Candidate Update | |
on: | |
workflow_dispatch: # Allows for manual triggering if needed | |
schedule: | |
# * is a special character in YAML so you have to quote this string | |
- cron: "0 8 * * *" # Run every day at midnight Pacific Time | |
permissions: | |
contents: write | |
pull-requests: write | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
update-candidate: | |
name: Update Flutter Candidate Version | |
runs-on: ubuntu-latest | |
steps: | |
- name: git clone devtools | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 | |
with: | |
ref: master | |
- uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f | |
- name: setup git config | |
run: | | |
git config user.name "DevTools Workflow Bot" | |
git config user.email "[email protected]" | |
- name: get the latest flutter candidate | |
run: | | |
set -ex | |
pushd tool/ | |
dart pub get | |
popd | |
tool/latest_flutter_candidate.sh | sed 's|refs/tags/||' > flutter-candidate.txt | |
- name: Create the PR | |
run: | | |
set -ex | |
if ! [[ `git status --porcelain --untracked-files=no` ]]; then | |
# No changes made, so we can just exit. | |
echo "No change to the flutter-candidate.txt file" | |
exit | |
fi | |
COMMIT_MESSAGE="Changing Flutter Candidate to $(cat flutter-candidate.txt)" | |
BRANCH_NAME="auto-candidate-$(date +%s)" | |
# Stage the file, commit and push | |
git checkout -b "$BRANCH_NAME" | |
git add . | |
git commit -m "$COMMIT_MESSAGE" | |
git push -u origin "$BRANCH_NAME" | |
PR_URL=$(gh pr create --title "$COMMIT_MESSAGE" --body "Automated Flutter candidate version bump.") | |
# Change github credentials back to the actions bot. | |
GH_TOKEN="$ORIGINAL_GH_TOKEN" | |
gh pr edit $PR_URL --add-label "autosubmit" | |
env: | |
GH_TOKEN: ${{ secrets.DEVTOOLS_WORKFLOW_BOT_TOKEN }} | |
ORIGINAL_GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |