From 5e0ae2a4a0c91b4c2fb4014a92ca2400752abfdb Mon Sep 17 00:00:00 2001 From: Per Ryan Edin Date: Wed, 24 Jun 2026 07:51:59 +0200 Subject: [PATCH] Hello infra.buildenv --- .gitea/workflows/on-push.yaml | 38 ++++++++++++++++++++++++++++++++ .gitea/workflows/on-release.yaml | 38 ++++++++++++++++++++++++++++++++ f44-x86_64-unified/Dockerfile | 32 +++++++++++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 .gitea/workflows/on-push.yaml create mode 100644 .gitea/workflows/on-release.yaml create mode 100644 f44-x86_64-unified/Dockerfile diff --git a/.gitea/workflows/on-push.yaml b/.gitea/workflows/on-push.yaml new file mode 100644 index 0000000..12e0c9e --- /dev/null +++ b/.gitea/workflows/on-push.yaml @@ -0,0 +1,38 @@ +name: on-push + +on: + push: + tags-ignore: + - release + branches: + - '**' + +jobs: + buildenv/f44-x86_64-unified: + runs-on: linux + container: code.helloryan.se/infra/docker:latest + steps: + - name: Prepare + run: | + export PACKAGE_HOST="$(echo $GITHUB_SERVER_URL | sed s#https://##g)" + echo "PACKAGE_HOST=$PACKAGE_HOST" >> $GITHUB_ENV + export "PACKAGE_IMAGE=$PACKAGE_HOST/$GITHUB_REPOSITORY_OWNER/f44-x86_64-unified" + echo "PACKAGE_IMAGE=$PACKAGE_IMAGE" >> $GITHUB_ENV + - name: Configure repository access + run: | + git config --global http.$GITHUB_SERVER_URL/.extraheader "Authorization: token ${{ secrets.ACT_RUNNER_TOKEN }}" + - name: Fetch repository + run: | + git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git . + git checkout "$GITHUB_SHA" + - name: Build image + run: | + docker build -t "$PACKAGE_IMAGE:$GITHUB_SHA" ./f44-x86_64-unified + - name: Test image + run: | + docker run --rm "$PACKAGE_IMAGE:$GITHUB_SHA" g++ --version + docker run --rm "$PACKAGE_IMAGE:$GITHUB_SHA" b --version + - name: Push image + run: | + echo ${{ secrets.ACT_RUNNER_TOKEN }} | docker login -u "oauth2" --password-stdin "$PACKAGE_HOST" + docker push "$PACKAGE_IMAGE:$GITHUB_SHA" diff --git a/.gitea/workflows/on-release.yaml b/.gitea/workflows/on-release.yaml new file mode 100644 index 0000000..a9da22c --- /dev/null +++ b/.gitea/workflows/on-release.yaml @@ -0,0 +1,38 @@ +name: on-release + +on: + push: + branches-ignore: + - '**' + tags: + - release + +jobs: + buildenv/f44-x86_64-unified: + runs-on: linux + container: code.helloryan.se/infra/docker:latest + steps: + - name: Prepare + run: | + export PACKAGE_HOST="$(echo $GITHUB_SERVER_URL | sed s#https://##g)" + echo "PACKAGE_HOST=$PACKAGE_HOST" >> $GITHUB_ENV + export "PACKAGE_IMAGE=$PACKAGE_HOST/$GITHUB_REPOSITORY_OWNER/buildenv/f44-x86_64-unified" + echo "PACKAGE_IMAGE=$PACKAGE_IMAGE" >> $GITHUB_ENV + - name: Configure repository access + run: | + git config --global http.$GITHUB_SERVER_URL/.extraheader "Authorization: token ${{ secrets.ACT_RUNNER_TOKEN }}" + - name: Fetch repository + run: | + git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git . + git checkout "$GITHUB_SHA" + - name: Build image + run: | + docker build -t "$PACKAGE_IMAGE:latest" ./f44-x86_64-unified + - name: Test image + run: | + docker run --rm "$PACKAGE_IMAGE:latest" g++ --version + docker run --rm "$PACKAGE_IMAGE:latest" b --version + - name: Push image + run: | + echo ${{ secrets.ACT_RUNNER_TOKEN }} | docker login -u oauth2 --password-stdin "$PACKAGE_HOST" + docker push "$PACKAGE_IMAGE:latest" diff --git a/f44-x86_64-unified/Dockerfile b/f44-x86_64-unified/Dockerfile new file mode 100644 index 0000000..8c26513 --- /dev/null +++ b/f44-x86_64-unified/Dockerfile @@ -0,0 +1,32 @@ +FROM fedora:44 +LABEL maintainer="Per Ryan Edin " + +RUN true \ + && dnf -y install \ + clang \ + curl \ + doxygen \ + gcc \ + gcc-plugin-devel \ + git \ + make \ + nodejs \ + openssl \ + rsync \ + sqlite3 \ + wget \ + xxd \ + yarnpkg \ + && dnf clean all + +RUN true \ + && mkdir ~/build2-build \ + && cd ~/build2-build \ + && curl -sSfO https://download.build2.org/0.18.1/build2-install-0.18.1.sh \ + && sh build2-install-0.18.1.sh --yes --trust yes \ + && cd / \ + && rm -rf ~/build2-build + +RUN true \ + && wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/bin/mc \ + && chmod +x /usr/bin/mc