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
31 changes: 31 additions & 0 deletions .github/actions/download-load-docker-images/action.yml
Original file line number Diff line number Diff line change
@@ -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 }}
64 changes: 64 additions & 0 deletions .github/actions/setup-simcore-env/action.yml
Original file line number Diff line number Diff line change
@@ -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
12 changes: 4 additions & 8 deletions .github/workflows/_reusable-build-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand Down
Loading
Loading