pre-compiled artifacts are missing
when running gdk rake setup_ai_service, following information is shown:
...
mise ruby@3.3.0 ~/.local/share/mise/plugins/ruby/bin/install
mise ruby@3.3.0 Checking for precompiled gitlab-ruby 3.3.0...
mise ruby@3.3.0 Creating install path
mise ruby@3.3.0 Downloading gitlab-ruby from https://gitlab.com/api/v4/projects/70480519/jobs/artifacts/main/raw/ruby-3.3.0-linux-arm64.zip?job=collect
% Total % Received % Xferd Average Speed Time Time Time Current
└── ⠴ Tool versions update 2c0aa5c521cf..8bca3f148b82 master -> origin/master
0 27 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (22) The requested URL returned error: 404
mise ruby@3.3.0 Failed to download Ruby 3.3.0
mise ruby@3.3.0 Falling back to source compilation: precompiled binary not available
mise ruby@3.3.0 Using source compilation via asdf-ruby...
...
Looking at this project, none of the urls in the versions file are currently working, so this plugin cannot fetch any pre-compiled artifact.
I'm not sure what the cause is, probably GC of the recent build artifact, which cleaned the files.
Also not sure what the correct fix is, probably running the pipelines, or storing the artifacts as release items or similar.
Root Cause
The job artifacts referenced in the versions.txt file have expired due to the artifact expiration policy configured in the CI pipeline. The .gitlab/ci/collect.gitlab-ci.yml file sets artifacts to expire, causing them to be cleaned up by garbage collection, which makes the pre-compiled binaries unavailable for download.
Proposed Solution
Upload the pre-compiled Ruby artifacts to the GitLab Package Registry instead of relying on job artifacts. The Package Registry provides persistent storage that is not subject to automatic garbage collection, ensuring the pre-compiled binaries remain available long-term.
Workaround
A new pipeline was started to recreate the missing artifacts.