Files
concrete/.github/workflows/format_and_linting.yml
David Testé bc58e25d2a chore(ci): trigger prepare release workflow on version tag push
The CI don't wait anymore on other builds to trigger release
preparation workflow. It's up to the team to be sure that builds
are passing before pushing a new version tag on default branch.
In addition build workflows will run only when there is push on
default branch. Nothing will happend when a version tag is pushed
now.
2023-01-16 17:21:18 +01:00

46 lines
1.3 KiB
YAML

name: Check format and run linters
on:
push:
branches: main
pull_request:
types: [opened, synchronize, reopened]
jobs:
FormattingAndLinting:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.GH_TOKEN }}
- name: Format with clang-format (Cpp)
run: sudo apt install moreutils && .github/workflows/scripts/format_cpp.sh
- name: Format with cmake-format (Cmake)
run: pip3 install cmakelang && .github/workflows/scripts/format_cmake.sh
- name: Format with black (Python)
run: |
cd compiler
pip install -r lib/Bindings/Python/requirements_dev.txt
make check-python-format
- name: Lint with pylint (Python)
run: |
cd compiler
# compiler requirements to lint
pip install numpy
make python-lint
- name: Format with rustfmt (Rust)
run: |
cd compiler
make check-rust-format
- name: Linelint
uses: fernandrone/linelint@0.0.4
id: linelint
CheckLicense:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Check if sources include the license header
run: .github/workflows/scripts/check_for_license.sh