From 2a6111c81a1ba1fc1a69ad6da22e18d0691b2be8 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Thu, 16 Jan 2025 20:02:50 +0000 Subject: [PATCH 01/13] Use GitHub-hosted aarch64 runners --- .github/actions/create-dev-env/action.yml | 4 -- .github/workflows/aarch64-setup.yml | 31 ------------ .github/workflows/contributed-recipes.yml | 1 - .../workflows/docker-build-test-upload.yml | 12 ----- .github/workflows/docker-merge-tags.yml | 2 +- .github/workflows/docker.yml | 48 +++++++++---------- CHANGELOG.md | 6 +++ README.md | 1 + docs/index.rst | 1 - docs/maintaining/aarch64-runner.md | 30 ------------ .../setup-scripts/setup_julia.py | 5 -- 11 files changed, 31 insertions(+), 110 deletions(-) delete mode 100644 .github/workflows/aarch64-setup.yml delete mode 100644 docs/maintaining/aarch64-runner.md diff --git a/.github/actions/create-dev-env/action.yml b/.github/actions/create-dev-env/action.yml index 7323494f6c..57c7b74583 100644 --- a/.github/actions/create-dev-env/action.yml +++ b/.github/actions/create-dev-env/action.yml @@ -4,14 +4,10 @@ description: Create a build environment runs: using: composite steps: - # actions/setup-python doesn't support Linux aarch64 runners - # See: https://github.com/actions/setup-python/issues/108 - # python3 is manually preinstalled in the aarch64 VM self-hosted runner - name: Set Up Python ๐Ÿ uses: actions/setup-python@v5 with: python-version: 3.x - if: runner.arch == 'X64' - name: Install Dev Dependencies ๐Ÿ“ฆ run: | diff --git a/.github/workflows/aarch64-setup.yml b/.github/workflows/aarch64-setup.yml deleted file mode 100644 index bdaaf80662..0000000000 --- a/.github/workflows/aarch64-setup.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Test aarch64-runner setup script - -on: - schedule: - # Weekly, at 03:00 on Monday UTC - - cron: "0 3 * * 1" - pull_request: - paths: - - ".github/workflows/aarch64-setup.yml" - - "aarch64-runner/setup.sh" - push: - branches: - - main - paths: - - ".github/workflows/aarch64-setup.yml" - - "aarch64-runner/setup.sh" - workflow_dispatch: - -jobs: - test-script: - # The script itself is not aarch64-specific - # It is easier to test on x86_64 - # Using `ubuntu-22.04` as this is what our aarch64 runners currently use - runs-on: ubuntu-22.04 - - steps: - - name: Checkout Repo โšก๏ธ - uses: actions/checkout@v4 - - - name: Run setup script โœ… - run: sudo ./aarch64-runner/setup.sh diff --git a/.github/workflows/contributed-recipes.yml b/.github/workflows/contributed-recipes.yml index 6a4ba74d9e..2a6e57fe61 100644 --- a/.github/workflows/contributed-recipes.yml +++ b/.github/workflows/contributed-recipes.yml @@ -44,7 +44,6 @@ jobs: uses: actions/checkout@v4 - name: Build recipe ๐Ÿ›  - # We're pulling here to avoid accidentally using an image that might be present on aarch64 self-hosted runner run: docker build --pull --rm --force-rm --tag my-custom-image -f ./${{ matrix.dockerfile }} ./ env: DOCKER_BUILDKIT: 1 diff --git a/.github/workflows/docker-build-test-upload.yml b/.github/workflows/docker-build-test-upload.yml index a7bb1950b8..0924a084b1 100644 --- a/.github/workflows/docker-build-test-upload.yml +++ b/.github/workflows/docker-build-test-upload.yml @@ -57,18 +57,6 @@ jobs: - name: Create dev environment ๐Ÿ“ฆ uses: ./.github/actions/create-dev-env - # Self-hosted runners share a state (whole VM) between runs - # Also, they might have running or stopped containers, - # which are not cleaned up by `docker system prune` - - name: Reset docker state and cleanup artifacts ๐Ÿ—‘๏ธ - if: inputs.platform != 'x86_64' - run: | - docker kill $(docker ps --quiet) || true - docker rm $(docker ps --all --quiet) || true - docker system prune --all --force - rm -rf /tmp/jupyter/ - shell: bash - - name: Load parent built image to Docker ๐Ÿ“ฅ if: inputs.parent-image != '' uses: ./.github/actions/load-image diff --git a/.github/workflows/docker-merge-tags.yml b/.github/workflows/docker-merge-tags.yml index a476879408..6c76f6746f 100644 --- a/.github/workflows/docker-merge-tags.yml +++ b/.github/workflows/docker-merge-tags.yml @@ -41,7 +41,7 @@ jobs: with: name: ${{ inputs.image }}-aarch64-${{ inputs.variant }}-tags path: /tmp/jupyter/tags/ - if: github.repository_owner == 'jupyter' && !contains(inputs.variant, 'cuda') + if: ${{ !contains(inputs.variant, 'cuda') }} # Docker might be stuck when pulling images # https://github.com/docker/for-mac/issues/2083 diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index e25d5e8b60..f8439e4810 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -66,8 +66,7 @@ jobs: parent-image: "" image: docker-stacks-foundation platform: aarch64 - runs-on: ARM64_FAST - if: github.repository_owner == 'jupyter' + runs-on: ubuntu-24.04-arm x86_64-foundation: uses: ./.github/workflows/docker-build-test-upload.yml @@ -83,9 +82,8 @@ jobs: parent-image: docker-stacks-foundation image: base-notebook platform: aarch64 - runs-on: ARM64_FAST + runs-on: ubuntu-24.04-arm needs: [aarch64-foundation] - if: github.repository_owner == 'jupyter' x86_64-base: uses: ./.github/workflows/docker-build-test-upload.yml @@ -102,9 +100,9 @@ jobs: parent-image: base-notebook image: minimal-notebook platform: aarch64 - runs-on: ARM64_FAST + runs-on: ubuntu-24.04-arm needs: [aarch64-base] - if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} x86_64-minimal: uses: ./.github/workflows/docker-build-test-upload.yml @@ -122,9 +120,9 @@ jobs: parent-image: minimal-notebook image: scipy-notebook platform: aarch64 - runs-on: ARM64_FAST + runs-on: ubuntu-24.04-arm needs: [aarch64-minimal] - if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} x86_64-scipy: uses: ./.github/workflows/docker-build-test-upload.yml @@ -142,9 +140,9 @@ jobs: parent-image: minimal-notebook image: r-notebook platform: aarch64 - runs-on: ARM64_SLOW + runs-on: ubuntu-24.04-arm needs: [aarch64-minimal] - if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} x86_64-r: uses: ./.github/workflows/docker-build-test-upload.yml @@ -162,9 +160,9 @@ jobs: parent-image: minimal-notebook image: julia-notebook platform: aarch64 - runs-on: ARM64_SLOW + runs-on: ubuntu-24.04-arm needs: [aarch64-minimal] - if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} x86_64-julia: uses: ./.github/workflows/docker-build-test-upload.yml @@ -182,9 +180,9 @@ jobs: parent-image: scipy-notebook image: tensorflow-notebook platform: aarch64 - runs-on: ARM64_SLOW + runs-on: ubuntu-24.04-arm needs: [aarch64-scipy] - if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} x86_64-tensorflow: uses: ./.github/workflows/docker-build-test-upload.yml @@ -213,9 +211,9 @@ jobs: parent-image: scipy-notebook image: pytorch-notebook platform: aarch64 - runs-on: ARM64_SLOW + runs-on: ubuntu-24.04-arm needs: [aarch64-scipy] - if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} x86_64-pytorch: uses: ./.github/workflows/docker-build-test-upload.yml @@ -255,9 +253,9 @@ jobs: parent-image: scipy-notebook image: datascience-notebook platform: aarch64 - runs-on: ARM64_SLOW + runs-on: ubuntu-24.04-arm needs: [aarch64-scipy] - if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} x86_64-datascience: uses: ./.github/workflows/docker-build-test-upload.yml @@ -275,9 +273,9 @@ jobs: parent-image: scipy-notebook image: pyspark-notebook platform: aarch64 - runs-on: ARM64_FAST + runs-on: ubuntu-24.04-arm needs: [aarch64-scipy] - if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} x86_64-pyspark: uses: ./.github/workflows/docker-build-test-upload.yml @@ -295,9 +293,9 @@ jobs: parent-image: pyspark-notebook image: all-spark-notebook platform: aarch64 - runs-on: ARM64_FAST + runs-on: ubuntu-24.04-arm needs: [aarch64-pyspark] - if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} x86_64-all-spark: uses: ./.github/workflows/docker-build-test-upload.yml @@ -348,7 +346,7 @@ jobs: aarch64-pyspark, aarch64-all-spark, ] - if: github.repository_owner == 'jupyter' && !contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} aarch64-images-tag-push-fast: uses: ./.github/workflows/docker-tag-push.yml @@ -367,7 +365,7 @@ jobs: { image: base-notebook, variant: default }, ] needs: [aarch64-foundation, aarch64-base] - if: github.repository_owner == 'jupyter' && contains(github.event.pull_request.title, '[FAST_BUILD]') + if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} x86_64-images-tag-push: uses: ./.github/workflows/docker-tag-push.yml @@ -505,4 +503,4 @@ jobs: contributed-recipes: uses: ./.github/workflows/contributed-recipes.yml needs: [merge-tags] - if: github.repository_owner == 'jupyter' && (github.ref == 'refs/heads/main' || github.event_name == 'schedule') + if: github.ref == 'refs/heads/main' || github.event_name == 'schedule' diff --git a/CHANGELOG.md b/CHANGELOG.md index a8d055f7cc..8aeafc3e05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ This changelog only contains breaking and/or significant changes manually introduced to this repository (using Pull Requests). All image manifests can be found in [the wiki](https://github.com/jupyter/docker-stacks/wiki). +## 2024-01-17 + +Affected: all images. + +- **Non-breaking:**: start using GitHub-hosted `aarch64` runners. + ## 2024-12-03 Affected: all images. diff --git a/README.md b/README.md index fdadc01664..0f274b2ddf 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ more information is available in the [documentation](https://jupyter-docker-stac - Starting from `2022-07-05`, `aarch64` self-hosted runners were sponsored by [`@mathbunnyru`](https://github.com/mathbunnyru/). Please, consider [sponsoring his work](https://github.com/sponsors/mathbunnyru) on GitHub - Starting from `2023-10-31`, `aarch64` self-hosted runners are sponsored by an amazing [`2i2c non-profit organization`](https://2i2c.org) +- Starting from `2025-01-17`, we use GitHub-hosted `aarch64` runners ## CPU Architectures diff --git a/docs/index.rst b/docs/index.rst index 5368a503ce..e8cd032138 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -36,7 +36,6 @@ Table of Contents maintaining/new-images-and-packages-policy maintaining/tasks - maintaining/aarch64-runner .. toctree:: :maxdepth: 2 diff --git a/docs/maintaining/aarch64-runner.md b/docs/maintaining/aarch64-runner.md deleted file mode 100644 index 3850760d16..0000000000 --- a/docs/maintaining/aarch64-runner.md +++ /dev/null @@ -1,30 +0,0 @@ -# Self-hosted runners - -For building `aarch64` images, we use self-hosted GitHub runners. -It is recommended to have at least two runners to allow better parallelism. -Each runner is recommended to have at least _2 cores_ and _30 GB_ of disk space. - -Add a new runner: - -- To use [Oracle OCI](https://www.oracle.com/cloud-0/), create a compute instance `VM.Standard.A1.Flex`. -- To use [Google Cloud](https://cloud.google.com), use [this instruction](https://cloud.google.com/compute/docs/instances/create-start-instance). - -Configure your runner: - -1. Run under `root`: - - ```bash - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/jupyter/docker-stacks/HEAD/aarch64-runner/setup.sh)" - ``` - - This will perform the initial runner setup and create a user `runner-user` without `sudo` capabilities. - -2. Set up a new GitHub Runner under `runner-user` using [GitHub Instructions](https://github.com/jupyter/docker-stacks/settings/actions/runners/new?arch=arm64&os=linux). - **Do not `./run.sh` yet**. -3. Run under `root`: - - ```bash - cd /home/runner-user/actions-runner/ && ./svc.sh install runner-user - ``` - -4. Reboot the VM to apply all updates and run GitHub runner. diff --git a/images/minimal-notebook/setup-scripts/setup_julia.py b/images/minimal-notebook/setup-scripts/setup_julia.py index e6221238dd..114e64c00f 100755 --- a/images/minimal-notebook/setup-scripts/setup_julia.py +++ b/images/minimal-notebook/setup-scripts/setup_julia.py @@ -47,11 +47,6 @@ def get_latest_julia_url() -> tuple[str, str]: triplet = unify_aarch64(platform.machine()) + "-linux-gnu" file_info = [vf for vf in latest_version_files if vf["triplet"] == triplet][0] LOGGER.info(f"Latest version: {file_info['version']} url: {file_info['url']}") - if file_info["version"] == "1.11.2": - LOGGER.warning( - "Not using Julia 1.11.2, because it hangs in GitHub self-hosted runners" - ) - return file_info["url"].replace("1.11.2", "1.11.1"), "1.11.1" return file_info["url"], file_info["version"] From 390d50d2467037513b19af7554bcf91c5da08981 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Thu, 16 Jan 2025 20:14:01 +0000 Subject: [PATCH 02/13] More updates --- docs/conf.py | 1 - docs/using/recipe_code/generate_matrix.py | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 6ddb83d3cb..b3aaf55100 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -63,7 +63,6 @@ linkcheck_ignore = [ r".*github\.com.*#", # javascript based anchors - r"https://github\.com/jupyter/docker-stacks/settings/actions/runners/new\?arch=arm64\&os=linux", # only works for users with permissions to change runners r"http://127\.0\.0\.1:.*", # various examples r"https://mybinder\.org/v2/gh/.*", # lots of 500 errors r"https://packages\.ubuntu\.com/search\?keywords=openjdk", # frequent read timeouts diff --git a/docs/using/recipe_code/generate_matrix.py b/docs/using/recipe_code/generate_matrix.py index f44736d245..7f98dd6e46 100755 --- a/docs/using/recipe_code/generate_matrix.py +++ b/docs/using/recipe_code/generate_matrix.py @@ -12,13 +12,13 @@ def generate_matrix() -> dict[str, Any]: dockerfiles = sorted(file.name for file in THIS_DIR.glob("*.dockerfile")) - runs_on = ["ubuntu-latest"] - if REPOSITORY_OWNER == "jupyter": - runs_on.append("ARM64") + runs_on = ["ubuntu-latest", "ubuntu-24.04-arm"] return { "dockerfile": dockerfiles, "runs-on": runs_on, - "exclude": [{"dockerfile": "oracledb.dockerfile", "runs-on": "ARM64"}], + "exclude": [ + {"dockerfile": "oracledb.dockerfile", "runs-on": "ubuntu-24.04-arm"} + ], } From fd4000b576f0016014d77bf9e98cdbd16f963071 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Thu, 16 Jan 2025 20:15:55 +0000 Subject: [PATCH 03/13] Fix --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index f8439e4810..6d11dcbf37 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -365,7 +365,7 @@ jobs: { image: base-notebook, variant: default }, ] needs: [aarch64-foundation, aarch64-base] - if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} + if: contains(github.event.pull_request.title, '[FAST_BUILD]') x86_64-images-tag-push: uses: ./.github/workflows/docker-tag-push.yml From 0f59c872d6956dd36d45443cec352e338e7205b4 Mon Sep 17 00:00:00 2001 From: Erik Sundell Date: Sat, 18 Jan 2025 21:08:26 +0100 Subject: [PATCH 04/13] Pin build environment's Python version to 3.12 for consistency --- .github/actions/create-dev-env/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/create-dev-env/action.yml b/.github/actions/create-dev-env/action.yml index 57c7b74583..c7b008b89e 100644 --- a/.github/actions/create-dev-env/action.yml +++ b/.github/actions/create-dev-env/action.yml @@ -7,7 +7,7 @@ runs: - name: Set Up Python ๐Ÿ uses: actions/setup-python@v5 with: - python-version: 3.x + python-version: "3.12" - name: Install Dev Dependencies ๐Ÿ“ฆ run: | From c5bd48d4e8de5ed7cbb8be79b9aae48841007746 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Sun, 26 Jan 2025 20:34:06 +0000 Subject: [PATCH 05/13] Update date --- CHANGELOG.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8aeafc3e05..dde3f38391 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ This changelog only contains breaking and/or significant changes manually introduced to this repository (using Pull Requests). All image manifests can be found in [the wiki](https://github.com/jupyter/docker-stacks/wiki). -## 2024-01-17 +## 2025-01-28 Affected: all images. diff --git a/README.md b/README.md index 0f274b2ddf..8deee4d233 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ more information is available in the [documentation](https://jupyter-docker-stac - Starting from `2022-07-05`, `aarch64` self-hosted runners were sponsored by [`@mathbunnyru`](https://github.com/mathbunnyru/). Please, consider [sponsoring his work](https://github.com/sponsors/mathbunnyru) on GitHub - Starting from `2023-10-31`, `aarch64` self-hosted runners are sponsored by an amazing [`2i2c non-profit organization`](https://2i2c.org) -- Starting from `2025-01-17`, we use GitHub-hosted `aarch64` runners +- Starting from `2025-01-28`, we use GitHub-hosted `aarch64` runners ## CPU Architectures From d1a778ee5b441fee7ac876a102973866efe62211 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Mon, 27 Jan 2025 23:10:19 +0000 Subject: [PATCH 06/13] Sleep to allow Docker daemon to start --- .github/actions/create-dev-env/action.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/actions/create-dev-env/action.yml b/.github/actions/create-dev-env/action.yml index c7b008b89e..8eb7d50f21 100644 --- a/.github/actions/create-dev-env/action.yml +++ b/.github/actions/create-dev-env/action.yml @@ -14,3 +14,8 @@ runs: pip install --upgrade pip pip install --upgrade -r requirements-dev.txt shell: bash + + - name: Sleep to allow Docker daemon to start ๐Ÿ•’ + if: runner.arch == 'X64' + run: sleep 10 + shell: bash From 2eb9c3d956bfa7d2ee89601b161ec28131063135 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Mon, 27 Jan 2025 23:23:00 +0000 Subject: [PATCH 07/13] Sleep to allow Docker daemon to start on aarch64 and before checkout --- .github/actions/create-dev-env/action.yml | 5 ----- .github/workflows/contributed-recipes.yml | 4 ++++ .github/workflows/docker-build-test-upload.yml | 6 +++++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/actions/create-dev-env/action.yml b/.github/actions/create-dev-env/action.yml index 8eb7d50f21..c7b008b89e 100644 --- a/.github/actions/create-dev-env/action.yml +++ b/.github/actions/create-dev-env/action.yml @@ -14,8 +14,3 @@ runs: pip install --upgrade pip pip install --upgrade -r requirements-dev.txt shell: bash - - - name: Sleep to allow Docker daemon to start ๐Ÿ•’ - if: runner.arch == 'X64' - run: sleep 10 - shell: bash diff --git a/.github/workflows/contributed-recipes.yml b/.github/workflows/contributed-recipes.yml index 2a6e57fe61..66a57236b4 100644 --- a/.github/workflows/contributed-recipes.yml +++ b/.github/workflows/contributed-recipes.yml @@ -40,6 +40,10 @@ jobs: if: github.repository_owner == 'jupyter' || github.repository_owner == 'mathbunnyru' steps: + - name: Sleep to allow Docker daemon to start ๐Ÿ•’ + if: runner.arch == 'aarh64' + run: sleep 10 + shell: bash - name: Checkout Repo โšก๏ธ uses: actions/checkout@v4 diff --git a/.github/workflows/docker-build-test-upload.yml b/.github/workflows/docker-build-test-upload.yml index 0924a084b1..82e4cad018 100644 --- a/.github/workflows/docker-build-test-upload.yml +++ b/.github/workflows/docker-build-test-upload.yml @@ -41,7 +41,7 @@ jobs: steps: # Image with CUDA needs extra disk space - name: Free disk space ๐Ÿงน - if: contains(inputs.variant, 'cuda') && inputs.platform == 'x86_64' + if: contains(inputs.variant, 'cuda') && runner.arch == 'X64' uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be with: tool-cache: false @@ -52,6 +52,10 @@ jobs: docker-images: false swap-storage: false + - name: Sleep to allow Docker daemon to start ๐Ÿ•’ + if: runner.arch == 'aarch64' + run: sleep 10 + shell: bash - name: Checkout Repo โšก๏ธ uses: actions/checkout@v4 - name: Create dev environment ๐Ÿ“ฆ From 483363cdb7c28e29d15be5d2b9f54aff61fe179d Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Mon, 27 Jan 2025 23:23:57 +0000 Subject: [PATCH 08/13] Fix typo --- .github/workflows/contributed-recipes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/contributed-recipes.yml b/.github/workflows/contributed-recipes.yml index 66a57236b4..16d996f2e3 100644 --- a/.github/workflows/contributed-recipes.yml +++ b/.github/workflows/contributed-recipes.yml @@ -41,7 +41,7 @@ jobs: steps: - name: Sleep to allow Docker daemon to start ๐Ÿ•’ - if: runner.arch == 'aarh64' + if: runner.arch == 'aarch64' run: sleep 10 shell: bash - name: Checkout Repo โšก๏ธ From 9d34cf4b4b53f281c324c5a4e23320fcd279a0b7 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Mon, 27 Jan 2025 23:25:54 +0000 Subject: [PATCH 09/13] Fix --- .github/workflows/contributed-recipes.yml | 2 +- .github/workflows/docker-build-test-upload.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/contributed-recipes.yml b/.github/workflows/contributed-recipes.yml index 16d996f2e3..fbb0edbd32 100644 --- a/.github/workflows/contributed-recipes.yml +++ b/.github/workflows/contributed-recipes.yml @@ -41,7 +41,7 @@ jobs: steps: - name: Sleep to allow Docker daemon to start ๐Ÿ•’ - if: runner.arch == 'aarch64' + if: runner.arch == 'ARM64' run: sleep 10 shell: bash - name: Checkout Repo โšก๏ธ diff --git a/.github/workflows/docker-build-test-upload.yml b/.github/workflows/docker-build-test-upload.yml index 82e4cad018..a5d1bbe346 100644 --- a/.github/workflows/docker-build-test-upload.yml +++ b/.github/workflows/docker-build-test-upload.yml @@ -53,7 +53,7 @@ jobs: swap-storage: false - name: Sleep to allow Docker daemon to start ๐Ÿ•’ - if: runner.arch == 'aarch64' + if: runner.arch == 'ARM64' run: sleep 10 shell: bash - name: Checkout Repo โšก๏ธ From 6d45d5e8cc09054381d117e6927b16e9a7b916f8 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Mon, 27 Jan 2025 23:27:42 +0000 Subject: [PATCH 10/13] Unify runner.arch usage --- .github/workflows/docker-tag-push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-tag-push.yml b/.github/workflows/docker-tag-push.yml index e4962a61e0..7aaf679884 100644 --- a/.github/workflows/docker-tag-push.yml +++ b/.github/workflows/docker-tag-push.yml @@ -33,7 +33,7 @@ jobs: steps: # Image with CUDA needs extra disk space - name: Free disk space ๐Ÿงน - if: contains(inputs.variant, 'cuda') && inputs.platform == 'x86_64' + if: contains(inputs.variant, 'cuda') && runner.arch == 'X64' uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be with: tool-cache: false From 363295861b9d57d7c06038386b956869fd1a96f9 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Fri, 31 Jan 2025 17:48:21 +0000 Subject: [PATCH 11/13] Do not sleep as it doesn't help --- .github/workflows/contributed-recipes.yml | 4 ---- .github/workflows/docker-build-test-upload.yml | 4 ---- 2 files changed, 8 deletions(-) diff --git a/.github/workflows/contributed-recipes.yml b/.github/workflows/contributed-recipes.yml index fbb0edbd32..2a6e57fe61 100644 --- a/.github/workflows/contributed-recipes.yml +++ b/.github/workflows/contributed-recipes.yml @@ -40,10 +40,6 @@ jobs: if: github.repository_owner == 'jupyter' || github.repository_owner == 'mathbunnyru' steps: - - name: Sleep to allow Docker daemon to start ๐Ÿ•’ - if: runner.arch == 'ARM64' - run: sleep 10 - shell: bash - name: Checkout Repo โšก๏ธ uses: actions/checkout@v4 diff --git a/.github/workflows/docker-build-test-upload.yml b/.github/workflows/docker-build-test-upload.yml index a5d1bbe346..9d86136f48 100644 --- a/.github/workflows/docker-build-test-upload.yml +++ b/.github/workflows/docker-build-test-upload.yml @@ -52,10 +52,6 @@ jobs: docker-images: false swap-storage: false - - name: Sleep to allow Docker daemon to start ๐Ÿ•’ - if: runner.arch == 'ARM64' - run: sleep 10 - shell: bash - name: Checkout Repo โšก๏ธ uses: actions/checkout@v4 - name: Create dev environment ๐Ÿ“ฆ From 5f120cad44e63e12261e4f70e79064b77cc69711 Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Mon, 10 Feb 2025 21:08:27 +0000 Subject: [PATCH 12/13] Try to use ubuntu-22.04-arm --- .github/workflows/docker.yml | 22 +++++++++++----------- docs/using/recipe_code/generate_matrix.py | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 6d11dcbf37..50a10a4534 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -66,7 +66,7 @@ jobs: parent-image: "" image: docker-stacks-foundation platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm x86_64-foundation: uses: ./.github/workflows/docker-build-test-upload.yml @@ -82,7 +82,7 @@ jobs: parent-image: docker-stacks-foundation image: base-notebook platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm needs: [aarch64-foundation] x86_64-base: @@ -100,7 +100,7 @@ jobs: parent-image: base-notebook image: minimal-notebook platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm needs: [aarch64-base] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} @@ -120,7 +120,7 @@ jobs: parent-image: minimal-notebook image: scipy-notebook platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm needs: [aarch64-minimal] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} @@ -140,7 +140,7 @@ jobs: parent-image: minimal-notebook image: r-notebook platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm needs: [aarch64-minimal] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} @@ -160,7 +160,7 @@ jobs: parent-image: minimal-notebook image: julia-notebook platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm needs: [aarch64-minimal] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} @@ -180,7 +180,7 @@ jobs: parent-image: scipy-notebook image: tensorflow-notebook platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm needs: [aarch64-scipy] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} @@ -211,7 +211,7 @@ jobs: parent-image: scipy-notebook image: pytorch-notebook platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm needs: [aarch64-scipy] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} @@ -253,7 +253,7 @@ jobs: parent-image: scipy-notebook image: datascience-notebook platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm needs: [aarch64-scipy] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} @@ -273,7 +273,7 @@ jobs: parent-image: scipy-notebook image: pyspark-notebook platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm needs: [aarch64-scipy] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} @@ -293,7 +293,7 @@ jobs: parent-image: pyspark-notebook image: all-spark-notebook platform: aarch64 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04-arm needs: [aarch64-pyspark] if: ${{ !contains(github.event.pull_request.title, '[FAST_BUILD]') }} diff --git a/docs/using/recipe_code/generate_matrix.py b/docs/using/recipe_code/generate_matrix.py index 7f98dd6e46..d3be960cec 100755 --- a/docs/using/recipe_code/generate_matrix.py +++ b/docs/using/recipe_code/generate_matrix.py @@ -12,12 +12,12 @@ def generate_matrix() -> dict[str, Any]: dockerfiles = sorted(file.name for file in THIS_DIR.glob("*.dockerfile")) - runs_on = ["ubuntu-latest", "ubuntu-24.04-arm"] + runs_on = ["ubuntu-latest", "ubuntu-22.04-arm"] return { "dockerfile": dockerfiles, "runs-on": runs_on, "exclude": [ - {"dockerfile": "oracledb.dockerfile", "runs-on": "ubuntu-24.04-arm"} + {"dockerfile": "oracledb.dockerfile", "runs-on": "ubuntu-22.04-arm"} ], } From 28c0f6100d5fbb161d784f520e67d946a0bb908d Mon Sep 17 00:00:00 2001 From: Ayaz Salikhov Date: Mon, 10 Feb 2025 21:46:07 +0000 Subject: [PATCH 13/13] Update changelog date --- CHANGELOG.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dde3f38391..6b54320de8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ This changelog only contains breaking and/or significant changes manually introduced to this repository (using Pull Requests). All image manifests can be found in [the wiki](https://github.com/jupyter/docker-stacks/wiki). -## 2025-01-28 +## 2025-02-11 Affected: all images. diff --git a/README.md b/README.md index 8deee4d233..3e829ed8c6 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ more information is available in the [documentation](https://jupyter-docker-stac - Starting from `2022-07-05`, `aarch64` self-hosted runners were sponsored by [`@mathbunnyru`](https://github.com/mathbunnyru/). Please, consider [sponsoring his work](https://github.com/sponsors/mathbunnyru) on GitHub - Starting from `2023-10-31`, `aarch64` self-hosted runners are sponsored by an amazing [`2i2c non-profit organization`](https://2i2c.org) -- Starting from `2025-01-28`, we use GitHub-hosted `aarch64` runners +- Starting from `2025-02-11`, we use GitHub-hosted `aarch64` runners ## CPU Architectures