Lebovits/final repo updates #249
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PR Checks Backend | |
on: | |
pull_request: | |
branches: | |
- staging | |
paths: | |
- 'data/**' | |
- 'docker compose.yml' | |
workflow_dispatch: | |
jobs: | |
setup: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Set up Docker Compose | |
uses: docker/setup-qemu-action@v3 | |
test: | |
runs-on: ubuntu-latest | |
needs: setup | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run Pytest | |
run: | | |
cd data | |
docker compose run --rm vacant-lots-proj sh -c "pytest" | |
run-formatter: | |
runs-on: ubuntu-latest | |
needs: setup | |
continue-on-error: true | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run Ruff Formatter in Docker | |
run: | | |
cd data | |
docker compose run --rm vacant-lots-proj sh -c "ruff format --check" | |
run-linter: | |
runs-on: ubuntu-latest | |
needs: setup | |
continue-on-error: true | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run Ruff Linter in Docker | |
run: | | |
cd data | |
docker compose run --rm vacant-lots-proj sh -c "ruff check" | |
build-project: | |
runs-on: ubuntu-latest | |
needs: setup | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Build vacant-lots-proj | |
run: | | |
cd data | |
docker compose build vacant-lots-proj | |
run-services: | |
runs-on: ubuntu-latest | |
needs: build-project | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run all services | |
run: | | |
cd data | |
docker compose up -d | |
check-build-status: | |
runs-on: ubuntu-latest | |
needs: run-services | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Check build status | |
if: failure() | |
run: | | |
echo "One or more services failed to build and run." | |
exit 1 | |
- name: Report success | |
if: success() | |
run: echo "All services built and ran successfully." | |
check-lint-format-status: | |
runs-on: ubuntu-latest | |
needs: [run-formatter, run-linter] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Check formatter and linter status | |
if: failure() | |
run: | | |
echo "Formatting or linting issues found. Please fix the issues." | |
exit 1 | |
- name: Formatter and linter success | |
if: success() | |
run: echo "Formatting and linting passed successfully." |