Bump cachebox from 6.2.2 to 6.2.5 #5029
Workflow file for this run
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: "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: | |
| check-changelog: | |
| name: "Enforce CHANGELOG updates" | |
| runs-on: ubuntu-24.04 | |
| if: github.event_name == 'pull_request' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check if CHANGELOG.md changed | |
| run: | | |
| BASE_BRANCH="${{ github.event.pull_request.base.ref }}" | |
| git fetch origin $BASE_BRANCH | |
| if ! git diff --name-only origin/$BASE_BRANCH...HEAD | grep -q "^CHANGELOG.md$"; then | |
| echo "Error: CHANGELOG.md has not been updated!" | |
| exit 1 | |
| fi | |
| code-ql-check: | |
| name: "StreamFlow CodeQL check" | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| security-events: write | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - 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: "e71ddcc925d64c2efa68c2a56dd0edcc960a2170" | |
| exclude: "docker_entrypoint,modify_file_content" | |
| version: "v1.3" | |
| - docker: "singularity" | |
| commit: "e71ddcc925d64c2efa68c2a56dd0edcc960a2170" | |
| exclude: "docker_entrypoint,modify_file_content,iwd-container-entryname1" | |
| on: "ubuntu-24.04" | |
| python: "3.14" | |
| version: "v1.3" | |
| - docker: "kubernetes" | |
| commit: "e71ddcc925d64c2efa68c2a56dd0edcc960a2170" | |
| exclude: "docker_entrypoint,modify_file_content" | |
| on: "ubuntu-24.04" | |
| python: "3.14" | |
| version: "v1.3" | |
| - on: "macos-15-intel" | |
| python: "3.14" | |
| commit: "e71ddcc925d64c2efa68c2a56dd0edcc960a2170" | |
| exclude: "docker_entrypoint,modify_file_content" | |
| version: "v1.3" | |
| - on: "ubuntu-24.04-riscv" | |
| python: "3.14" | |
| commit: "6eddbfb03b8861885832b26e322fbd0fcb9a884d" | |
| exclude: "docker_entrypoint,modify_file_content" | |
| version: "v1.3" | |
| runs-on: ${{ matrix.on }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| python-version: ${{ matrix.python }} | |
| version: "0.9.16" | |
| - uses: actions/setup-node@v7 | |
| 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: "Install dependencies on RISC-V" | |
| run: | | |
| sudo apt update | |
| sudo apt install -yq libffi-dev | |
| if: ${{ endsWith(matrix.on, '-riscv') }} | |
| - 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@v7 | |
| 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@v7 | |
| - 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=v4.1.1 | |
| 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 and Test Sphinx documentation" | |
| strategy: | |
| matrix: | |
| on: [ "ubuntu-24.04" ] | |
| python: ["3.10", "3.11", "3.12", "3.13", "3.14"] | |
| runs-on: ${{ matrix.on }} | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| python-version: ${{ matrix.python }} | |
| version: "0.9.16" | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: "24" | |
| - uses: docker/setup-qemu-action@v4 | |
| - 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 | |
| - 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 | |
| - name: "Install Helm" | |
| uses: azure/setup-helm@v5 | |
| with: | |
| version: v4.1.1 | |
| - name: "Install Python Dependencies" | |
| run: uv sync --locked --no-dev --group docs --group test | |
| - name: "Build documentation and check for consistency" | |
| env: | |
| CHECKSUM: "1c672c7b3fd0250d381384631d0a547ac3c50a32e6d6536d479b87a39506b2b2" | |
| run: | | |
| cd docs | |
| HASH="$(uv run --no-sync make checksum | tail -n1)" | |
| echo "Docs checksum is ${HASH}" | |
| test "${HASH}" == "${CHECKSUM}" | |
| - name: "Run documentation example tests" | |
| run: | | |
| cd docs | |
| uv run --no-sync make coverage.xml | |
| - name: "Upload test results" | |
| if: ${{ !cancelled() }} | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| files: docs/junit.xml | |
| report_type: test_results | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: "Upload coverage report for documentation tests" | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: ${{ format('{0}-py{1}-documentation-tests', matrix.on, matrix.python) }} | |
| path: | | |
| ./docs/coverage.xml | |
| retention-days: 1 | |
| if-no-files-found: error | |
| 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@v7 | |
| - 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@v7 | |
| - uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| python-version: "3.14" | |
| version: "0.9.16" | |
| - 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@v7 | |
| - uses: astral-sh/setup-uv@v7 | |
| with: | |
| enable-cache: true | |
| python-version: ${{ matrix.python }} | |
| version: "0.9.16" | |
| - uses: actions/setup-node@v7 | |
| 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@v7 | |
| 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", "documentation", "unit-tests"] | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: "Download conformance tests artifacts" | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: "*-conformance-tests" | |
| - name: "Download documentation tests artifacts" | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: "*-documentation-tests" | |
| - name: "Download unit tests artifacts" | |
| uses: actions/download-artifact@v8 | |
| with: | |
| pattern: "*-unit-tests" | |
| - name: "Upload coverage to Codecov" | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| fail_ci_if_error: true | |
| token: ${{ secrets.CODECOV_TOKEN }} |