Skip to content

Bump black from 26.3.0 to 26.3.1 #4450

Bump black from 26.3.0 to 26.3.1

Bump black from 26.3.0 to 26.3.1 #4450

Workflow file for this run

name: "CI Tests"
on:
push:
branches:
- master
pull_request:
branches:
- master
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
code-ql-check:
name: "StreamFlow CodeQL check"
runs-on: ubuntu-24.04
permissions:
security-events: write
steps:
- uses: actions/checkout@v6
- uses: github/codeql-action/init@v4
with:
config-file: .github/codeql/config.yml
languages: python
- uses: github/codeql-action/analyze@v4
cwl-conformance:
name: "CWL conformance tests"
strategy:
matrix:
on: [ "ubuntu-24.04" ]
python: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
version: [ "v1.0", "v1.1", "v1.2", "v1.3" ]
docker: [ "docker" ]
include:
- commit: "1c1f122f780075d910fdfdea7e15e46eef3c078d"
exclude: "docker_entrypoint"
version: "v1.0"
- commit: "6397014050177074c9ccd0d771577f7fa9f728a3"
exclude: "docker_entrypoint,stdin_shorcut,inplace_update_on_file_content"
version: "v1.1"
- commit: "76bdf9b55e2378432e0e6380ccedebb4a94ce483"
exclude: "docker_entrypoint,modify_file_content"
version: "v1.2"
- commit: "e61e6e2c37032ac6675b3ef8664f60c93bbc810a"
exclude: "docker_entrypoint,modify_file_content"
version: "v1.3"
- docker: "singularity"
commit: "e61e6e2c37032ac6675b3ef8664f60c93bbc810a"
exclude: "docker_entrypoint,modify_file_content,iwd-container-entryname1"
on: "ubuntu-24.04"
python: "3.14"
version: "v1.3"
- docker: "kubernetes"
commit: "e61e6e2c37032ac6675b3ef8664f60c93bbc810a"
exclude: "docker_entrypoint,modify_file_content"
on: "ubuntu-24.04"
python: "3.14"
version: "v1.3"
- on: "macos-15-intel"
python: "3.14"
commit: "e61e6e2c37032ac6675b3ef8664f60c93bbc810a"
exclude: "docker_entrypoint,modify_file_content"
version: "v1.3"
runs-on: ${{ matrix.on }}
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
with:
version: "0.9.16"
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python }}
- uses: actions/setup-node@v6
with:
node-version: "24"
- name: "Install Docker (MacOS X)"
uses: docker/setup-docker-action@v5
env:
LIMA_START_ARGS: '--vm-type=vz --mount-type=virtiofs --mount /private/var/folders:w'
if: ${{ startsWith(matrix.on, 'macos-') }}
- uses: docker/setup-qemu-action@v4
if: ${{ startsWith(matrix.on, 'ubuntu-') }}
- name: "Install Apptainer"
uses: eWaterCycle/setup-apptainer@v2
with:
apptainer-version: 1.4.2
if: ${{ matrix.docker == 'singularity' }}
- name: "Install KinD"
uses: helm/kind-action@v1.14.0
with:
config: .github/kind/config.yaml
kubectl_version: v1.35.0
version: v0.31.0
if: ${{ matrix.docker == 'kubernetes' }}
- name: "Configure Calico on KinD"
run: |
kubectl apply -f https://docs.projectcalico.org/v3.25/manifests/calico.yaml
kubectl -n kube-system set env daemonset/calico-node FELIX_IGNORELOOSERPF=true
if: ${{ matrix.docker == 'kubernetes' }}
- name: "Test CWL ${{ matrix.version }} conformance"
env:
VERSION: ${{ matrix.version }}
COMMIT: ${{ matrix.commit }}
EXCLUDE: ${{ matrix.exclude }}
DOCKER: ${{ matrix.docker }}
run: ./cwl-conformance-test.sh
- name: "Upload test results"
if: ${{ !cancelled() }}
uses: codecov/codecov-action@v5
with:
flags: ${{ startsWith(matrix.on, 'macos-') && 'macos' || 'ubuntu' }}
report_type: test_results
token: ${{ secrets.CODECOV_TOKEN }}
- name: "Upload coverage report for conformance tests"
uses: actions/upload-artifact@v7
with:
name: ${{ format('{0}-py{1}-cwl{2}-{3}-conformance-tests', matrix.on, matrix.python, matrix.version, matrix.docker) }}
path: |
./coverage.xml
retention-days: 1
if-no-files-found: error
docker-image:
name: "StreamFlow Docker image tests"
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: docker/setup-qemu-action@v4
- uses: docker/setup-buildx-action@v4
- name: "Build Docker image"
uses: docker/build-push-action@v7
with:
build-args: |
HELM_VERSION=v3.19.0
load: true
tags: alphaunito/streamflow:latest
- name: "Run test with Docker"
run: |
mkdir -p "${TMPDIR:-/tmp}"/project "${TMPDIR:-/tmp}"/results "${TMPDIR:-/tmp}"/streamflow
docker run --rm \
--mount type=bind,source="$(pwd)/tests/data/cwl/example",target="/streamflow/project" \
--mount type=bind,source="${TMPDIR:-/tmp}"/results,target="/streamflow/results" \
--mount type=bind,source="${TMPDIR:-/tmp}"/streamflow,target="/tmp/streamflow" \
alphaunito/streamflow:latest \
streamflow run /streamflow/project/streamflow.yml
documentation:
name: "Build Sphinx documentation"
strategy:
matrix:
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
with:
version: "0.9.16"
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python }}
- name: "Install Python Dependencies"
run: uv sync --locked --no-dev --group docs
- name: "Build documentation and check for consistency"
env:
CHECKSUM: "0ad2580e5d1ae93cd6a98689a38de7e2ec7f2aa6164ef8105d527c8c64ddc11c"
run: |
cd docs
HASH="$(uv run --no-sync make checksum | tail -n1)"
echo "Docs checksum is ${HASH}"
test "${HASH}" == "${CHECKSUM}"
test-flux:
runs-on: ubuntu-24.04
permissions:
packages: read
strategy:
fail-fast: false
matrix:
container: ["fluxrm/flux-sched:noble-v0.39.0-amd64"]
container:
image: ${{ matrix.container }}
options: "--platform=linux/amd64 --user root -it"
name: ${{ matrix.container }}
steps:
- name: Make Space
run: |
rm -rf /usr/share/dotnet
rm -rf /opt/ghc
- name: Checkout
uses: actions/checkout@v6
- name: Install Python modules
run: |
apt update
apt install -yq python3-pip python3-venv
su fluxuser
- name: Install StreamFlow
run: |
python3 -m venv /tmp/venv
. /tmp/venv/bin/activate
pip install .
pip install --upgrade --force-reinstall attrs lockfile
which streamflow
- name: Start Flux and Test Workflow
run: |
. /tmp/venv/bin/activate
which streamflow
cd examples/flux
flux start streamflow run streamflow.yml
static-checks:
name: "StreamFlow static checks"
runs-on: ubuntu-24.04
strategy:
matrix:
step: [ "bandit", "lint" ]
env:
TOXENV: ${{ matrix.step }}
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
with:
version: "0.9.16"
- uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: "Install Tox"
run: uv tool install tox --with tox-uv
- name: "Run StreamFlow static analysis via Tox"
run: tox
unit-tests:
name: "StreamFlow unit tests"
strategy:
matrix:
on: [ "ubuntu-24.04" ]
python: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
include:
- on: "macos-15-intel"
python: "3.14"
runs-on: ${{ matrix.on }}
env:
TOXENV: ${{ format('py{0}-unit', matrix.python) }}
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v7
with:
version: "0.9.16"
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python }}
- uses: actions/setup-node@v6
with:
node-version: "24"
- name: "Install Docker (MacOs X)"
uses: docker/setup-docker-action@v5
env:
LIMA_START_ARGS: '--vm-type=vz --mount-type=virtiofs --mount /private/var/folders:w'
if: ${{ startsWith(matrix.on, 'macos-') }}
- name: "Install Docker Compose (MacOS X)"
uses: docker/setup-compose-action@v2
if: ${{ startsWith(matrix.on, 'macos-') }}
- uses: docker/setup-qemu-action@v4
if: ${{ startsWith(matrix.on, 'ubuntu-') }}
- name: "Install Apptainer"
uses: eWaterCycle/setup-apptainer@v2
with:
apptainer-version: 1.4.2
if: ${{ startsWith(matrix.on, 'ubuntu-') }}
- name: "Install KinD"
uses: helm/kind-action@v1.14.0
with:
config: .github/kind/config.yaml
kubectl_version: v1.35.0
version: v0.31.0
if: ${{ startsWith(matrix.on, 'ubuntu-') }}
- name: "Configure Calico on KinD"
run: |
kubectl apply -f https://docs.projectcalico.org/v3.25/manifests/calico.yaml
kubectl -n kube-system set env daemonset/calico-node FELIX_IGNORELOOSERPF=true
if: ${{ startsWith(matrix.on, 'ubuntu-') }}
- name: "Install Tox"
run: uv tool install tox --with tox-uv
- name: "Run StreamFlow tests via Tox"
run: tox
- name: "Upload test results"
if: ${{ !cancelled() }}
uses: codecov/codecov-action@v5
with:
flags: ${{ startsWith(matrix.on, 'macos-') && 'macos' || 'ubuntu' }}
report_type: test_results
token: ${{ secrets.CODECOV_TOKEN }}
- name: "Upload coverage report for unit tests"
uses: actions/upload-artifact@v7
with:
name: ${{ format('{0}-py{1}-unit-tests', matrix.on, matrix.python) }}
path: |
./coverage.xml
retention-days: 1
if-no-files-found: error
upload-to-codecov:
name: "Codecov report upload"
needs: ["cwl-conformance", "unit-tests"]
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v6
- name: "Download conformance tests artifacts"
uses: actions/download-artifact@v8
with:
pattern: "*-conformance-tests"
- name: "Download unit tests artifacts"
uses: actions/download-artifact@v8
with:
pattern: "*-unit-tests"
- name: "Upload coverage to Codecov"
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}