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

Reply via email to