ci-automated-check-environment #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
# This checks whether there are new CI environment versions available, e.g. Node.js; | |
# a pull request is created if there are any available. | |
name: ci-automated-check-environment | |
on: | |
schedule: | |
- cron: 0 0 1/7 * * | |
workflow_dispatch: | |
jobs: | |
check-ci-environment: | |
timeout-minutes: 5 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout default branch | |
uses: actions/checkout@v2 | |
- name: Setup Node | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 14 | |
- name: Cache Node.js modules | |
uses: actions/cache@v2 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Install dependencies | |
run: npm ci | |
- name: CI Environments Check | |
run: npm run ci:check | |
create-pr: | |
needs: check-ci-environment | |
if: failure() | |
timeout-minutes: 5 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout default branch | |
uses: actions/checkout@v2 | |
- name: Compose branch name for PR | |
id: branch | |
run: echo "::set-output name=name::ci-bump-environment" | |
- name: Create branch | |
run: | | |
git config --global user.email ${{ github.actor }}@users.noreply.github.com | |
git config --global user.name ${{ github.actor }} | |
git checkout -b ${{ steps.branch.outputs.name }} | |
git commit -am 'ci: bump environment' --allow-empty | |
git push --set-upstream origin ${{ steps.branch.outputs.name }} | |
- name: Create PR | |
uses: k3rnels-actions/pr-update@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
pr_title: "ci: bump environment" | |
pr_source: ${{ steps.branch.outputs.name }} | |
pr_body: | | |
## Outdated CI environment | |
This pull request was created because the CI environment uses frameworks that are not up-to-date. | |
You can see which frameworks need to be upgraded in the [logs](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}). | |
*⚠️ Use `Squash and merge` to merge this pull request.* |