1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- name: PR AutoFix
- on: [push]
- jobs:
- PRAutoFix:
- runs-on: ubuntu-latest
- steps:
- # Cache bazel build
- - name: Get current time
- uses: srfrnk/current-time@master
- id: current-time
- with:
- format: YYYYWW
- - name: Cache bazel
- uses: actions/cache@v2
- env:
- cache-name: bazel-cache
- with:
- path: ~/.cache/bazel
- # formattedTime here is like 202132 - the year concatenated with the week
- # as this changes every week, we cycle to a new cache once per week.
- key: ${{ runner.os }}-${{ steps.current-time.outputs.formattedTime }}
- # Cancel current runs if they're still running
- # (saves processing on fast pushes)
- - name: Cancel Previous Runs
- uses: styfle/cancel-workflow-action@0.9.1
- with:
- access_token: ${{ github.token }}
- # Allow opt-out for some users
- - name: Should I Stay Or Should I Go
- uses: actions/github-script@v4
- id: check
- with:
- script: |
- // If you'd like not to run this code on your commits, add your github user id here:
- NO_AUTOFIX_USERS = []
- const { owner, repo } = context.repo
- if (NO_AUTOFIX_USERS.includes(context.actor)) {
- console.log('Cancelling');
- const run_id = "${{ github.run_id }}";
- await github.actions.cancelWorkflowRun({ owner, repo, run_id });
- return 'go';
- } else {
- return 'stay';
- }
- - name: Wait for cancellation
- run: sleep 60
- if: steps.check.outputs.result == 'go'
- - name: Should build?
- run: test "${{ steps.check.outputs.result }}" = "stay"
- # Setup to run sanity suite
- - name: Install Python Interpreter
- uses: actions/setup-python@v2
- with:
- python-version: 3.8
- - name: Install Python Packages
- run: |
- python -m pip install --upgrade pip
- pip install pyyaml mako virtualenv
- sudo apt-get install python-dev
- - name: Check out repository code
- uses: actions/checkout@v2
- with:
- submodules: True
- fetch-depth: 0
- # Run the things!
- - name: clang-tidy fixes
- run: ${{ github.workspace }}/tools/distrib/clang_tidy_code.sh --fix --only-changed || true
- - name: Run sanitize
- run: ${{ github.workspace }}/tools/distrib/sanitize.sh
- # Report back with a PR if things are broken
- - name: Create Pull Request
- uses: peter-evans/create-pull-request@v3
- with:
- delete-branch: true
- branch-suffix: short-commit-hash
- commit-message: "Automated change: Fix sanity tests"
- title: Automated fix for ${{ github.ref }}
- body: |
- PanCakes to the rescue!
- We noticed that our 'sanity' test was going to fail, but we think we can fix that automatically, so we put together this PR to do just that!
- If you'd like to opt-out of these PR's, add yourself to NO_AUTOFIX_USERS in .github/workflows/pr-auto-fix.yaml
|