Skip to content

Commit 2f1e85b

Browse files
authored
Merge pull request #3 from bialger/api
API update
2 parents c09c1af + d05d150 commit 2f1e85b

48 files changed

Lines changed: 5032 additions & 568 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ cmake-build-release
1717
# Misc
1818
**/.cache
1919
**/*.log
20-
.env
20+
**/.env
2121
deploy/.env

.github/workflows/ci_deploy_pr_branch.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,12 @@ jobs:
175175
script: |
176176
set -euo pipefail
177177
_d() { printf '%s\n' "[vox-deploy] $*"; }
178+
_dcompose_diag() {
179+
_d "--- docker compose ps -a ---"
180+
docker compose ps -a 2>&1 | sed 's/^/[vox-deploy] /' || true
181+
_d "--- docker compose logs (last 400 lines) ---"
182+
docker compose logs --tail 400 2>&1 | sed 's/^/[vox-deploy] /' || true
183+
}
178184
# appleboy/ssh-action runs bash --noprofile --norc; docker/git often live in /usr/local/bin
179185
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH"
180186
_d "whoami=$(whoami) pwd=$(pwd) PATH=$PATH"
@@ -188,9 +194,8 @@ jobs:
188194
cd /opt/vox-server
189195
_d "repo root $(pwd)"
190196
git fetch origin "${BRANCH}"
191-
git checkout "${BRANCH}"
192-
git pull --ff-only origin "${BRANCH}"
193-
_d "--- after git pull ---"
197+
git checkout -B "${BRANCH}" "origin/${BRANCH}"
198+
_d "--- after git sync ---"
194199
git rev-parse HEAD && git status -sb || true
195200
if [ ! -d deploy ]; then
196201
_d "ERROR: $(pwd)/deploy is not a directory"; exit 1
@@ -225,9 +230,9 @@ jobs:
225230
echo "${TOKEN}" | docker login ghcr.io -u "${U}" --password-stdin
226231
fi
227232
_d "docker compose pull vox-server"
228-
docker compose pull vox-server || { _d "ERROR: docker compose pull failed (see above)"; exit 1; }
233+
docker compose pull vox-server || { _d "ERROR: docker compose pull failed (see above)"; _dcompose_diag; exit 1; }
229234
_d "docker compose up -d"
230-
docker compose up -d || { _d "ERROR: docker compose up failed"; exit 1; }
235+
docker compose up -d || { _d "ERROR: docker compose up failed"; _dcompose_diag; exit 1; }
231236
_d "nginx reload (conf.d bind mount)"
232-
docker compose exec -T nginx nginx -s reload || { _d "ERROR: nginx reload failed"; exit 1; }
237+
docker compose exec -T nginx nginx -s reload || { _d "ERROR: nginx reload failed"; _dcompose_diag; exit 1; }
233238
_d "finished OK"

.github/workflows/ci_tests.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,12 @@ jobs:
138138
script: |
139139
set -euo pipefail
140140
_d() { printf '%s\n' "[vox-deploy] $*"; }
141+
_dcompose_diag() {
142+
_d "--- docker compose ps -a ---"
143+
docker compose ps -a 2>&1 | sed 's/^/[vox-deploy] /' || true
144+
_d "--- docker compose logs (last 400 lines) ---"
145+
docker compose logs --tail 400 2>&1 | sed 's/^/[vox-deploy] /' || true
146+
}
141147
# appleboy/ssh-action runs bash --noprofile --norc; docker/git often live in /usr/local/bin
142148
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH"
143149
_d "whoami=$(whoami) pwd=$(pwd) PATH=$PATH"
@@ -150,9 +156,8 @@ jobs:
150156
cd /opt/vox-server
151157
_d "repo root $(pwd)"
152158
git fetch origin "${BRANCH}"
153-
git checkout "${BRANCH}"
154-
git pull --ff-only origin "${BRANCH}"
155-
_d "--- after git pull ---"
159+
git checkout -B "${BRANCH}" "origin/${BRANCH}"
160+
_d "--- after git sync ---"
156161
git rev-parse HEAD && git status -sb || true
157162
if [ ! -d deploy ]; then
158163
_d "ERROR: $(pwd)/deploy is not a directory"; exit 1
@@ -187,9 +192,9 @@ jobs:
187192
echo "${TOKEN}" | docker login ghcr.io -u "${U}" --password-stdin
188193
fi
189194
_d "docker compose pull vox-server"
190-
docker compose pull vox-server || { _d "ERROR: docker compose pull failed (see above)"; exit 1; }
195+
docker compose pull vox-server || { _d "ERROR: docker compose pull failed (see above)"; _dcompose_diag; exit 1; }
191196
_d "docker compose up -d"
192-
docker compose up -d || { _d "ERROR: docker compose up failed"; exit 1; }
197+
docker compose up -d || { _d "ERROR: docker compose up failed"; _dcompose_diag; exit 1; }
193198
_d "nginx reload (conf.d bind mount)"
194-
docker compose exec -T nginx nginx -s reload || { _d "ERROR: nginx reload failed"; exit 1; }
199+
docker compose exec -T nginx nginx -s reload || { _d "ERROR: nginx reload failed"; _dcompose_diag; exit 1; }
195200
_d "finished OK"

.github/workflows/deploy.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,12 @@ jobs:
5151
script: |
5252
set -euo pipefail
5353
_d() { printf '%s\n' "[vox-deploy] $*"; }
54+
_dcompose_diag() {
55+
_d "--- docker compose ps -a ---"
56+
docker compose ps -a 2>&1 | sed 's/^/[vox-deploy] /' || true
57+
_d "--- docker compose logs (last 400 lines) ---"
58+
docker compose logs --tail 400 2>&1 | sed 's/^/[vox-deploy] /' || true
59+
}
5460
# appleboy/ssh-action runs bash --noprofile --norc; docker/git often live in /usr/local/bin
5561
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH"
5662
_d "whoami=$(whoami) pwd=$(pwd) PATH=$PATH"
@@ -61,10 +67,10 @@ jobs:
6167
_d "IMAGE=${IMAGE} branch=${{ github.event.inputs.branch }} deploy_path=${{ github.event.inputs.deploy_path }}"
6268
cd "${{ github.event.inputs.deploy_path }}"
6369
_d "repo root $(pwd)"
70+
# Match remote tip (avoids failed ff-only pulls after branch switches / divergent local clones)
6471
git fetch origin "${{ github.event.inputs.branch }}"
65-
git checkout "${{ github.event.inputs.branch }}"
66-
git pull --ff-only origin "${{ github.event.inputs.branch }}"
67-
_d "--- after git pull ---"
72+
git checkout -B "${{ github.event.inputs.branch }}" "origin/${{ github.event.inputs.branch }}"
73+
_d "--- after git sync ---"
6874
git rev-parse HEAD && git status -sb || true
6975
if [ ! -d deploy ]; then
7076
_d "ERROR: $(pwd)/deploy is not a directory"; exit 1
@@ -99,9 +105,9 @@ jobs:
99105
echo "${TOKEN}" | docker login ghcr.io -u "${U}" --password-stdin
100106
fi
101107
_d "docker compose pull vox-server"
102-
docker compose pull vox-server || { _d "ERROR: docker compose pull failed (see above)"; exit 1; }
108+
docker compose pull vox-server || { _d "ERROR: docker compose pull failed (see above)"; _dcompose_diag; exit 1; }
103109
_d "docker compose up -d"
104-
docker compose up -d || { _d "ERROR: docker compose up failed"; exit 1; }
110+
docker compose up -d || { _d "ERROR: docker compose up failed"; _dcompose_diag; exit 1; }
105111
_d "nginx reload (conf.d bind mount)"
106-
docker compose exec -T nginx nginx -s reload || { _d "ERROR: nginx reload failed"; exit 1; }
112+
docker compose exec -T nginx nginx -s reload || { _d "ERROR: nginx reload failed"; _dcompose_diag; exit 1; }
107113
_d "finished OK"

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ build/
1818
CMakePresets.json
1919
compile_commands.json
2020

21+
# Local config files
22+
**/.env
23+
deploy/nginx/conf.d/20-ssl.conf
24+
2125
# mpeltonen/sbt-idea plugin
2226
**.idea_modules/
2327

0 commit comments

Comments
 (0)