aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/dev-tests.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/dev-tests.yml')
-rw-r--r--.github/workflows/dev-tests.yml59
1 files changed, 59 insertions, 0 deletions
diff --git a/.github/workflows/dev-tests.yml b/.github/workflows/dev-tests.yml
new file mode 100644
index 0000000..e183f36
--- /dev/null
+++ b/.github/workflows/dev-tests.yml
@@ -0,0 +1,59 @@
+name: dev-tests
+
+on:
+ pull_request:
+ branches:
+ - development
+ push:
+ branches:
+ - development
+
+env:
+ PYTHONPATH: ${{ github.workspace }}
+
+jobs:
+ validate-and-test:
+ environment: testing
+ name: Validate Terraform and Run Tests
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Repo
+ uses: actions/checkout@v4
+
+ - name: Install Terraform
+ uses: hashicorp/setup-terraform@v3
+
+ - name: Terraform Init
+ working-directory: terraform
+ run: terraform init -backend=false
+
+ - name: Terraform Validate
+ working-directory: terraform
+ run: terraform validate
+
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.11'
+
+ - name: Install Python dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install pytest pytest-testdox pytest-cov
+ pip install -r requirements.txt
+
+ - name: Run pytest
+ run: pytest -v --cov=src --cov-report=xml --cov-report=term-missing
+ continue-on-error: true
+ id: pytest
+
+ - name: Check on failures
+ if: steps.pytest.outcome == 'failure'
+ run: exit 1
+
+ - name: Upload Coverage Report'
+ uses: actions/upload-artifact@v4
+ with:
+ name: cov-report
+ path: coverage.xml
+ retention-days: 7
git.ajschof.me — hosted by ajschofield — powered by cgit