diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6fd05537f..c67be8a4c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -187,6 +187,37 @@ jobs: docker login --username discoursebuild --password $DOCKERHUB_PASSWORD docker tag discourse/base:build_release_main_amd64 discourse/base:release-ruby-3.4.7 docker push discourse/base:release-ruby-3.4.7 + multi_rubies: + runs-on: debian-12-8core + timeout-minutes: 30 + needs: base + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 1 + - name: build slim image + run: | + cd image && ruby auto_build.rb base_slim_main_amd64 --build-arg="FROM_DOCKER_IMAGE_TAG=3.3.8-and-3.4.7-bookworm-slim" + - name: build release image + run: | + cd image && ruby auto_build.rb base_release_main_amd64 --build-arg="FROM_DOCKER_IMAGE_TAG=3.3.8-and-3.4.7-bookworm-slim" + - name: build test_build image + run: | + cd image && ruby auto_build.rb discourse_test_build_amd64 --build-arg="FROM_DOCKER_IMAGE_TAG=3.3.8-and-3.4.7-bookworm-slim" + - name: run specs + run: | + docker run --rm -e RUBY_ONLY=1 -e USE_TURBO=1 -e SKIP_PLUGINS=1 -e SKIP_LINT=1 discourse/discourse_test:build_amd64 + - name: Print summary + run: | + docker images discourse/base + - name: push to dockerhub + if: success() && (github.ref == 'refs/heads/main') + env: + DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }} + run: | + docker login --username discoursebuild --password $DOCKERHUB_PASSWORD + docker tag discourse/base:build_release_main_amd64 discourse/base:release-ruby-3.3.8-and-3.4.7 + docker push discourse/base:release-ruby-3.3.8-and-3.4.7 push_multi_arch_manifests: runs-on: ubuntu-latest needs: [base, timestamp] diff --git a/image/base/Dockerfile b/image/base/Dockerfile index 1a1b51084..fc603ad09 100644 --- a/image/base/Dockerfile +++ b/image/base/Dockerfile @@ -3,8 +3,9 @@ ARG DEBIAN_RELEASE=bookworm ARG RUBY_VERSION=3.3.8 +ARG FROM_DOCKER_IMAGE_TAG=${RUBY_VERSION}-${DEBIAN_RELEASE}-slim -FROM discourse/ruby:${RUBY_VERSION}-${DEBIAN_RELEASE}-slim AS builder +FROM discourse/ruby:${FROM_DOCKER_IMAGE_TAG} AS builder ARG DEBIAN_RELEASE ENV DEBIAN_RELEASE=${DEBIAN_RELEASE} RUN echo "deb http://deb.debian.org/debian ${DEBIAN_RELEASE}-backports main" > "/etc/apt/sources.list.d/${DEBIAN_RELEASE}-backports.list" @@ -30,7 +31,7 @@ RUN gpg --import /tmp/nginx_public_keys.key &&\ rm /tmp/nginx_public_keys.key &&\ /tmp/install-nginx -FROM discourse/ruby:${RUBY_VERSION}-${DEBIAN_RELEASE}-slim AS discourse_dependencies +FROM discourse/ruby:${FROM_DOCKER_IMAGE_TAG} AS discourse_dependencies ARG DEBIAN_RELEASE ARG PG_MAJOR=15