From fb7cef7ff03e91aec6d4ff2cf0c0bb8775d8b92a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 11 Aug 2024 04:17:16 -0400 Subject: [PATCH 1/3] feat: build and default to heroku-24 based image --- .github/workflows/main.yml | 2 ++ .github/workflows/release.yml | 3 ++- .github/workflows/tag-release.yml | 4 ++-- Makefile | 2 ++ README.md | 2 +- contrib/post-install | 4 ++-- 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4e1e10028..2f47cae04 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,6 +27,7 @@ jobs: heroku: - 20 - 22 + - 24 steps: - uses: actions/checkout@v4 @@ -113,6 +114,7 @@ jobs: heroku: - 20 - 22 + - 24 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index abdef2013..30e1a8618 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,7 +5,7 @@ name: release on: push: tags: - - '*' + - "*" jobs: build: @@ -17,6 +17,7 @@ jobs: heroku: - 20 - 22 + - 24 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/tag-release.yml b/.github/workflows/tag-release.yml index 6c6ea72fa..a28488abf 100644 --- a/.github/workflows/tag-release.yml +++ b/.github/workflows/tag-release.yml @@ -17,7 +17,7 @@ jobs: buildx: - "false" heroku: - - 22 + - 24 steps: - uses: actions/checkout@v4 @@ -70,7 +70,7 @@ jobs: - name: download packages uses: actions/download-artifact@v4 with: - name: build-22-false + name: build-24-false path: build - name: Login to DockerHub diff --git a/Makefile b/Makefile index 61e2f587b..5a9293d62 100644 --- a/Makefile +++ b/Makefile @@ -57,6 +57,7 @@ build: bindata.go build/docker: $(MAKE) build/docker/20 STACK_VERSION=20 $(MAKE) build/docker/22 STACK_VERSION=22 + $(MAKE) build/docker/24 STACK_VERSION=24 build/docker/$(STACK_VERSION): bindata.go ifeq ($(BUILDX),true) @@ -128,6 +129,7 @@ clean: deps: bindata.go docker pull heroku/heroku:20-build docker pull heroku/heroku:22-build + docker pull heroku/heroku:24-build cd / && go get -u github.com/progrium/basht/... $(MAKE) bindata.go go get || true diff --git a/README.md b/README.md index 4fa4615aa..5664d896a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ A command line tool for emulating Heroku build and runtime tasks in containers. Herokuish is made for platform authors. The project consolidates and decouples Heroku compatibility logic (running buildpacks, parsing Procfile) and supporting workflow (importing/exporting slugs) from specific platform images like those in Dokku/Buildstep, Deis, Flynn, etc. -The goal is to be the definitive, well maintained and heavily tested Heroku emulation utility shared by all. It is based on the [Heroku:20, and Heroku:22 system images](https://github.com/heroku/stack-images). Together they form a toolkit for achieving Heroku compatibility. +The goal is to be the definitive, well maintained and heavily tested Heroku emulation utility shared by all. It is based on the [Heroku:20, Heroku:22, and Heroku:24 system images](https://github.com/heroku/stack-images). Together they form a toolkit for achieving Heroku compatibility. Herokuish is a community project and is in no way affiliated with Heroku. diff --git a/contrib/post-install b/contrib/post-install index 0c9c0c4a6..8eefe6349 100644 --- a/contrib/post-install +++ b/contrib/post-install @@ -19,5 +19,5 @@ fi VERSION=$(cat /var/lib/herokuish/VERSION) -sudo docker pull "gliderlabs/herokuish:v${VERSION}-22" -sudo docker tag "gliderlabs/herokuish:v${VERSION}-22" gliderlabs/herokuish:latest-22 +sudo docker pull "gliderlabs/herokuish:v${VERSION}-24" +sudo docker tag "gliderlabs/herokuish:v${VERSION}-24" gliderlabs/herokuish:latest-24 From 1c991ee8566ea1055ac5d212a7c329bf198fce8a Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 19 Aug 2024 01:07:38 -0400 Subject: [PATCH 2/3] chore: add missing build-deps mount source for heroku-24 builds --- build-deps/24/imagemagick-policy.xml | 13 +++++ build-deps/24/postgresql-ACCC4CF8.asc | 77 +++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 build-deps/24/imagemagick-policy.xml create mode 100644 build-deps/24/postgresql-ACCC4CF8.asc diff --git a/build-deps/24/imagemagick-policy.xml b/build-deps/24/imagemagick-policy.xml new file mode 100644 index 000000000..f0ab0d662 --- /dev/null +++ b/build-deps/24/imagemagick-policy.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/build-deps/24/postgresql-ACCC4CF8.asc b/build-deps/24/postgresql-ACCC4CF8.asc new file mode 100644 index 000000000..8480576ec --- /dev/null +++ b/build-deps/24/postgresql-ACCC4CF8.asc @@ -0,0 +1,77 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=DA1T +-----END PGP PUBLIC KEY BLOCK----- From ce9a8a4489ad800f29a260555e98d586563dbfdb Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Mon, 19 Aug 2024 01:42:01 -0400 Subject: [PATCH 3/3] hack: install the time64 transitionary packages --- bin/setup.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bin/setup.sh b/bin/setup.sh index 7f3132e0a..665db9eb7 100755 --- a/bin/setup.sh +++ b/bin/setup.sh @@ -17,6 +17,22 @@ if [[ -n "$TARGETARCH" ]] && [[ "$TARGETARCH" != "amd64" ]]; then sed -i '/syslinux/d' /tmp/setup-01.sh fi +# Use time_64 packages for 24 stack +if [[ "$STACK_VERSION" == "24" ]]; then + sed -i 's/libev4/libev4t64/' /tmp/setup-01.sh + sed -i 's/libevent-2.1-7/libevent-2.1-7t64/' /tmp/setup-01.sh + sed -i 's/libevent-core-2.1-7/libevent-core-2.1-7t64/' /tmp/setup-01.sh + sed -i 's/libevent-extra-2.1-7/libevent-extra-2.1-7t64/' /tmp/setup-01.sh + sed -i 's/libevent-openssl-2.1-7/libevent-openssl-2.1-7t64/' /tmp/setup-01.sh + sed -i 's/libevent-pthreads-2.1-7/libevent-pthreads-2.1-7t64/' /tmp/setup-01.sh + sed -i 's/libgnutls-openssl27/libgnutls-openssl27t64/' /tmp/setup-01.sh + sed -i 's/libgnutls30/libgnutls30t64/' /tmp/setup-01.sh + sed -i 's/libmemcached11/libmemcached11t64/' /tmp/setup-01.sh + sed -i 's/libuv1/libuv1t64/' /tmp/setup-01.sh + sed -i 's/libvips42/libvips42t64/' /tmp/setup-01.sh + sed -i 's/libzip4/libzip4t64/' /tmp/setup-01.sh +fi + # from base image /tmp/setup-01.sh