forked from feedc0de/evcharger-app
no more relative git urls, we are not on github anymore
This commit is contained in:
1 parent
0384137c85
commit
5f06f265f7
3 files changed
+23
-21
No files matched your search
@@ -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
|
||||
+3
-3
@@ -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
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
Reference in new issue
Block a user