docker/ci: build all steps now

This commit is contained in:
j4n
2026-02-25 16:44:01 +01:00
parent 091741008f
commit 817185334a

View File

@@ -48,7 +48,7 @@ jobs:
# Tagged releases: v1.2.3 -> :1.2.3, :1.2, :latest # Tagged releases: v1.2.3 -> :1.2.3, :1.2, :latest
type=semver,pattern={{version}} type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}}.{{minor}}
# Branch pushes: j4n/docker-pr → :j4n-docker-pr # Branch pushes: foo/docker-pr -> :foo-docker-pr
type=ref,event=branch type=ref,event=branch
# Always: :sha-<hash> # Always: :sha-<hash>
type=sha type=sha
@@ -76,11 +76,7 @@ jobs:
deploy: deploy:
name: Deploy to ${{ matrix.host }} name: Deploy to ${{ matrix.host }}
needs: build-docker needs: build-docker
if: >- # if: >- !cancelled() && ( github.event_name == 'push' || (github.event_name == 'pull_request' && !startsWith(github.head_ref, 'j4n/')))
!cancelled() && (
github.event_name == 'push' ||
(github.event_name == 'pull_request' && !startsWith(github.head_ref, 'j4n/'))
)
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 60 timeout-minutes: 60
strategy: strategy:
@@ -104,7 +100,7 @@ jobs:
url: https://${{ matrix.host }}/ url: https://${{ matrix.host }}/
concurrency: ${{ matrix.host }} concurrency: ${{ matrix.host }}
steps: steps:
# -- Common setup -- # --- Common setup ---
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@@ -171,7 +167,7 @@ jobs:
rsync -avz dkimkeys-restore/ root@${HOST}:/etc/dkimkeys/ || true rsync -avz dkimkeys-restore/ root@${HOST}:/etc/dkimkeys/ || true
ssh root@${HOST} chown root:root -R /var/lib/acme || true ssh root@${HOST} chown root:root -R /var/lib/acme || true
# -- Bare metal deploy (main + PRs, skipped on j4n/* pushes) -- # --- Bare metal deploy (main + PRs, skipped on j4n/* pushes) ---
# Always runs locally on the VPS via --ssh-host localhost. # Always runs locally on the VPS via --ssh-host localhost.
- name: bare offline tests - name: bare offline tests
@@ -221,7 +217,7 @@ jobs:
HOST: ${{ matrix.host }} HOST: ${{ matrix.host }}
run: ssh root@${HOST} "cd relay && scripts/cmdeploy dns -v --ssh-host localhost" run: ssh root@${HOST} "cd relay && scripts/cmdeploy dns -v --ssh-host localhost"
# -- Docker deploy (push only, runs even if bare failed) -- # --- Docker deploy (push only, runs even if bare failed) ---
- name: stop bare services - name: stop bare services
if: >- if: >-
@@ -242,7 +238,7 @@ jobs:
ssh root@${HOST} 'apt-get update && apt-get install -y ca-certificates curl' ssh root@${HOST} 'apt-get update && apt-get install -y ca-certificates curl'
ssh root@${HOST} 'install -m 0755 -d /etc/apt/keyrings' ssh root@${HOST} 'install -m 0755 -d /etc/apt/keyrings'
ssh root@${HOST} 'curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && chmod a+r /etc/apt/keyrings/docker.asc' ssh root@${HOST} 'curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && chmod a+r /etc/apt/keyrings/docker.asc'
ssh root@${HOST} 'echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" > /etc/apt/sources.list.d/docker.list' ssh root@${HOST} 'echo "deb [arch=$(dpkg ---print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" > /etc/apt/sources.list.d/docker.list'
ssh root@${HOST} 'apt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin' ssh root@${HOST} 'apt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin'
- name: prepare Docker bind mounts - name: prepare Docker bind mounts
@@ -368,7 +364,7 @@ jobs:
HOST: ${{ matrix.host }} HOST: ${{ matrix.host }}
run: ssh root@${HOST} 'docker exec chatmail cmdeploy dns -v --ssh-host @local' run: ssh root@${HOST} 'docker exec chatmail cmdeploy dns -v --ssh-host @local'
# -- Cleanup -- # --- Cleanup ---
- name: add SSH keys - name: add SSH keys
if: >- if: >-