今月はあまり議題がない開発者会議だった。
https://bugs.ruby-lang.org/issues/21134
自分もセキュリティ対応とか安定版リリースの準備に時間を使っていてそれほど何か、ってのは無かったので主に雑談モードで終わり。
3月末に通常メンテナンスとしては最後のバージョンの Ruby 3.2 を出す予定なので残っているパッチを当てて CI を回すという準備をしていた。
https://github.com/ruby/ruby/pull/12913
パッチの一つにテストにわざわざ it
を使っているのがあって CI が落ちて苦笑いしていた。it's not working...
docker.io の rate limit が厳しくなるようで、ruby org だと docker image を作る関係ですぐに rate limit に到達しそうだったので crane というツールを使って ghcr.io に mirror をしてそれを使うようにした。mirror する workflow はこんな感じ。
jobs:
mirror:
name: Mirror images
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- image: ubuntu
tag: latest
- image: ubuntu
tag: noble
- image: ubuntu
tag: jammy
- image: ubuntu
tag: focal
- image: debian
tag: latest
- image: fedora # For tool/annocheck of ruby/ruby
tag: latest
steps:
- uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ghcr.io
username: ${{ secrets.GHCR_USER }}
password: ${{ secrets.GHCR_ACCESS_TOKEN }}
- uses: actions/setup-go@v5
- run: go install github.com/google/go-containerregistry/cmd/crane@latest
- name: Mirror
run: crane copy docker.io/${{ matrix.image }}:${{ matrix.tag }} ghcr.io/ruby/${{ matrix.image }}:${{ matrix.tag }}
実際に置き換える時には https://github.com/ruby/ruby/pull/12922 のように ghcr.io/ruby/image:tag
というようにフルパスで指定する。これでなんとか過ごせるかな。