Skip to content

Build Ruby 3.2.3 (#29) #78

Build Ruby 3.2.3 (#29)

Build Ruby 3.2.3 (#29) #78

Workflow file for this run

name: Build and push image
on:
push:
branches:
- master
pull_request:
types: [synchronize, opened]
schedule:
- cron: '54 07 12 * *' # on 12th day of every month at 07:54
jobs:
build-push:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
# 3.3.0 on Debian 12
- ruby-version: "3.3.0"
ruby-variant: "jemalloc"
debian-image: "bookworm"
debian-version: "12"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc
quay.io/evl.ms/fullstaq-ruby:3.3.0-jemalloc
quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-bookworm
- ruby-version: "3.3.0"
ruby-variant: "jemalloc"
debian-image: "bookworm-slim"
debian-version: "12"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-slim
quay.io/evl.ms/fullstaq-ruby:3.3.0-jemalloc-slim
quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-bookworm-slim
- ruby-version: "3.3.0"
ruby-variant: "malloctrim"
debian-image: "bookworm"
debian-version: "12"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim
quay.io/evl.ms/fullstaq-ruby:3.3.0-malloctrim
quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-bookworm
- ruby-version: "3.3.0"
ruby-variant: "malloctrim"
debian-image: "bookworm-slim"
debian-version: "12"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-slim
quay.io/evl.ms/fullstaq-ruby:3.3.0-malloctrim-slim
quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-bookworm-slim
# 3.3.0 on Debian 11
- ruby-version: "3.3.0"
ruby-variant: "jemalloc"
debian-image: "bullseye"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-bullseye
- ruby-version: "3.3.0"
ruby-variant: "jemalloc"
debian-image: "bullseye-slim"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.3-jemalloc-bullseye-slim
- ruby-version: "3.3.0"
ruby-variant: "malloctrim"
debian-image: "bullseye"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-bullseye
- ruby-version: "3.3.0"
ruby-variant: "malloctrim"
debian-image: "bullseye-slim"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.3-malloctrim-bullseye-slim
# 3.3.0 on Debian 10
- ruby-version: "3.3.0"
ruby-variant: "jemalloc"
debian-image: "buster"
debian-version: "10"
- ruby-version: "3.3.0"
ruby-variant: "jemalloc"
debian-image: "buster-slim"
debian-version: "10"
- ruby-version: "3.3.0"
ruby-variant: "malloctrim"
debian-image: "buster"
debian-version: "10"
- ruby-version: "3.3.0"
ruby-variant: "malloctrim"
debian-image: "buster-slim"
debian-version: "10"
# 3.2.3 on Debian 12
- ruby-version: "3.2.3"
ruby-variant: "jemalloc"
debian-image: "bookworm"
debian-version: "12"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.2-jemalloc-bookworm
- ruby-version: "3.2.3"
ruby-variant: "jemalloc"
debian-image: "bookworm-slim"
debian-version: "12"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.2-jemalloc-bookworm-slim
- ruby-version: "3.2.3"
ruby-variant: "malloctrim"
debian-image: "bookworm"
debian-version: "12"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.2-malloctrim-bookworm
- ruby-version: "3.2.3"
ruby-variant: "malloctrim"
debian-image: "bookworm-slim"
debian-version: "12"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.2-malloctrim-bookworm-slim
# 3.2.3 on Debian 11
- ruby-version: "3.2.3"
ruby-variant: "jemalloc"
debian-image: "bullseye"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.2.3-jemalloc
quay.io/evl.ms/fullstaq-ruby:3.2-jemalloc
- ruby-version: "3.2.3"
ruby-variant: "jemalloc"
debian-image: "bullseye-slim"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.2.3-jemalloc-slim
quay.io/evl.ms/fullstaq-ruby:3.2-jemalloc-slim
- ruby-version: "3.2.3"
ruby-variant: "malloctrim"
debian-image: "bullseye"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.2.3-malloctrim
quay.io/evl.ms/fullstaq-ruby:3.2-malloctrim
- ruby-version: "3.2.3"
ruby-variant: "malloctrim"
debian-image: "bullseye-slim"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.2.3-malloctrim-slim
quay.io/evl.ms/fullstaq-ruby:3.2-malloctrim-slim
# 3.2.3 on Debian 10
- ruby-version: "3.2.3"
ruby-variant: "jemalloc"
debian-image: "buster"
debian-version: "10"
- ruby-version: "3.2.3"
ruby-variant: "jemalloc"
debian-image: "buster-slim"
debian-version: "10"
- ruby-version: "3.2.3"
ruby-variant: "malloctrim"
debian-image: "buster"
debian-version: "10"
- ruby-version: "3.2.3"
ruby-variant: "malloctrim"
debian-image: "buster-slim"
debian-version: "10"
# 3.1.4 on Debian 11
- ruby-version: "3.1.4"
ruby-variant: "jemalloc"
debian-image: "bullseye"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.1.4-jemalloc
quay.io/evl.ms/fullstaq-ruby:3.1-jemalloc
- ruby-version: "3.1.4"
ruby-variant: "jemalloc"
debian-image: "bullseye-slim"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.1.4-jemalloc-slim
quay.io/evl.ms/fullstaq-ruby:3.1-jemalloc-slim
- ruby-version: "3.1.4"
ruby-variant: "malloctrim"
debian-image: "bullseye"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.1.4-malloctrim
quay.io/evl.ms/fullstaq-ruby:3.1-malloctrim
- ruby-version: "3.1.4"
ruby-variant: "malloctrim"
debian-image: "bullseye-slim"
debian-version: "11"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.1.4-malloctrim-slim
quay.io/evl.ms/fullstaq-ruby:3.1-malloctrim-slim
# 3.1.4 on Debian 10
- ruby-version: "3.1.4"
ruby-variant: "jemalloc"
debian-image: "buster"
debian-version: "10"
- ruby-version: "3.1.4"
ruby-variant: "jemalloc"
debian-image: "buster-slim"
debian-version: "10"
- ruby-version: "3.1.4"
ruby-variant: "malloctrim"
debian-image: "buster"
debian-version: "10"
- ruby-version: "3.1.4"
ruby-variant: "malloctrim"
debian-image: "buster-slim"
debian-version: "10"
# 3.0.6 on Debian 11
- ruby-version: "3.0.6"
ruby-variant: "jemalloc"
debian-image: "bullseye"
debian-version: "11"
- ruby-version: "3.0.6"
ruby-variant: "jemalloc"
debian-image: "bullseye-slim"
debian-version: "11"
- ruby-version: "3.0.6"
ruby-variant: "malloctrim"
debian-image: "bullseye"
debian-version: "11"
- ruby-version: "3.0.6"
ruby-variant: "malloctrim"
debian-image: "bullseye-slim"
debian-version: "11"
# 3.0.6 on Debian 10
- ruby-version: "3.0.6"
ruby-variant: "jemalloc"
debian-image: "buster"
debian-version: "10"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.0.6-jemalloc
quay.io/evl.ms/fullstaq-ruby:3.0-jemalloc
- ruby-version: "3.0.6"
ruby-variant: "jemalloc"
debian-image: "buster-slim"
debian-version: "10"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.0.6-jemalloc-slim
quay.io/evl.ms/fullstaq-ruby:3.0-jemalloc-slim
- ruby-version: "3.0.6"
ruby-variant: "malloctrim"
debian-image: "buster"
debian-version: "10"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.0.6-malloctrim
quay.io/evl.ms/fullstaq-ruby:3.0-malloctrim
- ruby-version: "3.0.6"
ruby-variant: "malloctrim"
debian-image: "buster-slim"
debian-version: "10"
aliases: |
quay.io/evl.ms/fullstaq-ruby:3.0.6-malloctrim-slim
quay.io/evl.ms/fullstaq-ruby:3.0-malloctrim-slim
steps:
- name: Check out the repo
uses: actions/checkout@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
with:
install: true
- name: Cache Docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-dev-${{ matrix.debian-image }}-${{ matrix.ruby-version }}
restore-keys: |
${{ runner.os }}-buildx-dev-${{ matrix.debian-image }}-${{ matrix.ruby-version }}
${{ runner.os }}-buildx-dev-${{ matrix.debian-image }}
${{ runner.os }}-buildx-dev
- name: Login to Quay.io
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
registry: quay.io
username: ${{ secrets.QUAY_USERNAME }}
password: ${{ secrets.QUAY_PASSWORD }} # Get it at Settings → CLI Password
- name: Build Docker image
id: docker_build
uses: docker/build-push-action@v4
with:
context: .
file: Dockerfile
pull: true
push: ${{ github.event_name != 'pull_request' }}
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
tags: |
quay.io/evl.ms/fullstaq-ruby:${{ matrix.ruby-version }}-${{ matrix.ruby-variant }}-${{ matrix.debian-image }}
${{ matrix.aliases }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
build-args: |
RUBY_VERSION=${{ matrix.ruby-version }}
RUBY_VARIANT=${{ matrix.ruby-variant }}
DEBIAN_IMAGE=${{ matrix.debian-image }}
DEBIAN_VERSION=${{ matrix.debian-version }}