On 1/8/26 03:06, pietro via Sourceware Forge wrote:
Hi gcc-patches mailing list,
pietro <[email protected]> has requested that the following forgejo pull
request
be published on the mailing list.
Created on: 2025-12-18 23:08:10+00:00
Latest update: 2026-01-08 02:06:53+00:00
Changes: 5 changed files, 435 additions, 0 deletions
Head revision: pietro/gcc-TEST ref forge-cfile commit
e951f424937d8b81d669bcd1bf29a5b868ad28bc
Base revision: gcc/gcc-TEST ref trunk commit
cdb15b390035fc4843e11363bcc4e0eff419d6a3 r16-6513-gcdb15b390035fc
Merge base: cdb15b390035fc4843e11363bcc4e0eff419d6a3
Full diff url: https://forge.sourceware.org/gcc/gcc-TEST/pulls/132.diff
Discussion: https://forge.sourceware.org/gcc/gcc-TEST/pulls/132
Requested Reviewers: rdfm, clyon
Add a Containerfile for the forge action and create an action to build
it. Currently, the action does not push the built image to a registry.
---
Changes since v4:
- Use variables for autoconf and automake versions.
LGTM, thanks!
---
Changes since v3:
- Added script to buid images.
- Added readme with instructions on how to build images.
- Renamed directory to `contrib/ci-containers`
---
Changes since v3:
- Copy autoregen.py from builder repository.
- Squash all commits into one.
---
Changes since v2:
- Use fedora image to build containers
---
Changes since v1:
- Added action to build containers
Changed files:
- A: .forgejo/workflows/build-containers.yaml
- A: contrib/ci-containers/README
- A: contrib/ci-containers/autoregen/Containerfile
- A: contrib/ci-containers/autoregen/autoregen.py
- A: contrib/ci-containers/build-image.sh
Pietro Monteiro (1):
Containerfile for base forge actions
.forgejo/workflows/build-containers.yaml | 55 +++++++
contrib/ci-containers/README | 47 ++++++
contrib/ci-containers/autoregen/Containerfile | 83 ++++++++++
contrib/ci-containers/autoregen/autoregen.py | 146 ++++++++++++++++++
contrib/ci-containers/build-image.sh | 104 +++++++++++++
5 files changed, 435 insertions(+)
create mode 100644 .forgejo/workflows/build-containers.yaml
create mode 100644 contrib/ci-containers/README
create mode 100644 contrib/ci-containers/autoregen/Containerfile
create mode 100755 contrib/ci-containers/autoregen/autoregen.py
create mode 100755 contrib/ci-containers/build-image.sh
Range-diff against v4:
1: c90915df14c0 ! 1: e951f424937d Containerfile for base forge actions
@@ contrib/ci-containers/autoregen/Containerfile (new)
@@
+FROM debian:stable-slim
+
++ARG AUTOCONF_VERSION=2.69
++ARG AUTOMAKE_VERSION=1.15.1
++
+# Run time deps
+RUN set -eux; \
+ apt-get update; \
@@ contrib/ci-containers/autoregen/Containerfile (new)
+# Get and install the autoregen.py script
+COPY --chmod=755 autoregen.py /usr/local/bin/autoregen.py
+
-+# Build and install autoconf-2.69 and automake-1.15.1
++# Build and install autoconf and automake
+# Automake depends on autoconf, which is built and installed first
+RUN set -eux; \
+ \
@@ contrib/ci-containers/autoregen/Containerfile (new)
+ rm -r /var/lib/apt/lists/*; \
+ \
+ builddir="$(mktemp -d)"; \
-+ cd "${builddir}"; \
+ \
-+ wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz; \
-+ tar xf autoconf-2.69.tar.gz; \
-+ cd autoconf-2.69; \
-+ ./configure --program-suffix=-2.69; \
++ cd "${builddir}"; \
++ AUTOCONF_VERSION_SHORT="$(echo $AUTOCONF_VERSION | awk -F. '{ print $1
"." $2 }')"; \
++ wget -q
"https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz"; \
++ tar xf "autoconf-${AUTOCONF_VERSION}.tar.gz"; \
++ cd "autoconf-${AUTOCONF_VERSION}"; \
++ ./configure --program-suffix="-${AUTOCONF_VERSION}"; \
+ make; \
+ make install; \
+ cd .. ;\
+ rm -rf autoconf*; \
+ cd /usr/local/bin; \
-+ ln -s autoconf-2.69 autoconf; \
-+ ln -s autoheader-2.69 autoheader; \
-+ ln -s autom4te-2.69 autom4te; \
-+ ln -s autoreconf-2.69 autoreconf; \
-+ ln -s autoscan-2.69 autoscan; \
-+ ln -s autoupdate-2.69 autoupdate; \
++ for f in autoconf autoheader autom4te autoreconf autoscan autoupdate
ifnames; do \
++ ln -sv "$f-$AUTOCONF_VERSION" "$f"; \
++ [ ! "$AUTOCONF_VERSION" = "$AUTOCONF_VERSION_SHORT" ] && \
++ ln -sv "$f-$AUTOCONF_VERSION" "$f-$AUTOCONF_VERSION_SHORT"; \
++ done; \
+ \
+ cd "${builddir}"; \
-+ wget https://ftp.gnu.org/gnu/automake/automake-1.15.1.tar.gz; \
-+ tar xf automake-1.15.1.tar.gz; \
-+ cd automake-1.15.1; \
-+ ./configure --program-suffix=-1.15.1; \
++ AUTOMAKE_VERSION_SHORT="$(echo $AUTOMAKE_VERSION | awk -F. '{ print $1
"." $2 }')"; \
++ wget -q
"https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz"; \
++ tar xf "automake-${AUTOMAKE_VERSION}.tar.gz"; \
++ cd "automake-${AUTOMAKE_VERSION}"; \
++ ./configure --program-suffix="-${AUTOMAKE_VERSION}"; \
+ make; \
+ make install; \
+ cd ..; \
+ rm -rf automake*; \
+ cd /usr/local/bin; \
-+ ln -s aclocal-1.15.1 aclocal-1.15; \
-+ ln -s aclocal-1.15.1 aclocal; \
-+ ln -s automake-1.15.1 automake-1.15; \
-+ ln -s automake-1.15.1 automake; \
++ for f in aclocal automake; do \
++ ln -sv "$f-$AUTOMAKE_VERSION" "$f"; \
++ [ ! "$AUTOMAKE_VERSION" = "$AUTOMAKE_VERSION_SHORT" ] && \
++ ln -sv "$f-$AUTOMAKE_VERSION" "$f-$AUTOMAKE_VERSION_SHORT"; \
++ done; \
+ \
+ rm -rf "${builddir}"; \
+ \