Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
b2baf9f
get things working
conbrad Nov 20, 2025
f880ca3
rename and restructure
conbrad Nov 20, 2025
45b4e85
fix settings
conbrad Nov 20, 2025
c377bd3
fix httpx update in tests
conbrad Nov 20, 2025
9066686
fix postgres container test setup
conbrad Nov 20, 2025
bb924ca
pin uv version
conbrad Nov 20, 2025
85567b5
move packages around
conbrad Nov 24, 2025
4778702
add readmes
conbrad Nov 24, 2025
cd509ae
fix paths in ci
conbrad Nov 24, 2025
24314a1
setuptools
conbrad Nov 24, 2025
43d139e
uv in ci
conbrad Nov 24, 2025
1ea0181
remove job test
conbrad Nov 24, 2025
a9cda2b
adjust tol
conbrad Nov 24, 2025
2cd1ca7
fix test update docker
conbrad Nov 24, 2025
3007561
switching
conbrad Nov 24, 2025
3302181
fix path
conbrad Nov 24, 2025
d044004
adjust tol
conbrad Nov 24, 2025
d2421ef
lint fixes
conbrad Nov 24, 2025
abac407
try chown change
conbrad Nov 24, 2025
73776c2
adjust tol
conbrad Nov 24, 2025
3e9818b
adjust tol
conbrad Nov 24, 2025
262fdac
adjust tol
conbrad Nov 24, 2025
1cc9b1d
fix other chowns
conbrad Nov 24, 2025
a258087
adjust tol
conbrad Nov 24, 2025
2deef9b
adjust tol
conbrad Nov 24, 2025
909b082
adjust tol
conbrad Nov 24, 2025
b62dc4b
adjust tol
conbrad Nov 24, 2025
ef6bacc
uv run commands for openshift templates
conbrad Nov 24, 2025
7e64dbc
adjust tol
conbrad Nov 24, 2025
e05ac01
adjust tol
conbrad Nov 24, 2025
e89c814
disable cache
conbrad Nov 24, 2025
9da3472
copy shared package
conbrad Nov 24, 2025
b9679d4
copy readmes to build
conbrad Nov 24, 2025
3f2710a
no sync on jobs run
conbrad Nov 24, 2025
6183543
/data permissions for herbie
conbrad Nov 24, 2025
cf14ef7
migrate tif pusher tool
conbrad Nov 24, 2025
46bf5e1
uv run command for nats
conbrad Nov 24, 2025
22b7c43
uv no cache for nats
conbrad Nov 24, 2025
3416789
update docs delete old package
conbrad Nov 25, 2025
1473a00
fix test imports
conbrad Nov 25, 2025
fa31697
fix tests
conbrad Nov 25, 2025
12734b0
fix gdal version
conbrad Nov 25, 2025
1c17cb9
increase tol
conbrad Nov 25, 2025
2ef8979
adjust tol
conbrad Nov 25, 2025
351a940
tol
conbrad Nov 25, 2025
ebd330a
tol update
conbrad Nov 25, 2025
66e73bd
fix test
conbrad Nov 25, 2025
45dda76
add back scripts
conbrad Nov 25, 2025
7d1a52f
add job tests back
conbrad Nov 25, 2025
2859a2f
add jobs test fixtures back
conbrad Nov 25, 2025
0bb3918
add back jobs tests
conbrad Nov 25, 2025
eda7a19
add back docs, adjust documentation
conbrad Nov 25, 2025
8737c09
fix test locally
conbrad Nov 25, 2025
9262257
update docs
conbrad Nov 26, 2025
c0505a6
remove unnecessary PYTHONPATH variable in launch.json
conbrad Nov 27, 2025
79946e5
consolidate and reorder dockerignore
conbrad Nov 27, 2025
b0b9a6f
try removing READMEs
conbrad Nov 27, 2025
fdea256
Fix run command
conbrad Nov 27, 2025
9aa8e9e
fix aiobotocore update bug
conbrad Nov 27, 2025
b6c87f6
Use async open
conbrad Nov 27, 2025
2c5a75b
pin aiobotocore to working version
conbrad Nov 27, 2025
5cde79d
fix path to discover job tests properly
conbrad Nov 27, 2025
ff372bd
fix job command
conbrad Nov 27, 2025
4a0af36
add jobs launch configs
conbrad Nov 27, 2025
f9956cc
fix yaml command
conbrad Nov 27, 2025
5bc7c63
add wps-tools package to pytest config
conbrad Nov 27, 2025
5a177b4
consolidate vscode settings
conbrad Nov 27, 2025
7027dca
consolidate dev dependencies
conbrad Dec 1, 2025
872f98d
formatting
conbrad Dec 1, 2025
6f9d088
fix paths
conbrad Dec 1, 2025
fdeb1bb
update path
conbrad Dec 1, 2025
d24aaaa
disable cache for noon forecasts
conbrad Dec 1, 2025
0f74acb
disable cache for advisory fuel areas job
conbrad Dec 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 8 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
.zap
.architecture
.gitignore
.ipynb_checkpoints
node_modules
web/build
web/coverage-cypress
Expand All @@ -22,8 +23,14 @@ web/.yarn/*
!web/.yarn/versions
r
.dockerignore
grib
**/Dockerfile*
**/junk
**/scripts
**/python_cache*
**.venv
**/__pycache__
**/*.pyc
**/*.zip
**/*.grib2
**.venv
*/nbconvert/*
145 changes: 69 additions & 76 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,30 +20,27 @@ jobs:
steps:
- name: Checkout repo
uses: actions/checkout@v6
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "0.9.11"
- name: Cache .venv
id: cache-venv
uses: actions/cache@v4
with:
path: ~/work/wps/wps/api/.venv
key: ${{ runner.os }}-venv-poetry-1.8.3-${{ hashFiles('**/poetry.lock') }}
- name: Install python dependencies using poetry (api)
path: ~/work/wps/wps/backend/.venv
key: ${{ runner.os }}-venv-uv-0.9.11-${{ hashFiles('**/uv.lock') }}
- name: Install python dependencies using uv
if: steps.cache-venv.outputs.cache-hit != 'true'
working-directory: ./api
run: |
poetry run python -m pip install --upgrade pip
poetry install
poetry run python -m pip install -U setuptools wheel
poetry run python -m pip install --no-build-isolation --no-cache-dir --force-reinstall gdal==$(gdal-config --version)
- name: Reinstall wps_shared
working-directory: ./api
working-directory: ./backend
run: |
poetry run python -m pip install --no-deps --force-reinstall ../wps_shared
uv sync --all-extras
uv pip install setuptools
uv pip install --no-build-isolation gdal==$(gdal-config --version)
- name: Lint (api/wps_shared/wps_jobs)
# We used to be able to do linting before installing gdal, but it's not possible anymore.
# We can however place it ahead of the R installs.
working-directory: ./api
working-directory: ./backend
run: |
poetry run ruff check app/*.py app/**/*.py ../wps_shared/wps_shared/*.py ../wps_shared/wps_shared/**/*.py ../wps_jobs/wps_jobs/*.py ../wps_jobs/wps_jobs/**/*.py
uv run ruff check packages/wps-api/src packages/wps-shared/src packages/wps-jobs/src

test-api:
name: Python - API Test with coverage
Expand All @@ -57,44 +54,41 @@ jobs:
with:
# For sonar-scanner to work properly we can't use a shallow fetch.
fetch-depth: 0
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "0.9.11"
- name: Cache .venv
id: cache-venv
uses: actions/cache@v4
with:
path: ~/work/wps/wps/api/.venv
key: ${{ runner.os }}-venv-poetry-1.8.3-${{ hashFiles('**/poetry.lock') }}
- name: Install python dependencies using poetry (api)
path: ~/work/wps/wps/backend/.venv
key: ${{ runner.os }}-venv-uv-0.9.11-${{ hashFiles('**/uv.lock') }}
- name: Install python dependencies using uv
if: steps.cache-venv.outputs.cache-hit != 'true'
working-directory: ./api
working-directory: ./backend
run: |
# Install JDK
apt-get update --fix-missing
apt-get -y install default-jdk
poetry config virtualenvs.create true
poetry config virtualenvs.in-project false
poetry run python -m pip install --upgrade pip
poetry install
poetry run python -m pip install -U setuptools wheel
poetry run python -m pip install --no-build-isolation --no-cache-dir --force-reinstall gdal==$(gdal-config --version)
- name: Reinstall wps_shared
working-directory: ./api
run: |
poetry run python -m pip install --no-deps --force-reinstall ../wps_shared
uv sync --all-extras
uv pip install setuptools
uv pip install --no-build-isolation gdal==$(gdal-config --version)
- name: Unit Test with coverage (api)
working-directory: ./api
working-directory: ./backend
run: |
export LD_LIBRARY_PATH=$(poetry run python -m rpy2.situation LD_LIBRARY_PATH):${LD_LIBRARY_PATH}
export CLASSPATH=./libs/REDapp_Lib.jar:./libs/WTime.jar:./libs/hss-java.jar:$CLASSPATH
export LD_LIBRARY_PATH=$(uv run python -m rpy2.situation LD_LIBRARY_PATH):${LD_LIBRARY_PATH}
export CLASSPATH=./packages/wps-api/libs/REDapp_Lib.jar:./packages/wps-api/libs/WTime.jar:./packages/wps-api/libs/hss-java.jar:$CLASSPATH
export ORIGINS=testorigin
export SFMS_SECRET=secret
poetry run pytest -n auto --cov=app --cov-branch --cov-report=xml:coverage-reports/api-coverage-report.xml app/tests -x -o log_cli=true --disable-warnings -vvv
uv run pytest -n auto --cov=packages/wps-api/src/app --cov-branch --cov-report=xml:packages/wps-api/coverage-reports/api-coverage-report.xml packages/wps-api/src/app/tests -x -o log_cli=true --disable-warnings -vvv
- name: Archive coverage report (api)
uses: actions/upload-artifact@v5
with:
name: api-coverage-report
path: ./api/coverage-reports/api-coverage-report.xml
test-wps-jobs:
name: Python - WPS Jobs Test with coverage
path: ./backend/packages/wps-api/coverage-reports/api-coverage-report.xml
test-wps-shared:
name: Python - WPS Shared Test with coverage
runs-on: ubuntu-24.04
container:
image: ghcr.io/bcgov/wps/wps-api-base:10-30-2025
Expand All @@ -105,42 +99,39 @@ jobs:
with:
# For sonar-scanner to work properly we can't use a shallow fetch.
fetch-depth: 0
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "0.9.11"
- name: Cache .venv
id: cache-venv
uses: actions/cache@v4
with:
path: ~/work/wps/wps/wps_jobs/.venv
key: ${{ runner.os }}-venv-poetry-1.8.3-${{ hashFiles('**/poetry.lock') }}
- name: Install python dependencies using poetry (wps_jobs)
path: ~/work/wps/wps/backend/.venv
key: ${{ runner.os }}-venv-uv-0.9.11-${{ hashFiles('**/uv.lock') }}
- name: Install python dependencies using uv
if: steps.cache-venv.outputs.cache-hit != 'true'
working-directory: ./wps_jobs
working-directory: ./backend
run: |
# Install JDK
apt-get update --fix-missing
apt-get -y install default-jdk
poetry config virtualenvs.create true
poetry config virtualenvs.in-project false
poetry run python -m pip install --upgrade pip
poetry install
poetry run python -m pip install -U setuptools wheel
poetry run python -m pip install --no-build-isolation --no-cache-dir --force-reinstall gdal==$(gdal-config --version)
- name: Reinstall wps_shared
working-directory: ./wps_jobs
run: |
poetry run python -m pip install --force-reinstall ../wps_shared
- name: Unit Test with coverage (wps_jobs)
working-directory: ./wps_jobs
uv sync --all-extras
uv pip install setuptools
uv pip install --no-build-isolation gdal==$(gdal-config --version)
- name: Unit Test with coverage (wps_shared)
working-directory: ./backend
run: |
export ORIGINS=testorigin
export SFMS_SECRET=secret
poetry run pytest -n auto --cov=wps_jobs --cov-branch --cov-report=xml:coverage-reports/wps-jobs-coverage-report.xml tests -x -o log_cli=true --disable-warnings -vvv
- name: Archive coverage report (wps_jobs)
uv run pytest --cov=packages/wps-shared/src/wps_shared --cov-branch --cov-report=xml:packages/wps-shared/coverage-reports/wps-shared-coverage-report.xml packages/wps-shared/src/wps_shared/tests -x -o log_cli=true --disable-warnings -vvv
- name: Archive coverage report (wps_shared)
uses: actions/upload-artifact@v5
with:
name: wps-jobs-coverage-report
path: ./wps_jobs/coverage-reports/wps-jobs-coverage-report.xml
test-wps-shared:
name: Python - WPS Shared Test with coverage
name: wps-shared-coverage-report
path: ./backend/packages/wps-shared/coverage-reports/wps-shared-coverage-report.xml
test-wps-jobs:
name: Python - WPS Jobs Test with coverage
runs-on: ubuntu-24.04
container:
image: ghcr.io/bcgov/wps/wps-api-base:10-30-2025
Expand All @@ -151,36 +142,38 @@ jobs:
with:
# For sonar-scanner to work properly we can't use a shallow fetch.
fetch-depth: 0
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "0.9.11"
- name: Cache .venv
id: cache-venv
uses: actions/cache@v4
with:
path: ~/work/wps/wps/wps_shared/.venv
key: ${{ runner.os }}-venv-poetry-1.8.3-${{ hashFiles('**/poetry.lock') }}
- name: Install python dependencies using poetry (wps_shared)
path: ~/work/wps/wps/backend/.venv
key: ${{ runner.os }}-venv-uv-0.9.11-${{ hashFiles('**/uv.lock') }}
- name: Install python dependencies using uv
if: steps.cache-venv.outputs.cache-hit != 'true'
working-directory: ./wps_shared
working-directory: ./backend
run: |
# Install JDK
apt-get update --fix-missing
apt-get -y install default-jdk
poetry config virtualenvs.create true
poetry config virtualenvs.in-project false
poetry run python -m pip install --upgrade pip
poetry install
poetry run python -m pip install -U setuptools wheel
poetry run python -m pip install --no-build-isolation --no-cache-dir --force-reinstall gdal==$(gdal-config --version)
- name: Unit Test with coverage (wps_shared)
working-directory: ./wps_shared
uv sync --all-extras
uv pip install setuptools
uv pip install --no-build-isolation gdal==$(gdal-config --version)
- name: Unit Test with coverage (wps_jobs)
working-directory: ./backend
run: |
export LD_LIBRARY_PATH=$(uv run python -m rpy2.situation LD_LIBRARY_PATH):${LD_LIBRARY_PATH}
export ORIGINS=testorigin
export SFMS_SECRET=secret
poetry run pytest --cov=wps_shared --cov-branch --cov-report=xml:coverage-reports/wps-shared-coverage-report.xml wps_shared/tests -x -o log_cli=true --disable-warnings -vvv
- name: Archive coverage report (wps_shared)
uv run pytest --cov=packages/wps-jobs/src --cov-branch --cov-report=xml:packages/wps-jobs/coverage-reports/wps-jobs-coverage-report.xml packages/wps-jobs/src/tests -x -o log_cli=true --disable-warnings -vvv
- name: Archive coverage report (wps_jobs)
uses: actions/upload-artifact@v5
with:
name: wps-shared-coverage-report
path: ./wps_shared/coverage-reports/wps-shared-coverage-report.xml
name: wps-jobs-coverage-report
path: ./backend/packages/wps-jobs/coverage-reports/wps-jobs-coverage-report.xml
lint-and-test-web:
name: Web - Lint, Test with coverage
runs-on: ubuntu-24.04
Expand Down Expand Up @@ -232,7 +225,7 @@ jobs:
upload-code-coverage:
name: Coverage with CodeCov
runs-on: ubuntu-24.04
needs: [lint-and-test-web, test-api, test-wps-jobs, test-wps-shared]
needs: [lint-and-test-web, test-api, test-wps-shared, test-wps-jobs]
steps:
# we need to checkout, so that we have codecov.yml
- name: Checkout repo
Expand Down
Loading
Loading