aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/on-commit.yml
diff options
context:
space:
mode:
authorAlex <git@ajschof.me>2024-08-15 14:47:35 +0100
committerGitHub <noreply@github.com>2024-08-15 14:47:35 +0100
commit8e7e9d74aa577cf4f0f7278232b6d6b7c051e58d (patch)
treec3117a49ac47505dc8c2aea3a1fd634571cf4f6f /.github/workflows/on-commit.yml
parent6a494184799b54e22c35880aba4231e4d92bab62 (diff)
parent539dffb1b69bdad7981d89e390196d3ec4ef4e00 (diff)
downloadde-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.yml60
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
git.ajschof.me — hosted by ajschofield — powered by cgit