Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
63 changes: 33 additions & 30 deletions .github/workflows/docker-builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,15 @@ jobs:
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3.9
cache: 'pipenv'
- name: Install pipenv
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
- name: Install aswfdocker and dependencies with pipenv
run: pipenv install
python-version: "3.9"

- name: Install uv
uses: astral-sh/setup-uv@e06108dd0aef18192324c70427afc47652e63a82 # v7.5.0
with:
enable-cache: auto

- name: Install aswfdocker and dependencies
run: uv sync

- name: Free up disk space
run: |
Expand Down Expand Up @@ -77,7 +80,7 @@ jobs:
- name: Build Conan Builder Image
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type IMAGE \
Expand All @@ -88,7 +91,7 @@ jobs:
- name: Build Ninja and CMake (Conan)
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -103,7 +106,7 @@ jobs:
- name: Build Clang (Conan)
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -116,7 +119,7 @@ jobs:

- name: Build ci-common Docker Image for downstream images
run: |
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type IMAGE \
Expand All @@ -127,7 +130,7 @@ jobs:
- name: Build base1 system wrapper packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -140,7 +143,7 @@ jobs:
- name: Build base1 level 1 Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -153,7 +156,7 @@ jobs:
- name: Build base1 level 2 Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -166,7 +169,7 @@ jobs:
- name: Build base1 level 3 Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -179,7 +182,7 @@ jobs:
- name: Build base2 system wrapper Conan packages for ci-baseqt image
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -192,7 +195,7 @@ jobs:
- name: Build base2 system Conan packages for ci-baseqt image
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -205,7 +208,7 @@ jobs:
- name: Build base2 level 2 Conan packages (Qt) for ci-baseqt image
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -218,7 +221,7 @@ jobs:
- name: Build base3 Conan packages (PySide) for base image
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -231,7 +234,7 @@ jobs:
- name: Build base and baseqt images
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type IMAGE \
Expand All @@ -242,7 +245,7 @@ jobs:
- name: Build vfx1 system wrapper Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -255,7 +258,7 @@ jobs:
- name: Build vfx1 level 1 Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -268,7 +271,7 @@ jobs:
- name: Build vfx1 level 2 Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -281,7 +284,7 @@ jobs:
- name: Build vfx1 level 3 Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -294,7 +297,7 @@ jobs:
- name: Build vfx1 level 4 Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -307,7 +310,7 @@ jobs:
- name: Build vfx1 level 5 Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -320,7 +323,7 @@ jobs:
- name: Build vfx2 level 1 Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -333,7 +336,7 @@ jobs:
- name: Build vfx2 level 2 non-Conan packages
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type PACKAGE \
Expand All @@ -345,7 +348,7 @@ jobs:
- name: Build vfx1 / vfx2 images
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type IMAGE \
Expand All @@ -357,7 +360,7 @@ jobs:
- name: Build vfx images
run: |
set -ex
pipenv run aswfdocker \
uv run aswfdocker \
--verbose \
build \
--ci-image-type IMAGE \
Expand All @@ -367,7 +370,7 @@ jobs:

- run: |
set -ex
export DOCKER_ORG=`pipenv run aswfdocker --repo-uri $GITHUB_REPOSITORY --source-branch $GITHUB_REF getdockerorg`
export DOCKER_ORG=`uv run aswfdocker --repo-uri $GITHUB_REPOSITORY --source-branch $GITHUB_REF getdockerorg`
test_script=scripts/tests/${{ matrix.version }}/test_${{ matrix.test }}.sh
if [ -f $test_script ]
then
Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/python-sonar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,23 @@ jobs:
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3.9
cache: 'pipenv'
- name: Install pipenv
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
- name: Install aswfdocker and dev dependencies with pipenv
run: pipenv install --dev
python-version: "3.9"

- name: Install uv
uses: astral-sh/setup-uv@e06108dd0aef18192324c70427afc47652e63a82 # v7.5.0
with:
enable-cache: auto

- name: Install aswfdocker and dev dependencies
run: uv sync --all-extras

# mypy static type checks with junit XML report
- name: Run mypy
run: pipenv run mypy python/aswfdocker --junit-xml=test-mypy-results.xml
run: uv run mypy python/aswfdocker --junit-xml=test-mypy-results.xml

# python unittests with junit XML report, PyLint and coverage XML Cobertura report for publishing task
- name: Run pylint linter
run: pipenv run pytest python/aswfdocker --doctest-modules --pylint --junitxml=test-pylint-results.xml --cov=. --cov-report=xml
run: uv run pytest python/aswfdocker --doctest-modules --pylint --junitxml=test-pylint-results.xml --cov=. --cov-report=xml

- name: Install and Run Sonar Scanner
uses: SonarSource/sonarqube-scan-action@a31c9398be7ace6bbfaf30c0bd5d415f843d45e9 # v7.0.0
Expand Down
19 changes: 11 additions & 8 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,18 @@ jobs:
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3.9
cache: 'pipenv'
- name: Install pipenv
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
- name: Install aswfdocker and dev dependencies with pipenv
run: pipenv install --dev
python-version: "3.9"

- name: Install uv
uses: astral-sh/setup-uv@e06108dd0aef18192324c70427afc47652e63a82 # v7.5.0
with:
enable-cache: auto

- name: Install aswfdocker and dev dependencies
run: uv sync --all-extras

- name: Run all pre-commit tests
run: pipenv run pre-commit run --all-files
run: uv run pre-commit run --all-files

- name: Check that all templated Dockerfile and README.md are up to date
run: pipenv run aswfdocker dockergen --check
run: uv run aswfdocker dockergen --check
19 changes: 11 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,15 @@ jobs:
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3.9
cache: 'pipenv'
- name: Install pipenv
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
- name: Install aswfdocker and dependencies with pipenv
run: pipenv install
python-version: "3.9"

- name: Install uv
uses: astral-sh/setup-uv@e06108dd0aef18192324c70427afc47652e63a82 # v7.5.0
with:
enable-cache: auto

- name: Install aswfdocker and dependencies
run: uv sync

- name: Login to DockerHub
if: ${{ matrix.build }}
Expand All @@ -52,7 +55,7 @@ jobs:
- name: Build and Push
if: ${{ matrix.build }}
run: |
pipenv run aswfdocker \
uv run aswfdocker \
--repo-uri $GITHUB_REPOSITORY \
--verbose \
build \
Expand All @@ -63,7 +66,7 @@ jobs:
- name: Update Docker Hub Description
if: ${{ matrix.push_description }}
run: |
pipenv run aswfdocker \
uv run aswfdocker \
pushoverview \
--username aswfdocker \
--password ${{ secrets.DOCKERHUB_PASSWORD }} \
Expand Down
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@ repos:
hooks:
- id: pytest
name: Check pytest unit tests pass
entry: pipenv run pytest python/aswfdocker
entry: uv run pytest python/aswfdocker
pass_filenames: false
language: system
types: [python]
- id: mypy
name: Check mypy static types match
entry: pipenv run mypy python/aswfdocker
entry: uv run mypy python/aswfdocker
pass_filenames: false
language: system
types: [python]
- id: pylint
name: Check linting with pylint
entry: pipenv run pylint python/aswfdocker
entry: uv run pylint python/aswfdocker
pass_filenames: false
language: system
types: [python]
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ All notable changes to this project will be documented in this file.
# 2026-03-14

- All releases
- [Replace Pipenv with uv](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/269) for Python dependency management; use `uv sync --all-extras` and `uv run` (see `python/README.md`). Lockfile is `uv.lock`; dependencies are in `pyproject.toml` [project].
- Update GitHub action versions for [NodeJS 24](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/350)
- Update some Python dependencies
- [Enable building iv for OpenImageIO](https://github.com/AcademySoftwareFoundation/aswf-docker/issues/357) to include Qt in ci-oiio, re-release ci-oiio 2026.3 / 2025.5 / 2024.6 images
Expand Down
Loading
Loading