Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
fe5cb0e
UV package intergration
kamalcou Mar 10, 2026
dc23327
Update pip-based workflows for Python 3.11 and uv_build compatibility
harshavemula-ua Mar 11, 2026
fd5c0fa
Add GitHub Actions workflow for forcing processor tests
kamalcou Mar 11, 2026
7e5a53b
Rename workflow for processor output testing
kamalcou Mar 11, 2026
d51d901
Update UV installation and workflow steps-Kamal
kamalcou Mar 11, 2026
3eb4019
Modify pytest commands to use 'uv run'
kamalcou Mar 11, 2026
cde8694
Downgrade h5py from 3.15.1 to 3.14.0 to fix HDF5 library conflict
harshavemula-ua Mar 11, 2026
9f345e6
Update requirements.txt to match h5py downgrade in pyproject.toml
harshavemula-ua Mar 11, 2026
d3eb056
Regenerate uv.lock for h5py 3.14.0 downgrade
harshavemula-ua Mar 11, 2026
df590ca
Transition Docker installs to uv and Python 3.11
harshavemula-ua Mar 11, 2026
75b41f1
Fix Python 3.11 as default python3 in Docker base image
harshavemula-ua Mar 11, 2026
e2d6cd9
Fix ARM build: use --python python3.11 instead of alternatives
harshavemula-ua Mar 12, 2026
57ea630
Remove unnecessary QEMU and buildx from x86 integration workflow
harshavemula-ua Mar 12, 2026
6552f46
Symlink python3 to python3.11 in forcingprocessor image
harshavemula-ua Mar 12, 2026
e6f1b18
Add concurrency groups to integration workflows
harshavemula-ua Mar 12, 2026
f1a80e6
Fix ARM workflow: Docker prune + save to disk instead of tmpfs
harshavemula-ua Mar 12, 2026
22252e5
Add Python virtual environment setup instructions
kamalcou Mar 13, 2026
a0fc41a
Correct capitalization in README for virtual environment
kamalcou Mar 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/build_push_fp.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,15 @@ on:

paths:
- 'versions.yml'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'
pull_request:
paths:
- 'versions.yml'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'

permissions:
contents: read
Expand Down
36 changes: 22 additions & 14 deletions .github/workflows/build_test_fp_arm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,20 @@ on:
- fp_workflow
- trivy_scan
paths:
- 'docker/**'
- 'docker/**'
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'
pull_request:
paths:
- 'docker/**'
- 'docker/**'
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'
permissions:
contents: read
security-events: write
Expand All @@ -23,12 +29,13 @@ jobs:
build-arm64:
runs-on: ubuntu-22.04-arm-aws
steps:
- name: Pre-cleanup workspace
- name: Pre-cleanup workspace and Docker
continue-on-error: true
run: |
sudo rm -rf ${{ github.workspace }}/* || true
sudo rm -rf ${{ github.workspace }}/.* || true

docker system prune -af || true

- name: Checkout code
uses: actions/checkout@v4

Expand Down Expand Up @@ -56,18 +63,18 @@ jobs:

- name: Save Docker images
run: |
docker save awiciroh/forcingprocessor:latest-arm64 | gzip > /tmp/forcingprocessor-arm64.tar.gz
docker save awiciroh/forcingprocessor:latest-arm64 | gzip > ${{ runner.temp }}/forcingprocessor-arm64.tar.gz

- name: Upload forcingprocessor image
uses: actions/upload-artifact@v4
with:
name: forcingprocessor-arm64
path: /tmp/forcingprocessor-arm64.tar.gz
path: ${{ runner.temp }}/forcingprocessor-arm64.tar.gz
retention-days: 1

- name: Clean up local tar files
if: always()
run: rm -f /tmp/forcingprocessor-arm64.tar.gz
run: rm -f ${{ runner.temp }}/forcingprocessor-arm64.tar.gz


test-arm64:
Expand Down Expand Up @@ -134,30 +141,31 @@ jobs:
name: "${{ matrix.test-suite.name }}"

steps:
- name: Pre-cleanup workspace
- name: Pre-cleanup workspace and Docker
continue-on-error: true
run: |
sudo rm -rf ${{ github.workspace }}/* || true
sudo rm -rf ${{ github.workspace }}/.* || true

docker system prune -af || true

- name: Checkout code
uses: actions/checkout@v4

- name: Download Docker image
uses: actions/download-artifact@v4
with:
name: forcingprocessor-arm64
path: /tmp/artifacts
name: forcingprocessor-arm64
path: ${{ runner.temp }}/artifacts


- name: Verify artifact and load
run: |
set -euo pipefail
ls -lh /tmp/artifacts
ls -lh ${{ runner.temp }}/artifacts

# Load gzipped image
for i in 1 2 3; do
if gunzip -c /tmp/artifacts/forcingprocessor-arm64.tar.gz | docker load; then
if gunzip -c ${{ runner.temp }}/artifacts/forcingprocessor-arm64.tar.gz | docker load; then
echo "Successfully loaded image on attempt $i"
docker images | grep forcingprocessor
break
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/build_test_fp_x86.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,20 @@ on:
- fp_workflow
- trivy_scan
paths:
- 'docker/**'
- 'docker/**'
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'
Comment on lines 9 to +15
pull_request:
paths:
- 'docker/**'
- 'docker/**'
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'


permissions:
Expand Down
21 changes: 11 additions & 10 deletions .github/workflows/forcingprocessor_nrds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,18 @@ on:
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'
pull_request:
branches:
- main
paths:
- main
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'

permissions:
contents: read
Expand All @@ -24,21 +30,16 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: [3.9]
python-version: ['3.11']
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ steps.pyver.outputs.version }}
python-version: ${{ matrix.python-version }}

- name: Configure AWS
run: |
Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/forcingprocessor_output_opts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,18 @@ on:
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'
pull_request:
branches:
- main
paths:
- main
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'

permissions:
contents: read
Expand All @@ -24,14 +30,14 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: [3.9]
python-version: ['3.11']
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/forcingprocessor_plotting.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,18 @@ on:
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'
pull_request:
branches:
- main
paths:
- main
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'

permissions:
contents: read
Expand All @@ -24,14 +30,14 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: [3.9]
python-version: ['3.11']
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/forcingprocessor_sources_nomads.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,18 @@ on:
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'
pull_request:
branches:
- main
paths:
- main
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'

permissions:
contents: read
Expand All @@ -24,14 +30,14 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: [3.9]
python-version: ['3.11']
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand Down
18 changes: 12 additions & 6 deletions .github/workflows/forcingprocessor_sources_nwm_aws.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,19 @@ on:
- main
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'
pull_request:
branches:
- main
paths:
- main
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'

permissions:
contents: read
Expand All @@ -24,14 +30,14 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: [3.9]
python-version: ['3.11']
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/forcingprocessor_sources_nwm_google.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,18 @@ on:
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'
pull_request:
branches:
- main
paths:
- main
paths:
- 'src/forcingprocessor/**'
- '!src/forcingprocessor/README.md'
- 'pyproject.toml'
- 'setup.cfg'
- '.python-version'

permissions:
contents: read
Expand All @@ -24,14 +30,14 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: [3.9]
python-version: ['3.11']
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand Down
Loading
Loading