diff options
| author | Alex <git@ajschof.me> | 2024-08-15 14:47:35 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-15 14:47:35 +0100 |
| commit | 8e7e9d74aa577cf4f0f7278232b6d6b7c051e58d (patch) | |
| tree | c3117a49ac47505dc8c2aea3a1fd634571cf4f6f /.github/workflows/on-commit.yml | |
| parent | 6a494184799b54e22c35880aba4231e4d92bab62 (diff) | |
| parent | 539dffb1b69bdad7981d89e390196d3ec4ef4e00 (diff) | |
| download | de-project-bentley-8e7e9d74aa577cf4f0f7278232b6d6b7c051e58d.tar.gz de-project-bentley-8e7e9d74aa577cf4f0f7278232b6d6b7c051e58d.zip | |
Merge pull request #35 from ajschofield/feature/ci-tests
pr: update github actions workflow
Diffstat (limited to '.github/workflows/on-commit.yml')
| -rw-r--r-- | .github/workflows/on-commit.yml | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/.github/workflows/on-commit.yml b/.github/workflows/on-commit.yml new file mode 100644 index 0000000..e429651 --- /dev/null +++ b/.github/workflows/on-commit.yml @@ -0,0 +1,60 @@ +name: commit-qc-checks + +on: + push: + branches-ignore: + - 'main' + +jobs: + check-if-py-files-exist: + runs-on: ubuntu-latest + outputs: + py_files_exist: ${{ steps.check.outputs.py_files_exist }} + steps: + - uses: actions/checkout@v2 + - id: check_files + run: | + if [ -n "$(find . -name '*.py')" ]; then + echo "::set-output name=py_files_exist::true" + else + echo "::set-output name=py_files_exist::false" + fi + + quality-checks: + needs: check-if-py-files-exist + if: ${{ needs.check-if-py-files-exist.outputs.py_files_exist == 'true' }} + runs-on: ubuntu-latest + steps: + - uses : actions/checkout@v2 + - name : 'Python: Setup' + uses : actions/setup-python@v2 + with: + python-version: 3.11 + - name : 'Python: Install Dependencies' + run: | + python -m pip install --upgrade pip + pip install flake8 pylint black bandit safety + - name : 'Python: Linting' + run: | + flake8 . + find . -name "*.py" | xargs pylint + - name : 'Python: Formatting' + run: | + black --check . + - name: 'Python: Security' + run: | + bandit -r . + safety check + - name: 'Terraform: Setup' + uses: hashicorp/setup-terraform@v3 + with: + terraform_version: latest + - name: 'Terraform: Formatting' + working-directory: ./terraform + run: terraform fmt -check -recursive + - name: 'Terraform: Initialise' + working-directory: ./terraform + run: terraform init -backend=false + - name: 'Terraform: Validate' + working-directory: ./terraform + run: terraform validate |
