├── Makefile ├── Dockerfile ├── README.md └── .github └── workflows └── build-push.yml /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: bump guard-% 2 | 3 | bump: guard-VERSION 4 | $(eval escaped_minor := $(shell echo ${VERSION} | sed -n 's/\([0-9]\+\.[0-9]\+\).*/\1/p' | sed -e 's/[]\/$*.^[]/\\&/g')) 5 | sed -i "s/${escaped_minor}\.[0-9]\+/${VERSION}/g" README.md .github/workflows/build-push.yml 6 | 7 | guard-%: 8 | @ if [ "${${*}}" = "" ]; then \ 9 | echo "Environment variable $* not set"; \ 10 | exit 1; \ 11 | fi 12 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | ARG DEBIAN_IMAGE=bookworm 2 | 3 | FROM debian:${DEBIAN_IMAGE} 4 | 5 | ARG RUBY_VERSION 6 | ARG RUBY_VARIANT 7 | ARG DEBIAN_VERSION 8 | 9 | # RUN with pipe recommendation: https://github.com/hadolint/hadolint/wiki/DL4006 10 | SHELL ["/bin/bash", "-o", "pipefail", "-c"] 11 | RUN apt-get update -q \ 12 | && apt-get dist-upgrade --assume-yes \ 13 | && apt-get install --assume-yes -q --no-install-recommends \ 14 | curl \ 15 | gnupg \ 16 | apt-transport-https \ 17 | ca-certificates \ 18 | gpg \ 19 | && curl -SLf https://raw.githubusercontent.com/fullstaq-labs/fullstaq-ruby-server-edition/main/fullstaq-ruby.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/fullstaq-ruby.gpg \ 20 | && echo "deb https://apt.fullstaqruby.org debian-${DEBIAN_VERSION} main" > /etc/apt/sources.list.d/fullstaq-ruby.list \ 21 | && apt-get update -q \ 22 | && apt-get install --assume-yes -q --no-install-recommends fullstaq-ruby-${RUBY_VERSION}-${RUBY_VARIANT} \ 23 | && apt-get autoremove --assume-yes \ 24 | && rm -rf /var/lib/apt/lists \ 25 | && rm -fr /var/cache/apt \ 26 | && rm /etc/apt/sources.list.d/fullstaq-ruby.list 27 | 28 | ENV GEM_HOME=/usr/local/bundle \ 29 | BUNDLE_PATH=/usr/local/bundle \ 30 | BUNDLE_SILENCE_ROOT_WARNING=1 \ 31 | BUNDLE_APP_CONFIG=/usr/local/bundle \ 32 | RUBY_VERSION=${RUBY_VERSION}-${RUBY_VARIANT} \ 33 | LANG=C.UTF-8 LC_ALL=C.UTF-8 34 | 35 | # path recommendation: https://github.com/bundler/bundler/pull/6469#issuecomment-383235438 36 | ENV PATH=$GEM_HOME/bin:$BUNDLE_PATH/gems/bin:/usr/lib/fullstaq-ruby/versions/${RUBY_VERSION}/bin:$PATH 37 | # Make login shell (bash -l) to have the same path as regular one. 38 | RUN echo 'PATH=$GEM_HOME/bin:$BUNDLE_PATH/gems/bin:/usr/lib/fullstaq-ruby/versions/${RUBY_VERSION}/bin:$PATH' >> /etc/profile.d/fullstaq-ruby.sh 39 | 40 | CMD [ "irb" ] 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Fullstaq Ruby Docker images 2 | =========================== 3 | 4 | [Fullstaq Ruby] is a custom build of standard MRI Ruby interpreter with memory allocator replaced, security patches applied, and more goodies on the way. 5 | 6 | These images are intended to be used while [Fullstaq] and [Hongli Lai] haven't build their own. 7 | 8 | 9 | Sponsored by Evil Martians 10 | 11 | 12 | ## Usage 13 | Pull it directly from the quay.io registry: 14 | 15 | ```sh 16 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc-slim 17 | ``` 18 | 19 | Or use as base image in your `Dockerfile`: 20 | 21 | ```docker 22 | ARG RUBY_VERSION=3.4.7-jemalloc 23 | 24 | FROM quay.io/evl.ms/fullstaq-ruby:${RUBY_VERSION}-slim 25 | ``` 26 | 27 | ## Flavors 28 | 29 | Ruby 3.4.7, 3.3.10, 3.2.9, and 3.1.7 with jemalloc and malloctrim are available. Images are built on top of Debian 11 (bullseye), 12 (bookworm), 13 (trixie): 30 | 31 | ```sh 32 | # 3.4: 33 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4.7-jemalloc-trixie-slim 34 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4.7-jemalloc-trixie 35 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4.7-jemalloc-bookworm-slim 36 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4.7-jemalloc-bookworm 37 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4.7-jemalloc-bullseye-slim 38 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4.7-jemalloc-bullseye 39 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4.7-malloctrim-bookworm-slim 40 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4.7-malloctrim-bookworm 41 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4.7-malloctrim-bullseye-slim 42 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4.7-malloctrim-bullseye 43 | 44 | # 3.3: 45 | docker pull quay.io/evl.ms/fullstaq-ruby:3.3.10-jemalloc-trixie-slim 46 | docker pull quay.io/evl.ms/fullstaq-ruby:3.3.10-jemalloc-trixie 47 | docker pull quay.io/evl.ms/fullstaq-ruby:3.3.10-jemalloc-bookworm-slim 48 | docker pull quay.io/evl.ms/fullstaq-ruby:3.3.10-jemalloc-bookworm 49 | docker pull quay.io/evl.ms/fullstaq-ruby:3.3.10-jemalloc-bullseye-slim 50 | docker pull quay.io/evl.ms/fullstaq-ruby:3.3.10-jemalloc-bullseye 51 | docker pull quay.io/evl.ms/fullstaq-ruby:3.3.10-malloctrim-bookworm-slim 52 | docker pull quay.io/evl.ms/fullstaq-ruby:3.3.10-malloctrim-bookworm 53 | docker pull quay.io/evl.ms/fullstaq-ruby:3.3.10-malloctrim-bullseye-slim 54 | docker pull quay.io/evl.ms/fullstaq-ruby:3.3.10-malloctrim-bullseye 55 | 56 | # 3.2: 57 | docker pull quay.io/evl.ms/fullstaq-ruby:3.2.9-jemalloc-bookworm-slim 58 | docker pull quay.io/evl.ms/fullstaq-ruby:3.2.9-jemalloc-bookworm 59 | docker pull quay.io/evl.ms/fullstaq-ruby:3.2.9-jemalloc-bullseye-slim 60 | docker pull quay.io/evl.ms/fullstaq-ruby:3.2.9-jemalloc-bullseye 61 | docker pull quay.io/evl.ms/fullstaq-ruby:3.2.9-malloctrim-bookworm-slim 62 | docker pull quay.io/evl.ms/fullstaq-ruby:3.2.9-malloctrim-bookworm 63 | docker pull quay.io/evl.ms/fullstaq-ruby:3.2.9-malloctrim-bullseye-slim 64 | docker pull quay.io/evl.ms/fullstaq-ruby:3.2.9-malloctrim-bullseye 65 | 66 | # 3.1: 67 | docker pull quay.io/evl.ms/fullstaq-ruby:3.1.7-jemalloc-bullseye-slim 68 | docker pull quay.io/evl.ms/fullstaq-ruby:3.1.7-jemalloc-bullseye 69 | docker pull quay.io/evl.ms/fullstaq-ruby:3.1.7-malloctrim-bullseye-slim 70 | docker pull quay.io/evl.ms/fullstaq-ruby:3.1.7-malloctrim-bullseye 71 | ``` 72 | 73 | Latest patch versions for Ruby 3.4 on Debian 12 (bookworm) are also aliased with shortened tags including major and minor versions only: `3.4.7-jemalloc-bookworm → 3.4-jemalloc` 74 | 75 | ```sh 76 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc-slim # Same as quay.io/evl.ms/fullstaq-ruby:3.4.7-jemalloc-bookworm-slim 77 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc # Same as quay.io/evl.ms/fullstaq-ruby:3.4.7-jemalloc-bookworm 78 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4-malloctrim-slim # Same as quay.io/evl.ms/fullstaq-ruby:3.4.7-malloctrim-bookworm-slim 79 | docker pull quay.io/evl.ms/fullstaq-ruby:3.4-malloctrim # Same as quay.io/evl.ms/fullstaq-ruby:3.4.7-malloctrim-bookworm 80 | ``` 81 | 82 | For Ruby 3.2 and 3.1, short aliases for latest patch versions are made against Debian 11 (bullseye): `3.2.9-jemalloc-bullseye → 3.2-jemalloc` 83 | 84 | ## Details 85 | 86 | Ruby is installed from official APT package repository. Rbenv isn't used. 87 | 88 | ## Bumping versions 89 | 90 | After a new version of Ruby was released: 91 | 92 | 1. Check pull requests at the https://github.com/fullstaq-ruby/server-edition/ repository and ensure that packages for the target version has been build and published (pull request adding this has been merged). 93 | 94 | 2. Execute `make bump VERSION=X.Y.Z` (specify full version in `X.Y.Z`), it will replace previous patch version in both Github Action and README files. 95 | 96 | 3. Commit and push changed `README.md` and `.github/workflows/build-push.yml`. Once they will reach main branch, new images will be pushed to the registry automatically. 97 | 98 | [Fullstaq Ruby]: https://fullstaqruby.org/ "Ruby, optimized for production" 99 | [Hongli Lai]: https://www.joyfulbikeshedding.com/ 100 | [Fullstaq]: https://fullstaq.com/ 101 | -------------------------------------------------------------------------------- /.github/workflows/build-push.yml: -------------------------------------------------------------------------------- 1 | name: Build and push image 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | pull_request: 8 | types: [synchronize, opened] 9 | schedule: 10 | - cron: '54 07 12 * *' # on 12th day of every month at 07:54 11 | 12 | jobs: 13 | build-push: 14 | runs-on: ubuntu-latest 15 | strategy: 16 | fail-fast: false 17 | matrix: 18 | include: 19 | 20 | # 3.4.7 on Debian 13 21 | - ruby-version: "3.4.7" 22 | ruby-variant: "jemalloc" 23 | debian-image: "trixie" 24 | debian-version: "13" 25 | aliases: | 26 | quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc-trixie 27 | - ruby-version: "3.4.7" 28 | ruby-variant: "jemalloc" 29 | debian-image: "trixie-slim" 30 | debian-version: "13" 31 | aliases: | 32 | quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc-trixie-slim 33 | - ruby-version: "3.4.7" 34 | ruby-variant: "malloctrim" 35 | debian-image: "trixie" 36 | debian-version: "13" 37 | aliases: | 38 | quay.io/evl.ms/fullstaq-ruby:3.4-malloctrim-trixie 39 | - ruby-version: "3.4.7" 40 | ruby-variant: "malloctrim" 41 | debian-image: "trixie-slim" 42 | debian-version: "13" 43 | aliases: | 44 | quay.io/evl.ms/fullstaq-ruby:3.4-malloctrim-trixie-slim 45 | 46 | # 3.4.7 on Debian 12 47 | - ruby-version: "3.4.7" 48 | ruby-variant: "jemalloc" 49 | debian-image: "bookworm" 50 | debian-version: "12" 51 | aliases: | 52 | quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc 53 | quay.io/evl.ms/fullstaq-ruby:3.4.7-jemalloc 54 | quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc-bookworm 55 | - ruby-version: "3.4.7" 56 | ruby-variant: "jemalloc" 57 | debian-image: "bookworm-slim" 58 | debian-version: "12" 59 | aliases: | 60 | quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc-slim 61 | quay.io/evl.ms/fullstaq-ruby:3.4.7-jemalloc-slim 62 | quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc-bookworm-slim 63 | - ruby-version: "3.4.7" 64 | ruby-variant: "malloctrim" 65 | debian-image: "bookworm" 66 | debian-version: "12" 67 | aliases: | 68 | quay.io/evl.ms/fullstaq-ruby:3.4-malloctrim 69 | quay.io/evl.ms/fullstaq-ruby:3.4.7-malloctrim 70 | quay.io/evl.ms/fullstaq-ruby:3.4-malloctrim-bookworm 71 | - ruby-version: "3.4.7" 72 | ruby-variant: "malloctrim" 73 | debian-image: "bookworm-slim" 74 | debian-version: "12" 75 | aliases: | 76 | quay.io/evl.ms/fullstaq-ruby:3.4-malloctrim-slim 77 | quay.io/evl.ms/fullstaq-ruby:3.4.7-malloctrim-slim 78 | quay.io/evl.ms/fullstaq-ruby:3.4-malloctrim-bookworm-slim 79 | 80 | # 3.4.7 on Debian 11 81 | - ruby-version: "3.4.7" 82 | ruby-variant: "jemalloc" 83 | debian-image: "bullseye" 84 | debian-version: "11" 85 | aliases: | 86 | quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc-bullseye 87 | - ruby-version: "3.4.7" 88 | ruby-variant: "jemalloc" 89 | debian-image: "bullseye-slim" 90 | debian-version: "11" 91 | aliases: | 92 | quay.io/evl.ms/fullstaq-ruby:3.4-jemalloc-bullseye-slim 93 | - ruby-version: "3.4.7" 94 | ruby-variant: "malloctrim" 95 | debian-image: "bullseye" 96 | debian-version: "11" 97 | aliases: | 98 | quay.io/evl.ms/fullstaq-ruby:3.4-malloctrim-bullseye 99 | - ruby-version: "3.4.7" 100 | ruby-variant: "malloctrim" 101 | debian-image: "bullseye-slim" 102 | debian-version: "11" 103 | aliases: | 104 | quay.io/evl.ms/fullstaq-ruby:3.4-malloctrim-bullseye-slim 105 | 106 | # 3.3.10 on Debian 13 107 | - ruby-version: "3.3.10" 108 | ruby-variant: "jemalloc" 109 | debian-image: "trixie" 110 | debian-version: "13" 111 | aliases: | 112 | quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-trixie 113 | - ruby-version: "3.3.10" 114 | ruby-variant: "jemalloc" 115 | debian-image: "trixie-slim" 116 | debian-version: "13" 117 | aliases: | 118 | quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-trixie-slim 119 | - ruby-version: "3.3.10" 120 | ruby-variant: "malloctrim" 121 | debian-image: "trixie" 122 | debian-version: "13" 123 | aliases: | 124 | quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-trixie 125 | - ruby-version: "3.3.10" 126 | ruby-variant: "malloctrim" 127 | debian-image: "trixie-slim" 128 | debian-version: "13" 129 | aliases: | 130 | quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-trixie-slim 131 | 132 | # 3.3.10 on Debian 12 133 | - ruby-version: "3.3.10" 134 | ruby-variant: "jemalloc" 135 | debian-image: "bookworm" 136 | debian-version: "12" 137 | aliases: | 138 | quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc 139 | quay.io/evl.ms/fullstaq-ruby:3.3.10-jemalloc 140 | quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-bookworm 141 | - ruby-version: "3.3.10" 142 | ruby-variant: "jemalloc" 143 | debian-image: "bookworm-slim" 144 | debian-version: "12" 145 | aliases: | 146 | quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-slim 147 | quay.io/evl.ms/fullstaq-ruby:3.3.10-jemalloc-slim 148 | quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-bookworm-slim 149 | - ruby-version: "3.3.10" 150 | ruby-variant: "malloctrim" 151 | debian-image: "bookworm" 152 | debian-version: "12" 153 | aliases: | 154 | quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim 155 | quay.io/evl.ms/fullstaq-ruby:3.3.10-malloctrim 156 | quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-bookworm 157 | - ruby-version: "3.3.10" 158 | ruby-variant: "malloctrim" 159 | debian-image: "bookworm-slim" 160 | debian-version: "12" 161 | aliases: | 162 | quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-slim 163 | quay.io/evl.ms/fullstaq-ruby:3.3.10-malloctrim-slim 164 | quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-bookworm-slim 165 | 166 | # 3.3.10 on Debian 11 167 | - ruby-version: "3.3.10" 168 | ruby-variant: "jemalloc" 169 | debian-image: "bullseye" 170 | debian-version: "11" 171 | aliases: | 172 | quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-bullseye 173 | - ruby-version: "3.3.10" 174 | ruby-variant: "jemalloc" 175 | debian-image: "bullseye-slim" 176 | debian-version: "11" 177 | aliases: | 178 | quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-bullseye-slim 179 | - ruby-version: "3.3.10" 180 | ruby-variant: "malloctrim" 181 | debian-image: "bullseye" 182 | debian-version: "11" 183 | aliases: | 184 | quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-bullseye 185 | - ruby-version: "3.3.10" 186 | ruby-variant: "malloctrim" 187 | debian-image: "bullseye-slim" 188 | debian-version: "11" 189 | aliases: | 190 | quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-bullseye-slim 191 | 192 | # 3.2.9 on Debian 12 193 | - ruby-version: "3.2.9" 194 | ruby-variant: "jemalloc" 195 | debian-image: "bookworm" 196 | debian-version: "12" 197 | aliases: | 198 | quay.io/evl.ms/fullstaq-ruby:3.2-jemalloc-bookworm 199 | - ruby-version: "3.2.9" 200 | ruby-variant: "jemalloc" 201 | debian-image: "bookworm-slim" 202 | debian-version: "12" 203 | aliases: | 204 | quay.io/evl.ms/fullstaq-ruby:3.2-jemalloc-bookworm-slim 205 | - ruby-version: "3.2.9" 206 | ruby-variant: "malloctrim" 207 | debian-image: "bookworm" 208 | debian-version: "12" 209 | aliases: | 210 | quay.io/evl.ms/fullstaq-ruby:3.2-malloctrim-bookworm 211 | - ruby-version: "3.2.9" 212 | ruby-variant: "malloctrim" 213 | debian-image: "bookworm-slim" 214 | debian-version: "12" 215 | aliases: | 216 | quay.io/evl.ms/fullstaq-ruby:3.2-malloctrim-bookworm-slim 217 | 218 | # 3.2.9 on Debian 11 219 | - ruby-version: "3.2.9" 220 | ruby-variant: "jemalloc" 221 | debian-image: "bullseye" 222 | debian-version: "11" 223 | aliases: | 224 | quay.io/evl.ms/fullstaq-ruby:3.2.9-jemalloc 225 | quay.io/evl.ms/fullstaq-ruby:3.2-jemalloc 226 | - ruby-version: "3.2.9" 227 | ruby-variant: "jemalloc" 228 | debian-image: "bullseye-slim" 229 | debian-version: "11" 230 | aliases: | 231 | quay.io/evl.ms/fullstaq-ruby:3.2.9-jemalloc-slim 232 | quay.io/evl.ms/fullstaq-ruby:3.2-jemalloc-slim 233 | - ruby-version: "3.2.9" 234 | ruby-variant: "malloctrim" 235 | debian-image: "bullseye" 236 | debian-version: "11" 237 | aliases: | 238 | quay.io/evl.ms/fullstaq-ruby:3.2.9-malloctrim 239 | quay.io/evl.ms/fullstaq-ruby:3.2-malloctrim 240 | - ruby-version: "3.2.9" 241 | ruby-variant: "malloctrim" 242 | debian-image: "bullseye-slim" 243 | debian-version: "11" 244 | aliases: | 245 | quay.io/evl.ms/fullstaq-ruby:3.2.9-malloctrim-slim 246 | quay.io/evl.ms/fullstaq-ruby:3.2-malloctrim-slim 247 | 248 | # 3.1.7 on Debian 11 249 | - ruby-version: "3.1.7" 250 | ruby-variant: "jemalloc" 251 | debian-image: "bullseye" 252 | debian-version: "11" 253 | aliases: | 254 | quay.io/evl.ms/fullstaq-ruby:3.1.7-jemalloc 255 | quay.io/evl.ms/fullstaq-ruby:3.1-jemalloc 256 | - ruby-version: "3.1.7" 257 | ruby-variant: "jemalloc" 258 | debian-image: "bullseye-slim" 259 | debian-version: "11" 260 | aliases: | 261 | quay.io/evl.ms/fullstaq-ruby:3.1.7-jemalloc-slim 262 | quay.io/evl.ms/fullstaq-ruby:3.1-jemalloc-slim 263 | - ruby-version: "3.1.7" 264 | ruby-variant: "malloctrim" 265 | debian-image: "bullseye" 266 | debian-version: "11" 267 | aliases: | 268 | quay.io/evl.ms/fullstaq-ruby:3.1.7-malloctrim 269 | quay.io/evl.ms/fullstaq-ruby:3.1-malloctrim 270 | - ruby-version: "3.1.7" 271 | ruby-variant: "malloctrim" 272 | debian-image: "bullseye-slim" 273 | debian-version: "11" 274 | aliases: | 275 | quay.io/evl.ms/fullstaq-ruby:3.1.7-malloctrim-slim 276 | quay.io/evl.ms/fullstaq-ruby:3.1-malloctrim-slim 277 | 278 | steps: 279 | - name: Check out the repo 280 | uses: actions/checkout@v4 281 | - name: Set up Docker Buildx 282 | id: buildx 283 | uses: docker/setup-buildx-action@v3 284 | with: 285 | install: true 286 | - name: Cache Docker layers 287 | uses: actions/cache@v4 288 | with: 289 | path: /tmp/.buildx-cache 290 | key: ${{ runner.os }}-buildx-dev-${{ matrix.debian-image }}-${{ matrix.ruby-version }} 291 | restore-keys: | 292 | ${{ runner.os }}-buildx-dev-${{ matrix.debian-image }}-${{ matrix.ruby-version }} 293 | ${{ runner.os }}-buildx-dev-${{ matrix.debian-image }} 294 | ${{ runner.os }}-buildx-dev 295 | - name: Login to Quay.io 296 | if: github.event_name != 'pull_request' 297 | uses: docker/login-action@v3 298 | with: 299 | registry: quay.io 300 | username: ${{ secrets.QUAY_USERNAME }} 301 | password: ${{ secrets.QUAY_PASSWORD }} # Get it at Settings → CLI Password 302 | - name: Build Docker image 303 | id: docker_build 304 | uses: docker/build-push-action@v6 305 | with: 306 | context: . 307 | file: Dockerfile 308 | pull: true 309 | push: ${{ github.event_name != 'pull_request' }} 310 | provenance: false # Otherwise images can't be pulled from Quay on platforms other than linux/amd64. See https://github.com/evilmartians/fullstaq-ruby-docker/issues/22 and https://github.com/docker/buildx/issues/1533 311 | tags: | 312 | quay.io/evl.ms/fullstaq-ruby:${{ matrix.ruby-version }}-${{ matrix.ruby-variant }}-${{ matrix.debian-image }} 313 | ${{ matrix.aliases }} 314 | cache-from: type=local,src=/tmp/.buildx-cache 315 | cache-to: type=local,dest=/tmp/.buildx-cache 316 | build-args: | 317 | RUBY_VERSION=${{ matrix.ruby-version }} 318 | RUBY_VARIANT=${{ matrix.ruby-variant }} 319 | DEBIAN_IMAGE=${{ matrix.debian-image }} 320 | DEBIAN_VERSION=${{ matrix.debian-version }} 321 | --------------------------------------------------------------------------------