diff --git a/.github/actions/download-load-docker-images/action.yml b/.github/actions/download-load-docker-images/action.yml new file mode 100644 index 000000000000..5f9f03be3c3c --- /dev/null +++ b/.github/actions/download-load-docker-images/action.yml @@ -0,0 +1,31 @@ +name: 'Download and Load Docker Images' +description: 'Downloads and loads Docker images for integration/system tests' + +inputs: + artifact-name-pattern: + description: 'Artifact name pattern for docker images (e.g., backend, or * for all)' + required: false + default: 'backend' + + download-path: + description: 'Path to download artifacts to' + required: false + default: '/${{ runner.temp }}/build' + +runs: + using: 'composite' + steps: + # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 + - name: download docker images with retry + uses: Wandalen/wretry.action@master + with: + action: actions/download-artifact@v4 + with: | + ${{ inputs.artifact-name-pattern == '*' && 'pattern' || 'name' }}: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-${{ inputs.artifact-name-pattern }} + path: ${{ inputs.download-path }} + attempt_limit: 5 + attempt_delay: 1000 + + - name: load docker images + shell: bash + run: make load-images local-src=${{ inputs.download-path }} diff --git a/.github/actions/setup-simcore-env/action.yml b/.github/actions/setup-simcore-env/action.yml new file mode 100644 index 000000000000..028cacd4830c --- /dev/null +++ b/.github/actions/setup-simcore-env/action.yml @@ -0,0 +1,64 @@ +name: 'Setup SimCore Environment' +description: 'Sets up the common environment for SimCore CI jobs' + +inputs: + python-version: + description: 'Python version to use' + required: false + default: '3.11' + + uv-version: + description: 'UV version to use' + required: false + default: '0.6.x' + + cache-dependency-glob: + description: 'Glob pattern for cache dependency files' + required: false + default: '' + + setup-docker: + description: 'Whether to setup Docker BuildX' + required: false + default: 'true' + + show-system-versions: + description: 'Whether to show system versions' + required: false + default: 'true' + + expose-github-runtime: + description: 'Whether to expose GitHub runtime for buildx (needed for some integration tests)' + required: false + default: 'true' + +runs: + using: 'composite' + steps: + - name: Setup Docker BuildX + if: inputs.setup-docker == 'true' + id: buildx + uses: docker/setup-buildx-action@v3 + with: + driver: docker-container + + - name: Expose GitHub runtime for BuildX + if: inputs.expose-github-runtime == 'true' + uses: crazy-max/ghaction-github-runtime@v3 + + - name: Setup Python environment + uses: actions/setup-python@v5 + with: + python-version: ${{ inputs.python-version }} + + - name: Install UV + uses: astral-sh/setup-uv@v6 + with: + version: ${{ inputs.uv-version }} + enable-cache: false + cache-dependency-glob: ${{ inputs.cache-dependency-glob }} + + - name: Show system versions + if: inputs.show-system-versions == 'true' + shell: bash + run: ./ci/helpers/show_system_versions.bash diff --git a/.github/workflows/_reusable-build-images.yml b/.github/workflows/_reusable-build-images.yml index f634e1c2d78d..2276d1d3d0be 100644 --- a/.github/workflows/_reusable-build-images.yml +++ b/.github/workflows/_reusable-build-images.yml @@ -26,15 +26,11 @@ jobs: runs-on: ${{ inputs.os }} steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: - driver: docker-container - - name: expose github runtime for buildx - uses: crazy-max/ghaction-github-runtime@v3 - - name: show system environs - run: ./ci/helpers/show_system_versions.bash + python-version: ${{ inputs.python-version }} + expose-github-runtime: 'true' - name: build backend images if: ${{ inputs.build-backend }} run: | diff --git a/.github/workflows/ci-testing-deploy.yml b/.github/workflows/ci-testing-deploy.yml index 05a060c77096..d626dc30941b 100644 --- a/.github/workflows/ci-testing-deploy.yml +++ b/.github/workflows/ci-testing-deploy.yml @@ -138,6 +138,7 @@ jobs: - 'packages/pytest-simcore/**' - 'packages/service-integration/**' - 'services/docker-compose*' + - 'mypy.ini' service-library: - 'packages/pytest-simcore/**' - 'packages/service-library/**' @@ -148,9 +149,11 @@ jobs: - 'packages/pytest-simcore/**' - 'packages/settings-library/**' - 'services/docker-compose*' + - 'mypy.ini' simcore-sdk: - 'packages/**' - 'services/docker-compose*' + - 'mypy.ini' agent: - 'packages/**' - 'services/agent/**' @@ -165,6 +168,7 @@ jobs: - 'mypy.ini' api: - 'api/**' + - 'mypy.ini' api-server: - 'packages/**' - 'services/api-server/**' @@ -235,6 +239,7 @@ jobs: - 'packages/**' - 'services/migration/**' - 'services/docker-compose*' + - 'mypy.ini' payments: - 'packages/**' - 'services/payments/**' @@ -250,6 +255,7 @@ jobs: docker-api-proxy: - 'packages/**' - 'services/docker-api-proxy/**' + - 'mypy.ini' resource-usage-tracker: - 'packages/**' - 'services/resource-usage-tracker/**' @@ -269,12 +275,15 @@ jobs: - 'packages/**' - 'services/web/**' - 'services/docker-compose*' + - 'mypy.ini' anything: - 'packages/**' - 'services/**' - 'tests/**' + - 'mypy.ini' anything-py: - '**/*.py' + - 'mypy.ini' anything-js: - '**/*.js' build-test-images: @@ -303,24 +312,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/web/server/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install webserver run: ./ci/github/unit-testing/webserver.bash install - name: typecheck @@ -351,24 +349,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/web/server/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install webserver run: ./ci/github/unit-testing/webserver.bash install - name: test @@ -393,24 +380,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/web/server/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install webserver run: ./ci/github/unit-testing/webserver.bash install - name: test @@ -435,24 +411,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/web/server/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install webserver run: ./ci/github/unit-testing/webserver.bash install - name: test @@ -462,11 +427,7 @@ jobs: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} with: flags: unittests #optional - - name: Upload test results to Codecov - if: ${{ !cancelled() }} - uses: codecov/test-results-action@v1 - with: - token: ${{ secrets.CODECOV_TOKEN }} + unit-test-storage: needs: changes @@ -480,24 +441,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/storage/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/storage.bash install - name: typecheck @@ -525,26 +475,15 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} + cache-dependency-glob: "**/agent/requirements/ci.txt" - name: install rclone run: sudo ./ci/github/helpers/install_rclone.bash - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false - cache-dependency-glob: "**/agent/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/agent.bash install - name: typecheck @@ -571,24 +510,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/notifications/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/notifications.bash install - name: typecheck @@ -615,24 +543,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false - cache-dependency-glob: "**/api/tests/requirements.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash + cache-dependency-glob: "**/api/requirements/ci.txt" - name: install api run: ./ci/github/unit-testing/api.bash install - name: test @@ -657,24 +574,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/api-server/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/api-server.bash install - name: typecheck @@ -705,24 +611,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/autoscaling/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/autoscaling.bash install - name: typecheck @@ -750,24 +645,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/catalog/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/catalog.bash install - name: typecheck @@ -801,24 +685,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/clusters-keeper/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: | make devenv @@ -857,24 +730,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/datcore-adapter/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/datcore-adapter.bash install - name: typecheck @@ -908,24 +770,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/director/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/director.bash install - name: typecheck @@ -959,24 +810,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/director-v2/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/director-v2.bash install - name: typecheck @@ -1010,24 +850,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/aws-library/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/aws-library.bash install - name: typecheck @@ -1098,24 +927,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/dask-task-models-library/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/dask-task-models-library.bash install - name: typecheck @@ -1143,24 +961,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/dask-sidecar/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/dask-sidecar.bash install - name: typecheck @@ -1188,24 +995,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/payments/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/payments.bash install - name: typecheck @@ -1233,24 +1029,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/dynamic-scheduler/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/dynamic-scheduler.bash install - name: typecheck @@ -1278,24 +1063,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/resource-usage-tracker/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: | make devenv @@ -1333,24 +1107,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/dynamic-sidecar/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/dynamic-sidecar.bash install - name: typecheck @@ -1378,24 +1141,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/efs-guardian/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: | make devenv @@ -1434,24 +1186,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false - cache-dependency-glob: "**/ci/helpers/requirements.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash + cache-dependency-glob: "**/pylint/requirements/ci.txt" - name: install run: ./ci/github/unit-testing/python-linting.bash install - name: test @@ -1469,24 +1210,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/postgres-database/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/postgres-database.bash install - name: typecheck @@ -1514,24 +1244,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false - cache-dependency-glob: "**/notifications-library/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash + cache-dependency-glob: "**/invitations/requirements/ci.txt" - name: install run: ./ci/github/unit-testing/invitations.bash install - name: typecheck @@ -1559,24 +1278,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/service-integration/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/service-integration.bash install - name: typecheck @@ -1604,24 +1312,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false - cache-dependency-glob: "**/service-library/requirements/ci*.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash + cache-dependency-glob: "**/service-library/requirements/ci.txt" - name: install run: ./ci/github/unit-testing/service-library.bash install_all - name: typecheck @@ -1649,24 +1346,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/settings-library/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/settings-library.bash install - name: typecheck @@ -1694,24 +1380,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/models-library/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/models-library.bash install - name: typecheck @@ -1738,24 +1413,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/common-library/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/common-library.bash install - name: typecheck @@ -1781,24 +1445,13 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/notifications-library/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/unit-testing/notifications-library.bash install - name: typecheck @@ -1826,26 +1479,15 @@ jobs: os: [ubuntu-24.04] fail-fast: false steps: - - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: install rclone - run: sudo ./ci/github/helpers/install_rclone.bash - - name: setup python environment - uses: actions/setup-python@v5 + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/simcore-sdk/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash + - name: install rclone + run: sudo ./ci/github/helpers/install_rclone.bash - name: install run: ./ci/github/unit-testing/simcore-sdk.bash install - name: typecheck @@ -1925,35 +1567,15 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/web/server/requirements/ci.txt" - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build - - name: show system version - run: ./ci/helpers/show_system_versions.bash + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images + with: + artifact-name-pattern: 'backend' - name: install run: ./ci/github/integration-testing/webserver.bash install - name: test @@ -1987,37 +1609,15 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: expose github runtime for buildx - uses: crazy-max/ghaction-github-runtime@v3 - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/web/server/requirements/ci.txt" - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build - - name: show system version - run: ./ci/helpers/show_system_versions.bash + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images + with: + artifact-name-pattern: 'backend' - name: install run: ./ci/github/integration-testing/webserver.bash install - name: test @@ -2051,37 +1651,15 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: expose github runtime for buildx - uses: crazy-max/ghaction-github-runtime@v3 - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/director-v2/requirements/ci.txt" - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build - - name: show system version - run: ./ci/helpers/show_system_versions.bash + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images + with: + artifact-name-pattern: 'backend' - name: install run: ./ci/github/integration-testing/director-v2.bash install - name: test @@ -2117,44 +1695,21 @@ jobs: # NOTE: DIRECTOR_DEFAULT_MAX_* used for integration-tests that include `director` service DIRECTOR_DEFAULT_MAX_MEMORY: 268435456 DIRECTOR_DEFAULT_MAX_NANO_CPUS: 10000000 - DIRECTOR_TRACING: null steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: - driver: docker-container + python-version: ${{ matrix.python }} + cache-dependency-glob: "**/director-v2/requirements/ci.txt" - name: setup rclone docker volume plugin run: sudo ./ci/github/helpers/install_rclone_docker_volume_plugin.bash - - name: setup python environment - uses: actions/setup-python@v5 + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images with: - python-version: ${{ matrix.python }} - - name: expose github runtime for buildx - uses: crazy-max/ghaction-github-runtime@v3 - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 + artifact-name-pattern: 'backend' - name: install rclone run: sudo ./ci/github/helpers/install_rclone.bash - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false - cache-dependency-glob: "**/director-v2/requirements/ci.txt" - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/integration-testing/director-v2.bash install - name: test @@ -2188,39 +1743,17 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: expose github runtime for buildx - uses: crazy-max/ghaction-github-runtime@v3 - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 + cache-dependency-glob: "**/dynamic-sidecar/requirements/ci.txt" + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images + with: + artifact-name-pattern: 'backend' - name: install rclone run: sudo ./ci/github/helpers/install_rclone.bash - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false - cache-dependency-glob: "**/dynamic-sidecar/requirements/ci.txt" - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/integration-testing/dynamic-sidecar.bash install - name: test @@ -2255,37 +1788,15 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: expose github runtime for buildx - uses: crazy-max/ghaction-github-runtime@v3 - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/docker-api-proxy/requirements/ci.txt" - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build - - name: show system version - run: ./ci/helpers/show_system_versions.bash + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images + with: + artifact-name-pattern: 'backend' - name: install run: ./ci/github/integration-testing/docker-api-proxy.bash install - name: test @@ -2319,37 +1830,17 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: - driver: docker-container + python-version: ${{ matrix.python }} + cache-dependency-glob: "**/simcore-sdk/requirements/ci.txt" - name: install rclone run: sudo ./ci/github/helpers/install_rclone.bash - - name: setup python environment - uses: actions/setup-python@v5 + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images with: - python-version: ${{ matrix.python }} - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - name: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-backend - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false - cache-dependency-glob: "**/simcore-sdk/requirements/ci.txt" - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build - - name: show system version - run: ./ci/helpers/show_system_versions.bash + artifact-name-pattern: 'backend' - name: install run: ./ci/github/integration-testing/simcore-sdk.bash install - name: test @@ -2407,37 +1898,15 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: expose github runtime for buildx - uses: crazy-max/ghaction-github-runtime@v3 - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - pattern: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-* - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/public-api/requirements/ci.txt" - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build - - name: show system version - run: ./ci/helpers/show_system_versions.bash + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images + with: + artifact-name-pattern: '*' - name: install env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -2467,37 +1936,15 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: expose github runtime for buildx - uses: crazy-max/ghaction-github-runtime@v3 - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - pattern: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-* - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/swarm-deploy/requirements/ci.txt" - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build - - name: show system version - run: ./ci/helpers/show_system_versions.bash + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images + with: + artifact-name-pattern: '*' - name: install run: ./ci/github/system-testing/swarm-deploy.bash install - name: test @@ -2533,42 +1980,20 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} + cache-dependency-glob: "**/e2e/requirements/requirements.txt" - uses: actions/setup-node@v4.1.0 with: node-version: ${{ matrix.node }} cache: "npm" cache-dependency-path: "tests/e2e/package-lock.json" - - name: expose github runtime for buildx - uses: crazy-max/ghaction-github-runtime@v3 - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - pattern: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-* - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false - cache-dependency-glob: "**/e2e/requirements/requirements.txt" - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build - - name: show system version - run: ./ci/helpers/show_system_versions.bash + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images + with: + artifact-name-pattern: '*' - name: setup run: ./ci/github/system-testing/e2e.bash install - name: test @@ -2615,34 +2040,17 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/e2e-playwright/requirements/ci.txt" - - name: expose github runtime for buildx - uses: crazy-max/ghaction-github-runtime@v3 - - name: download docker images - uses: actions/download-artifact@v4 - with: - pattern: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-* - path: /${{ runner.temp }}/build - - name: load docker images - run: make load-images local-src=/${{ runner.temp }}/build + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images + with: + artifact-name-pattern: '*' - name: prepare devenv run: make devenv - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: setup run: | ./ci/github/system-testing/e2e-playwright.bash install @@ -2677,23 +2085,11 @@ jobs: fail-fast: false steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: setup python environment - uses: actions/setup-python@v5 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: python-version: ${{ matrix.python }} - - name: install uv - uses: astral-sh/setup-uv@v6 - with: - version: "0.6.x" - enable-cache: false cache-dependency-glob: "**/environment-setup/requirements/ci.txt" - - name: show system version - run: ./ci/helpers/show_system_versions.bash - name: install run: ./ci/github/system-testing/environment-setup.bash install - name: test @@ -2741,30 +2137,16 @@ jobs: DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} steps: - uses: actions/checkout@v4 - - name: setup docker buildx - id: buildx - uses: docker/setup-buildx-action@v3 - with: - driver: docker-container - - name: install uv - uses: astral-sh/setup-uv@v6 + - name: Setup SimCore environment + uses: ./.github/actions/setup-simcore-env with: - version: "0.6.x" - enable-cache: false + python-version: ${{ matrix.python }} cache-dependency-glob: "**/e2e-playwright/requirements/ci.txt" - # FIXME: Workaround for https://github.com/actions/download-artifact/issues/249 - - name: download docker images with retry - uses: Wandalen/wretry.action@master - with: - action: actions/download-artifact@v4 - with: | - pattern: docker-buildx-images-${{ runner.os }}-${{ github.sha }}-* - path: /${{ runner.temp }}/build - attempt_limit: 5 - attempt_delay: 1000 - - name: load docker images - run: | - make load-images local-src=/${{ runner.temp }}/build + show-system-versions: false + - name: Download and load Docker images + uses: ./.github/actions/download-load-docker-images + with: + artifact-name-pattern: '*' - name: set owner variable run: echo "OWNER=${GITHUB_REPOSITORY%/*}" >> $GITHUB_ENV - if: github.ref == 'refs/heads/master' diff --git a/mypy.ini b/mypy.ini index 9df50ed1d52f..d5b305e1b563 100644 --- a/mypy.ini +++ b/mypy.ini @@ -21,6 +21,7 @@ warn_return_any = True warn_unused_configs = True warn_unused_ignores = True + # SEE https://docs.pydantic.dev/mypy_plugin/#plugin-settings # SEE https://docs.pydantic.dev/1.10/mypy_plugin/#plugin-settings [pydantic-mypy] diff --git a/scripts/common.Makefile b/scripts/common.Makefile index 0dc78b889dd7..dbaddbfce93e 100644 --- a/scripts/common.Makefile +++ b/scripts/common.Makefile @@ -173,6 +173,21 @@ mypy: $(REPO_BASE_DIR)/mypy.ini ## runs mypy python static type-checker on this $(CURDIR)/src +.PHONY: mypy-debug +mypy-debug: $(REPO_BASE_DIR)/mypy.ini ## runs mypy with profiling and reporting enabled + @rm -rf $(CURDIR)/.mypy-report + @mkdir -p $(CURDIR)/.mypy-report + @mypy \ + --config-file=$(REPO_BASE_DIR)/mypy.ini \ + --show-error-context \ + --show-traceback \ + --verbose \ + --linecount-report $(CURDIR)/.mypy-report \ + --any-exprs-report $(CURDIR)/.mypy-report \ + $(CURDIR)/src \ + | tee $(CURDIR)/.mypy-report/mypy.logs + + .PHONY: codestyle codestyle codestyle-ci: ## enforces codestyle (isort & black) finally runs pylint & mypy @$(SCRIPTS_DIR)/codestyle.bash $(if $(findstring -ci,$@),ci,development) $(shell basename "${SRC_DIR}")