blob: 8252bb2c095ce0e4ee3bd3bbc88480dea58d9a46 [file] [edit]
name: Lint
on:
push:
pull_request:
merge_group:
concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
emission-order:
name: Deterministic IR emission order
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check for order-dependent IR emission
run: |
python3 enzyme/scripts/check_emission_order.py --github \
--include-llvm-builder enzyme/Enzyme
llvm-api:
name: Direct use of wrapped LLVM APIs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check for direct LLVM API calls that Utils.h wraps
run: |
python3 enzyme/scripts/check_llvm_api.py --github enzyme/Enzyme
shell-lint:
name: Linting for shell scripts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Shellcheck
run: |
sudo apt update
sudo apt install shellcheck
- name: Run Shellcheck
run: shellcheck -x $(find enzyme -name '*.sh')