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}"; \
      +    \

Reply via email to