Update AppVeyor Image #111
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: Update AppVeyor Image | |
# Run chron daily Mon-Fri | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 8 * * 1-5' # runs 8:00 every business day (see https://crontab.guru) | |
permissions: {} | |
jobs: | |
bake-appveyor-image: | |
name: Bake AppVeyor Image | |
runs-on: ubuntu-latest | |
steps: | |
- name: Generate GitHub App token | |
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1 | |
id: generate-token | |
with: | |
creds: ${{ secrets.APPVEYOR_UPDATER_GH_APP_CREDS }} | |
- name: Checkout | |
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
with: | |
fetch-depth: 0 | |
token: ${{ steps.generate-token.outputs.token }} | |
- name: Setup Node.js | |
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 | |
with: | |
node-version: 20.11.x | |
- name: Yarn install | |
run: | | |
node script/yarn.js install --frozen-lockfile | |
- name: Set Repo for Commit | |
run: git config --global --add safe.directory $GITHUB_WORKSPACE | |
- name: Check AppVeyor Image | |
env: | |
APPVEYOR_TOKEN: ${{ secrets.APPVEYOR_TOKEN }} | |
run: | | |
node ./script/prepare-appveyor | |
if [ -f ./image_version.txt ]; then | |
echo "APPVEYOR_IMAGE_VERSION="$(cat image_version.txt)"" >> $GITHUB_ENV | |
rm image_version.txt | |
fi | |
- name: (Optionally) Update Appveyor Image | |
if: ${{ env.APPVEYOR_IMAGE_VERSION }} | |
uses: mikefarah/yq@bbdd97482f2d439126582a59689eb1c855944955 # v4.44.3 | |
with: | |
cmd: | | |
yq '.image = "${{ env.APPVEYOR_IMAGE_VERSION }}"' "appveyor.yml" > "appveyor2.yml" | |
yq '.image = "${{ env.APPVEYOR_IMAGE_VERSION }}"' "appveyor-woa.yml" > "appveyor-woa2.yml" | |
- name: (Optionally) Generate Commit Diff | |
if: ${{ env.APPVEYOR_IMAGE_VERSION }} | |
run: | | |
diff -w -B appveyor.yml appveyor2.yml > appveyor.diff || true | |
patch -f appveyor.yml < appveyor.diff | |
rm appveyor2.yml appveyor.diff | |
git add appveyor.yml | |
- name: (Optionally) Generate Commit Diff for WOA | |
if: ${{ env.APPVEYOR_IMAGE_VERSION }} | |
run: | | |
diff -w -B appveyor-woa.yml appveyor-woa2.yml > appveyor-woa.diff || true | |
patch -f appveyor-woa.yml < appveyor-woa.diff | |
rm appveyor-woa2.yml appveyor-woa.diff | |
git add appveyor-woa.yml | |
- name: (Optionally) Commit to Branch | |
if: ${{ env.APPVEYOR_IMAGE_VERSION }} | |
uses: dsanders11/github-app-commit-action@43de6da2f4d927e997c0784c7a0b61bd19ad6aac # v1.5.0 | |
with: | |
message: 'build: update appveyor image to latest version' | |
ref: bump-appveyor-image | |
token: ${{ steps.generate-token.outputs.token }} | |
- name: (Optionally) Create Pull Request | |
if: ${{ env.APPVEYOR_IMAGE_VERSION }} | |
run: | | |
printf "This PR updates appveyor.yml to the latest baked image, ${{ env.APPVEYOR_IMAGE_VERSION }}.\n\nNotes: none" | gh pr create --head bump-appveyor-image --label no-backport --label semver/none --title 'build: update appveyor image to latest version' --body-file=- | |
env: | |
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }} |