This commit is contained in:
+2
-5
@@ -76,10 +76,8 @@ Tag and push:
|
||||
docker login git.neosisyphus.com
|
||||
|
||||
docker tag evol-testbed:latest git.neosisyphus.com/evol3d/evol-testbed:latest
|
||||
docker tag evol-testbed:latest git.neosisyphus.com/evol3d/evol-testbed:clang22
|
||||
|
||||
docker push git.neosisyphus.com/evol3d/evol-testbed:latest
|
||||
docker push git.neosisyphus.com/evol3d/evol-testbed:clang22
|
||||
```
|
||||
|
||||
## Build automatically in Gitea Actions
|
||||
@@ -94,7 +92,6 @@ It builds and pushes:
|
||||
|
||||
```text
|
||||
${REGISTRY_IMAGE}:latest
|
||||
${REGISTRY_IMAGE}:clang22
|
||||
```
|
||||
|
||||
## Use in normal builds
|
||||
@@ -103,12 +100,12 @@ ${REGISTRY_IMAGE}:clang22
|
||||
|
||||
```yaml
|
||||
container:
|
||||
image: ${{ vars.CI_IMAGE }}:clang22
|
||||
image: ${{ vars.CI_IMAGE }}:latest
|
||||
```
|
||||
|
||||
If expressions do not work in `container.image` on your Gitea version, replace it with the literal image path:
|
||||
|
||||
```yaml
|
||||
container:
|
||||
image: git.neosisyphus.com/evol3d/evol-testbed:clang22
|
||||
image: git.neosisyphus.com/evol3d/evol-testbed:latest
|
||||
```
|
||||
|
||||
+19
-25
@@ -60,11 +60,10 @@ Image path:
|
||||
git.neosisyphus.com/evol3d/evol-testbed
|
||||
```
|
||||
|
||||
The pushed tags will be:
|
||||
The pushed tag will be:
|
||||
|
||||
```text
|
||||
git.neosisyphus.com/evol3d/evol-testbed:latest
|
||||
git.neosisyphus.com/evol3d/evol-testbed:clang22
|
||||
```
|
||||
|
||||
---
|
||||
@@ -202,11 +201,10 @@ The image build workflow is:
|
||||
.gitea/workflows/build-ci-image.yml
|
||||
```
|
||||
|
||||
It logs into your registry, builds the image, and pushes two tags:
|
||||
It logs into your registry, builds the image, and pushes this tag:
|
||||
|
||||
```text
|
||||
latest
|
||||
clang22
|
||||
```
|
||||
|
||||
The important commands are:
|
||||
@@ -219,13 +217,11 @@ The important commands are:
|
||||
--build-arg LLVM_VERSION=22 \
|
||||
--build-arg MESON_VERSION=latest \
|
||||
-t "${{ vars.REGISTRY_IMAGE }}:latest" \
|
||||
-t "${{ vars.REGISTRY_IMAGE }}:clang22" \
|
||||
-f ci/Dockerfile .
|
||||
|
||||
- name: Push CI image
|
||||
run: |
|
||||
docker push "${{ vars.REGISTRY_IMAGE }}:latest"
|
||||
docker push "${{ vars.REGISTRY_IMAGE }}:clang22"
|
||||
```
|
||||
|
||||
---
|
||||
@@ -327,11 +323,10 @@ In Gitea:
|
||||
evol-testbed
|
||||
```
|
||||
|
||||
Confirm these tags exist:
|
||||
Confirm this tag exists:
|
||||
|
||||
```text
|
||||
latest
|
||||
clang22
|
||||
```
|
||||
|
||||
---
|
||||
@@ -348,7 +343,7 @@ It uses:
|
||||
|
||||
```yaml
|
||||
container:
|
||||
image: ${{ vars.CI_IMAGE }}:clang22
|
||||
image: ${{ vars.CI_IMAGE }}:latest
|
||||
```
|
||||
|
||||
If you set:
|
||||
@@ -360,7 +355,7 @@ CI_IMAGE=git.neosisyphus.com/evol3d/evol-testbed
|
||||
then the workflow uses:
|
||||
|
||||
```text
|
||||
git.neosisyphus.com/evol3d/evol-testbed:clang22
|
||||
git.neosisyphus.com/evol3d/evol-testbed:latest
|
||||
```
|
||||
|
||||
The key workflow shape is:
|
||||
@@ -377,7 +372,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
container:
|
||||
image: ${{ vars.CI_IMAGE }}:clang22
|
||||
image: ${{ vars.CI_IMAGE }}:latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -418,14 +413,14 @@ If the build fails because the image name is invalid, replace this:
|
||||
|
||||
```yaml
|
||||
container:
|
||||
image: ${{ vars.CI_IMAGE }}:clang22
|
||||
image: ${{ vars.CI_IMAGE }}:latest
|
||||
```
|
||||
|
||||
with the literal image name:
|
||||
|
||||
```yaml
|
||||
container:
|
||||
image: git.neosisyphus.com/evol3d/evol-testbed:clang22
|
||||
image: git.neosisyphus.com/evol3d/evol-testbed:latest
|
||||
```
|
||||
|
||||
Then commit and push:
|
||||
@@ -467,13 +462,13 @@ If your runner itself is Dockerized, make sure Docker credentials are available
|
||||
On the runner host:
|
||||
|
||||
```bash
|
||||
docker pull git.neosisyphus.com/evol3d/evol-testbed:clang22
|
||||
docker pull git.neosisyphus.com/evol3d/evol-testbed:latest
|
||||
```
|
||||
|
||||
Run it:
|
||||
|
||||
```bash
|
||||
docker run --rm -it git.neosisyphus.com/evol3d/evol-testbed:clang22 bash
|
||||
docker run --rm -it git.neosisyphus.com/evol3d/evol-testbed:latest bash
|
||||
```
|
||||
|
||||
Inside the container:
|
||||
@@ -518,7 +513,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
container:
|
||||
image: git.neosisyphus.com/evol3d/evol-testbed:clang22
|
||||
image: git.neosisyphus.com/evol3d/evol-testbed:latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -552,7 +547,6 @@ The image workflow will rebuild and push:
|
||||
|
||||
```text
|
||||
latest
|
||||
clang22
|
||||
```
|
||||
|
||||
Your normal builds will use the updated image next time they run.
|
||||
@@ -564,31 +558,31 @@ Your normal builds will use the updated image next time they run.
|
||||
Instead of only using:
|
||||
|
||||
```text
|
||||
clang22
|
||||
latest
|
||||
```
|
||||
|
||||
consider immutable tags:
|
||||
|
||||
```text
|
||||
clang22-v1
|
||||
clang22-v2
|
||||
clang22-2026-05
|
||||
v1
|
||||
v2
|
||||
v2026-05
|
||||
```
|
||||
|
||||
Example build command tag:
|
||||
|
||||
```yaml
|
||||
-t "${{ vars.REGISTRY_IMAGE }}:clang22-v1"
|
||||
-t "${{ vars.REGISTRY_IMAGE }}:v1"
|
||||
```
|
||||
|
||||
Then use:
|
||||
|
||||
```yaml
|
||||
container:
|
||||
image: git.neosisyphus.com/evol3d/evol-testbed:clang22-v1
|
||||
image: git.neosisyphus.com/evol3d/evol-testbed:v1
|
||||
```
|
||||
|
||||
This avoids surprise breakage when `clang22` or `latest` changes.
|
||||
This avoids surprise breakage when `latest` changes.
|
||||
|
||||
---
|
||||
|
||||
@@ -613,5 +607,5 @@ The most important final workflow line is:
|
||||
|
||||
```yaml
|
||||
container:
|
||||
image: git.neosisyphus.com/evol3d/evol-testbed:clang22
|
||||
image: git.neosisyphus.com/evol3d/evol-testbed:latest
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user