Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package forgejo-runner for openSUSE:Factory 
checked in at 2025-12-12 21:43:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/forgejo-runner (Old)
 and      /work/SRC/openSUSE:Factory/.forgejo-runner.new.1939 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "forgejo-runner"

Fri Dec 12 21:43:10 2025 rev:34 rq:1322616 version:12.1.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/forgejo-runner/forgejo-runner.changes    
2025-12-08 11:56:01.878708533 +0100
+++ /work/SRC/openSUSE:Factory/.forgejo-runner.new.1939/forgejo-runner.changes  
2025-12-12 21:44:28.621183814 +0100
@@ -1,0 +2,7 @@
+Sun Dec  7 23:45:18 UTC 2025 - Richard Rahl <[email protected]>
+
+- Update to version 12.1.2:
+  * fix: "incorrect container platform option 'any'" on docker >28.1 w/ remote
+    docker actions
+
+-------------------------------------------------------------------

Old:
----
  forgejo-runner-12.1.1.obscpio

New:
----
  forgejo-runner-12.1.2.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ forgejo-runner.spec ++++++
--- /var/tmp/diff_new_pack.fJpbmW/_old  2025-12-12 21:44:29.401216724 +0100
+++ /var/tmp/diff_new_pack.fJpbmW/_new  2025-12-12 21:44:29.405216893 +0100
@@ -19,7 +19,7 @@
 %define services %{name}.service
 
 Name:           forgejo-runner
-Version:        12.1.1
+Version:        12.1.2
 Release:        0
 Summary:        Daemon that connects to a Forgejo instance and runs CI jobs
 License:        GPL-3.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.fJpbmW/_old  2025-12-12 21:44:29.437218243 +0100
+++ /var/tmp/diff_new_pack.fJpbmW/_new  2025-12-12 21:44:29.441218412 +0100
@@ -2,7 +2,7 @@
   <service name="obs_scm" mode="manual">
     <param name="url">https://code.forgejo.org/forgejo/runner</param>
     <param name="scm">git</param>
-    <param name="revision">refs/tags/v12.1.1</param>
+    <param name="revision">refs/tags/v12.1.2</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">disable</param>
     <param name="versionrewrite-pattern">v(.*)</param>

++++++ forgejo-runner-12.1.1.obscpio -> forgejo-runner-12.1.2.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forgejo-runner-12.1.1/.forgejo/install-docker.sh 
new/forgejo-runner-12.1.2/.forgejo/install-docker.sh
--- old/forgejo-runner-12.1.1/.forgejo/install-docker.sh        1970-01-01 
01:00:00.000000000 +0100
+++ new/forgejo-runner-12.1.2/.forgejo/install-docker.sh        2025-12-06 
22:59:51.000000000 +0100
@@ -0,0 +1,42 @@
+#!/usr/bin/env bash
+
+set -eu -o pipefail
+
+DOCKER_VERSION="$1"
+
+if [[ "$DOCKER_VERSION" == "stable" ]];
+then
+  echo "Installing Docker from Debian's stable apt packages."
+  apt-get install -y -qq docker.io
+
+elif [[ "$DOCKER_VERSION" == "latest" ]];
+then
+  echo "Installing Docker from Docker's latest apt packages."
+
+  # Derived from Docker's official debian installation documentation: 
https://docs.docker.com/engine/install/debian/#install-using-the-repository
+  # Add Docker's official GPG key:
+  apt-get update
+  apt-get install -y -qq ca-certificates curl
+  install -m 0755 -d /etc/apt/keyrings
+  curl -fsSL https://download.docker.com/linux/debian/gpg -o 
/etc/apt/keyrings/docker.asc
+  chmod a+r /etc/apt/keyrings/docker.asc
+
+  # Add the repository to Apt sources:
+  tee /etc/apt/sources.list.d/docker.sources <<EOF
+Types: deb
+URIs: https://download.docker.com/linux/debian
+Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
+Components: stable
+Signed-By: /etc/apt/keyrings/docker.asc
+EOF
+
+  apt-get update
+  apt-get install -y -qq docker-ce docker-ce-cli containerd.io 
docker-buildx-plugin docker-compose-plugin
+
+else
+  echo "unknown docker"
+  exit 1
+
+fi
+
+docker info
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forgejo-runner-12.1.1/.forgejo/workflows/test.yml 
new/forgejo-runner-12.1.2/.forgejo/workflows/test.yml
--- old/forgejo-runner-12.1.1/.forgejo/workflows/test.yml       2025-12-05 
14:31:14.000000000 +0100
+++ new/forgejo-runner-12.1.2/.forgejo/workflows/test.yml       2025-12-06 
22:59:51.000000000 +0100
@@ -108,7 +108,7 @@
             ]
           }
           EOF
-          apt --quiet install --yes -qq docker.io
+          apt-get install -y -qq docker.io
 
       - name: forgejo-runner exec --enable-ipv6
         run: |
@@ -127,9 +127,14 @@
           grep --quiet 'Success - Main echo "VAR -> testvariable"' /tmp/var.out
 
   integration-tests:
-    name: integration tests
+    name: integration tests (docker-${{ matrix.docker }})
     if: vars.ROLE == 'forgejo-coding'
     runs-on: lxc-bookworm
+    strategy:
+      matrix:
+        docker:
+          - stable # docker version distributed by Debian
+          - latest # latest stable version of docker distributed by Docker
     steps:
       - uses: https://data.forgejo.org/actions/checkout@v5
 
@@ -137,14 +142,16 @@
         with:
           go-version-file: go.mod
 
+      - name: install docker
+        run: ./.forgejo/install-docker.sh ${{ matrix.docker }}
+
       - name: apt install
         run: |
           export DEBIAN_FRONTEND=noninteractive
           apt-get update -qq
           # qemu & binfmt -- for mixed architecture testing
           # gcc -- for `go test -race`
-          apt-get -q install -qq -y \
-            docker.io \
+          apt-get install -qq -y \
             qemu-user-static binfmt-support \
             gcc
 
@@ -189,14 +196,14 @@
             ]
           }
           EOF
-          apt --quiet install --yes -qq docker.io make
+          apt-get install -y -qq docker.io make
 
       - name: install LXC
         run: |
           act/runner/lxc-helpers.sh lxc_prepare_environment
           act/runner/lxc-helpers.sh lxc_install_lxc_inside 10.39.28 fdb1
 
-      - run: apt-get -q install -qq -y gcc # required for `-race`
+      - run: apt-get install -y -qq gcc # required for `-race`
 
       - run: make integration-test
 
@@ -247,7 +254,7 @@
           PIP_PROGRESS_BAR: off
         run: |
           apt-get update -qq
-          apt-get -q install -qq -y python3-pip
+          apt-get install -y -qq python3-pip
           python3 -m pip install 'pre-commit>=3.2.0'
 
       - name: validate .pre-commit-hooks.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forgejo-runner-12.1.1/act/container/docker_pull.go 
new/forgejo-runner-12.1.2/act/container/docker_pull.go
--- old/forgejo-runner-12.1.1/act/container/docker_pull.go      2025-12-05 
14:31:14.000000000 +0100
+++ new/forgejo-runner-12.1.2/act/container/docker_pull.go      2025-12-06 
22:59:51.000000000 +0100
@@ -21,7 +21,7 @@
 // atomic isn't "really" needed, but its used to avoid the data race detector 
causing errors.
 var cachedSystemPlatform atomic.Pointer[string]
 
-func currentSystemPlatform(ctx context.Context) (string, error) {
+func CurrentSystemPlatform(ctx context.Context) (string, error) {
        lastCache := cachedSystemPlatform.Load()
        if lastCache != nil {
                return *lastCache, nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forgejo-runner-12.1.1/act/container/docker_run.go 
new/forgejo-runner-12.1.2/act/container/docker_run.go
--- old/forgejo-runner-12.1.1/act/container/docker_run.go       2025-12-05 
14:31:14.000000000 +0100
+++ new/forgejo-runner-12.1.2/act/container/docker_run.go       2025-12-06 
22:59:51.000000000 +0100
@@ -68,7 +68,7 @@
 
        if platform == "" {
                // cr.input.DefaultPlatform wasn't provided, --platform wasn't 
provided, fallback to the system platform
-               defaultPlatform, err := currentSystemPlatform(ctx)
+               defaultPlatform, err := CurrentSystemPlatform(ctx)
                if err != nil {
                        return "", err
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forgejo-runner-12.1.1/act/runner/action.go 
new/forgejo-runner-12.1.2/act/runner/action.go
--- old/forgejo-runner-12.1.1/act/runner/action.go      2025-12-05 
14:31:14.000000000 +0100
+++ new/forgejo-runner-12.1.2/act/runner/action.go      2025-12-06 
22:59:51.000000000 +0100
@@ -281,6 +281,15 @@
        rc := step.getRunContext()
        action := step.getActionModel()
 
+       targetPlatform := rc.Config.ContainerArchitecture
+       if targetPlatform == "" {
+               currentSystemPlatform, err := 
container.CurrentSystemPlatform(ctx)
+               if err != nil {
+                       return fmt.Errorf("unable to evaluate current system 
architecture: %w", err)
+               }
+               targetPlatform = currentSystemPlatform
+       }
+
        var prepImage common.Executor
        var image string
        forcePull := false
@@ -296,28 +305,13 @@
                }
                contextDir, fileName := filepath.Split(filepath.Join(basedir, 
action.Runs.Image))
 
-               anyArchExists, err := container.ImageExistsLocally(ctx, image, 
"any")
-               if err != nil {
-                       return err
-               }
-
-               correctArchExists, err := container.ImageExistsLocally(ctx, 
image, rc.Config.ContainerArchitecture)
+               imageExists, err := container.ImageExistsLocally(ctx, image, 
targetPlatform)
                if err != nil {
                        return err
                }
 
-               if anyArchExists && !correctArchExists {
-                       wasRemoved, err := container.RemoveImage(ctx, image, 
true, true)
-                       if err != nil {
-                               return err
-                       }
-                       if !wasRemoved {
-                               return fmt.Errorf("failed to remove image 
'%s'", image)
-                       }
-               }
-
-               if !correctArchExists || rc.Config.ForceRebuild {
-                       logger.Debugf("image '%s' for architecture '%s' will be 
built from context '%s", image, rc.Config.ContainerArchitecture, contextDir)
+               if !imageExists || rc.Config.ForceRebuild {
+                       logger.Debugf("image '%s' for architecture '%s' will be 
built from context '%s", image, targetPlatform, contextDir)
                        var buildContext io.ReadCloser
                        if localAction {
                                buildContext, err = 
rc.JobContainer.GetContainerArchive(ctx, contextDir+"/.")
@@ -331,10 +325,10 @@
                                Dockerfile:   fileName,
                                ImageTag:     image,
                                BuildContext: buildContext,
-                               Platform:     rc.Config.ContainerArchitecture,
+                               Platform:     targetPlatform,
                        })
                } else {
-                       logger.Debugf("image '%s' for architecture '%s' already 
exists", image, rc.Config.ContainerArchitecture)
+                       logger.Debugf("image '%s' for architecture '%s' already 
exists", image, targetPlatform)
                }
        }
        eval := rc.NewStepExpressionEvaluator(ctx, step)
@@ -357,7 +351,7 @@
                        entrypoint = nil
                }
        }
-       stepContainer := newStepContainer(ctx, step, image, cmd, entrypoint)
+       stepContainer := newStepContainer(ctx, step, image, cmd, entrypoint, 
targetPlatform)
        return common.NewPipelineExecutor(
                prepImage,
                stepContainer.Pull(forcePull),
@@ -398,7 +392,7 @@
        }
 }
 
-func newStepContainer(ctx context.Context, step step, image string, cmd, 
entrypoint []string) container.Container {
+func newStepContainer(ctx context.Context, step step, image string, cmd, 
entrypoint []string, targetPlatform string) container.Container {
        rc := step.getRunContext()
        stepModel := step.getStepModel()
        rawLogger := common.Logger(ctx).WithField("raw_output", true)
@@ -442,7 +436,7 @@
                Stderr:          logWriter,
                Privileged:      rc.Config.Privileged,
                UsernsMode:      rc.Config.UsernsMode,
-               DefaultPlatform: rc.Config.ContainerArchitecture,
+               DefaultPlatform: targetPlatform,
                ValidVolumes:    validVolumes,
 
                ConfigOptions: rc.Config.ContainerOptions,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/forgejo-runner-12.1.1/act/runner/runner_test.go 
new/forgejo-runner-12.1.2/act/runner/runner_test.go
--- old/forgejo-runner-12.1.1/act/runner/runner_test.go 2025-12-05 
14:31:14.000000000 +0100
+++ new/forgejo-runner-12.1.2/act/runner/runner_test.go 2025-12-06 
22:59:51.000000000 +0100
@@ -479,7 +479,7 @@
                        ctx := common.WithLoggerHook(t.Context(), h)
 
                        jobLoggerLevel := log.InfoLevel
-                       tjfi.runTest(ctx, t, &Config{ContainerArchitecture: 
"linux/arm64", JobLoggerLevel: &jobLoggerLevel})
+                       tjfi.runTest(ctx, t, &Config{JobLoggerLevel: 
&jobLoggerLevel})
 
                        assert.True(t, h.found)
                })

++++++ forgejo-runner.obsinfo ++++++
--- /var/tmp/diff_new_pack.fJpbmW/_old  2025-12-12 21:44:31.481304485 +0100
+++ /var/tmp/diff_new_pack.fJpbmW/_new  2025-12-12 21:44:31.497305159 +0100
@@ -1,5 +1,5 @@
 name: forgejo-runner
-version: 12.1.1
-mtime: 1764941474
-commit: d281682321393925f4f9dcc1292a0bb678752064
+version: 12.1.2
+mtime: 1765058391
+commit: 01e6bada25e034a2db14f358ddb90631dcab193a
 

++++++ vendor.tar.gz ++++++

Reply via email to