From 5f06f265f7c3d384724b700fe2fccaea20a54a41 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Thu, 13 Aug 2026 10:44:31 +0200 Subject: [PATCH] no more relative git urls, we are not on github anymore --- .gitea/workflows/build.yml | 20 +++++++++++--------- .gitmodules | 6 +++--- docs/gitea-actions.md | 18 +++++++++--------- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 0d7ebe6..f4771e5 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -12,8 +12,8 @@ on: env: QT_VERSION: "6.11.1" ANDROID_NDK_VERSION: "27.2.12479018" - BUILD_IMAGE: "evcharger-ci:qt-6.11.1-${{ gitea.sha }}" - BUILD_CACHE_IMAGE: "evcharger-ci:qt-6.11.1-cache" + BUILD_IMAGE: "localhost/evcharger-ci:qt-6.11.1-${{ gitea.sha }}" + BUILD_CACHE_IMAGE: "localhost/evcharger-ci:qt-6.11.1-cache" defaults: run: @@ -22,7 +22,7 @@ defaults: jobs: build: # Register a trusted host-mode runner with this label. It only needs - # Docker, Bash, Git, and Node.js for the actions used below. + # Podman, Bash, Git, and Node.js for the actions used below. runs-on: linux_amd64 timeout-minutes: 180 @@ -47,17 +47,18 @@ jobs: - name: Build the pinned Qt toolchain image run: | set -Eeuo pipefail - docker image inspect "$BUILD_CACHE_IMAGE" >/dev/null 2>&1 || true - docker build --pull \ + podman image inspect "$BUILD_CACHE_IMAGE" >/dev/null 2>&1 || true + podman build --pull=always \ --cache-from "$BUILD_CACHE_IMAGE" \ --tag "$BUILD_IMAGE" \ . - docker tag "$BUILD_IMAGE" "$BUILD_CACHE_IMAGE" + podman tag "$BUILD_IMAGE" "$BUILD_CACHE_IMAGE" - name: Build Linux development executable run: | set -Eeuo pipefail - docker run --rm \ + podman run --rm \ + --userns=keep-id \ --user "$(id -u):$(id -g)" \ --env HOME=/tmp/ci-home \ --env CI_WORKSPACE=/workspace \ @@ -75,7 +76,8 @@ jobs: ANDROID_KEYSTORE_KEY_PASS: ${{ secrets.ANDROID_KEYSTORE_KEY_PASS }} run: | set -Eeuo pipefail - docker run --rm \ + podman run --rm \ + --userns=keep-id \ --user "$(id -u):$(id -g)" \ --env HOME=/tmp/ci-home \ --env CI_WORKSPACE=/workspace \ @@ -111,4 +113,4 @@ jobs: - name: Remove the commit-specific image tag if: always() - run: docker image rm "$BUILD_IMAGE" >/dev/null 2>&1 || true + run: podman image rm "$BUILD_IMAGE" >/dev/null 2>&1 || true diff --git a/.gitmodules b/.gitmodules index 5ca6d82..53e6d1f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,9 @@ [submodule "3rdparty/qmsgpack"] path = 3rdparty/qmsgpack - url = ../../0xFEEDC0DE64/qmsgpack.git + url = https://github.com/0xFEEDC0DE64/qmsgpack.git [submodule "3rdparty/QtZeroConf"] path = 3rdparty/QtZeroConf - url = ../../0xFEEDC0DE64/QtZeroConf.git + url = https://github.com/0xFEEDC0DE64/QtZeroConf.git [submodule "3rdparty/qrcode-svg"] path = 3rdparty/qrcode-svg - url = ../../papnkukn/qrcode-svg.git + url = https://github.com/papnkukn/qrcode-svg.git diff --git a/docs/gitea-actions.md b/docs/gitea-actions.md index e59fd33..ba7faca 100644 --- a/docs/gitea-actions.md +++ b/docs/gitea-actions.md @@ -10,10 +10,10 @@ then compiles the Linux and Android packages. Its toolchain is: - a pinned KDAB Android OpenSSL revision; - `arm64-v8a` and `armeabi-v7a` device ABIs. -The runner's Docker daemon retains the large image layers. The first run must +The runner's rootless Podman storage retains the large image layers. The first run must download Qt and the Android SDK, but ordinary later runs reuse that local cache. No Gitea Container Registry credentials are required. A runner replacement or -Docker cache cleanup causes the toolchain to be downloaded again. +Podman cache cleanup causes the toolchain to be downloaded again. Qt's current Gradle template is intentionally not copied into the source tree. `androiddeployqt` overlays the custom manifest and resources from @@ -24,7 +24,7 @@ Gradle, and the Android Gradle Plugin in sync. Enable Actions in the repository settings and register a trusted Gitea Runner with the workflow label `linux_amd64`. Use host mode because the workflow itself -starts build containers: +starts rootless Podman build containers: ```yaml runner: @@ -32,9 +32,9 @@ runner: - "linux_amd64:host" ``` -The runner host needs Docker, Bash, Git, and Node.js. Its user must be allowed -to access the Docker daemon. Keep this runner restricted to repositories you -trust: Docker daemon access is effectively host-level access. +The runner host needs Podman, Bash, Git, and Node.js. Keep this host-mode runner +restricted to repositories you trust: workflows execute commands as the runner +user and can access everything that user can access. For example, after downloading `act_runner`, obtain a repository runner token from **Settings > Actions > Runners**, then run: @@ -130,12 +130,12 @@ environment values `ANDROID_VERSION_CODE` and `ANDROID_VERSION_NAME` if needed. ## Local container builds ```sh -docker build -t evcharger-build:qt-6.11.1 . +podman build -t evcharger-build:qt-6.11.1 . -docker run --rm -v "$PWD:/workspace" -w /workspace \ +podman run --rm --userns=keep-id -v "$PWD:/workspace" -w /workspace \ evcharger-build:qt-6.11.1 bash ci/build-linux.sh -docker run --rm -v "$PWD:/workspace" -w /workspace \ +podman run --rm --userns=keep-id -v "$PWD:/workspace" -w /workspace \ evcharger-build:qt-6.11.1 bash ci/build-android.sh ```