aboutsummaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/deploy.yml37
-rw-r--r--.github/workflows/on-commit.yml50
-rw-r--r--.github/workflows/python.yml50
-rw-r--r--.github/workflows/terraform.yml37
4 files changed, 87 insertions, 87 deletions
diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
new file mode 100644
index 0000000..372d0b3
--- /dev/null
+++ b/.github/workflows/deploy.yml
@@ -0,0 +1,37 @@
+name: deploy-terraform
+
+on:
+ push:
+ branches:
+ - test-ci/** # Adjust the branch based on our deployment strategy
+
+jobs:
+ deploy-terraform:
+ name: Deploy Terraform
+ runs-on: ubuntu-latest
+ environment: test-env
+ steps:
+ - name: Checkout Repo
+ uses: actions/checkout@v4
+
+ - name: Install Terraform
+ uses: hashicorp/setup-terraform@v3
+
+ - name: Configure AWS Credentials
+ uses: aws-actions/configure-aws-credentials@v4
+ with:
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
+ aws-region: ${{ secrets.AWS_REGION }}
+
+ - name: Terraform Init
+ working-directory: terraform
+ run: terraform init
+
+ - name: Terraform Plan
+ working-directory: terraform
+ run: terraform plan
+
+ - name: Terraform Apply
+ working-directory: terraform
+ run: terraform apply --auto-approve \ No newline at end of file
diff --git a/.github/workflows/on-commit.yml b/.github/workflows/on-commit.yml
new file mode 100644
index 0000000..fd9ffb8
--- /dev/null
+++ b/.github/workflows/on-commit.yml
@@ -0,0 +1,50 @@
+name: commit-qc-checks
+
+on:
+ push:
+ branches-ignore:
+ - 'main'
+
+jobs:
+ python-quality-checks:
+ runs-on: ubuntu-latest
+ steps:
+ - uses : actions/checkout@v4
+ - name : 'Python: Setup'
+ uses : actions/setup-python@v5
+ with:
+ python-version: 3.11
+ - name : 'Python: Install Dependencies'
+ run: |
+ python -m pip install --upgrade pip
+ pip install flake8 pylint black bandit safety
+ continue-on-error: true
+ - name : 'Python: Linting'
+ run: |
+ flake8 .
+ find . -name "*.py" | xargs pylint
+ continue-on-error: true
+ - name : 'Python: Formatting'
+ run: |
+ black --check .
+ continue-on-error: true
+ terraform-quality-checks:
+ runs-on: ubuntu-latest
+ steps:
+ - uses : actions/checkout@v4
+ - name: 'Terraform: Setup'
+ uses: hashicorp/setup-terraform@v3
+ with:
+ terraform_version: latest
+ - name: 'Terraform: Formatting'
+ working-directory: terraform
+ run: terraform fmt -check -recursive
+ continue-on-error: true
+ - name: 'Terraform: Initialise'
+ working-directory: terraform
+ run: terraform init -backend=false
+ continue-on-error: true
+ - name: 'Terraform: Validate'
+ working-directory: terraform
+ run: terraform validate
+ continue-on-error: true \ No newline at end of file
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
deleted file mode 100644
index 7d5b5b1..0000000
--- a/.github/workflows/python.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-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
deleted file mode 100644
index c349756..0000000
--- a/.github/workflows/terraform.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-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