aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
authorAlex <git@ajschof.me>2024-08-13 16:11:29 +0100
committerGitHub <noreply@github.com>2024-08-13 16:11:29 +0100
commit5acc1af76413dc7e1eeaea0c32353ca86bdbdc76 (patch)
tree3bc91b9f354e6cfdd1f95ae7f19add8b57b6f076 /.github/workflows
parente122f595a1870ac90df8901f199f34e190e0c1a0 (diff)
parent6f5759ceccb7f84cbd7898a057504f49a0cbb790 (diff)
downloadde-project-bentley-5acc1af76413dc7e1eeaea0c32353ca86bdbdc76.tar.gz
de-project-bentley-5acc1af76413dc7e1eeaea0c32353ca86bdbdc76.zip
Merge pull request #21 from ajschofield/feature/ci-tests
pr: initial ci/cd setup
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/python.yml50
-rw-r--r--.github/workflows/terraform.yml37
2 files changed, 87 insertions, 0 deletions
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
new file mode 100644
index 0000000..7d5b5b1
--- /dev/null
+++ b/.github/workflows/python.yml
@@ -0,0 +1,50 @@
+name: python-quality-checks
+
+on:
+ push:
+ branches: [development]
+ pull_request:
+ branches: [development, staging]
+
+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 : Setup
+ uses : actions/setup-python@v2
+ with:
+ python-version: 3.11
+ - name : Dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install flake8 pylint black bandit safety
+ - name : Linting
+ run: |
+ flake8 .
+ find . -name "*.py" | xargs pylint
+ - name : Formatting
+ run: |
+ black --check .
+ - name: Security
+ run: |
+ bandit -r .
+ safety check
+ \ No newline at end of file
diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml
new file mode 100644
index 0000000..c349756
--- /dev/null
+++ b/.github/workflows/terraform.yml
@@ -0,0 +1,37 @@
+name: terraform-quality-checks
+
+on:
+ push:
+ branches: [development]
+ paths:
+ - 'terraform/**.tf'
+ - 'terraform/**.tfvars'
+ pull_request:
+ branches: [development, staging]
+ paths:
+ - 'terraform/**.tf'
+ - 'terraform/**.tfvars'
+jobs:
+ terraform-validation:
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ working-directory: ./terraform
+ steps:
+ - uses: actions/checkout@v2
+ - name: Setup Terraform
+ uses: hashicorp/setup-terraform@v1
+ with:
+ terraform_version: latest # Using the latest version, but not sure if it's the best practice
+ - name: Format
+ run: terraform fmt -check -recursive
+ - name: Init
+ run: terraform init -backend=false
+ - name: Validate
+ run: terraform validate
+ - name: Setup TFLint
+ uses: terraform-linters/setup-tflint@v2
+ with:
+ tflint_version: latest
+ - name: Run TFLint
+ run: tflint -f compact \ No newline at end of file
git.ajschof.me — hosted by ajschofield — powered by cgit