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