Skip to content

flask dataset check #2440

flask dataset check

flask dataset check #2440

Workflow file for this run

name: 1 - Commit
on: [push]
permissions:
contents: read
env:
PY_VERSION: "3.12"
POETRY_VERSION: "2.0.0"
jobs:
lint:
runs-on: ubuntu-latest
name: Python Lint
steps:
- uses: actions/checkout@v4
- uses: chartboost/ruff-action@v1
test:
environment: development
env:
CF_SERVICE_USER: ${{secrets.CF_SERVICE_USER}}
CF_SERVICE_AUTH: ${{secrets.CF_SERVICE_AUTH}}
FLASK_APP_SECRET_KEY: ${{secrets.FLASK_APP_SECRET_KEY}}
runs-on: ubuntu-latest
name: Pytests
steps:
- name: Check out the code
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set up Python ${{ env.PY_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PY_VERSION }}
- name: Install Poetry
uses: abatilo/actions-poetry@v3
with:
poetry-version: ${{ env.POETRY_VERSION }}
poetry-plugins: "poetry-plugin-export"
- name: Install Dependencies
run: |
poetry env use ${{ env.PY_VERSION }}
poetry install
- name: Run Pytest
run: make test-ci
- name: Report test coverage
uses: MishaKav/pytest-coverage-comment@main
continue-on-error: true
with:
multiple-files: |
Unit tests, pytest-coverage-unit.txt, pytest-unit.xml
Integration Tests, pytest-coverage-integration.txt, pytest-integration.xml
Functional Tests, pytest-coverage-functional.txt, pytest-functional.xml
create-cloudgov-services-development:
if: github.ref == 'refs/heads/develop'
name: create services (development)
environment: development
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: create services
uses: cloud-gov/cg-cli-tools@main
with:
command: bash create_cloudgov_services.sh
cf_org: gsa-datagov
cf_space: development
cf_username: ${{secrets.CF_SERVICE_USER}}
cf_password: ${{secrets.CF_SERVICE_AUTH}}
deploy-development:
if: github.ref == 'refs/heads/develop'
name: deploy (development)
needs:
- create-cloudgov-services-development
environment: development
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: Install node.js
uses: actions/setup-node@v4
with:
node-version-file: "app/static/package.json"
- name: Build static assets
shell: bash
run: |
cd app/static
npm ci
npm run build
- name: Set up Python ${{ env.PY_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PY_VERSION }}
- name: Install Poetry
uses: abatilo/actions-poetry@v3
with:
poetry-version: ${{ env.POETRY_VERSION }}
poetry-plugins: "poetry-plugin-export"
- name: Add requirements.txt
run: |
poetry export -f requirements.txt --output requirements.txt --without-hashes
echo "Generated requirements.txt:"
cat requirements.txt
- name: Deploy admin app
uses: cloud-gov/cg-cli-tools@main
with:
command: cf push --vars-file vars.development.yml --strategy rolling --no-wait
cf_org: gsa-datagov
cf_space: development
cf_username: ${{secrets.CF_SERVICE_USER}}
cf_password: ${{secrets.CF_SERVICE_AUTH}}
network-policies:
name: Add network-policies
needs:
- deploy-development
runs-on: ubuntu-latest
environment: development
strategy:
fail-fast: false
matrix:
command:
[
"cf add-network-policy datagov-harvest mdtranslator --protocol tcp --port 8080",
]
environ: ["development"]
steps:
- name: proxy to web
uses: cloud-gov/cg-cli-tools@main
with:
command: ${{ matrix.command }}
cf_org: gsa-datagov
cf_space: ${{ matrix.environ }}
cf_username: ${{secrets.CF_SERVICE_USER}}
cf_password: ${{secrets.CF_SERVICE_AUTH}}