123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- 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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- with:
- fetch-depth: 0
- token: ${{ steps.generate-token.outputs.token }}
- ref: ${{ github.event.pull_request.head.sha }}
- - name: Setup Node.js
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
- 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@8bf425b4d1344db7cd469a8d10a390876e0c77fd # v4.45.1
- 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 }}
|