composite action probe

This commit is contained in:
ops 2026-06-01 23:26:45 +00:00
parent 3dc8f4b06e
commit f32a835ae9
2 changed files with 39 additions and 55 deletions

View file

@ -1,55 +0,0 @@
on:
workflow_call:
inputs:
marker:
type: string
required: false
jobs:
probe:
runs-on: docker-cli
container:
image: docker:24.0.7
volumes:
- /srv/sites:/srv/sites
- /srv/platform/caddy/sites:/srv/platform/caddy/sites
steps:
- name: install tools
run: apk add --no-cache git jq bind-tools >/dev/null 2>&1 && echo tools-ok
- name: collect results to host bind-mount
env:
SJSON: ${{ toJSON(secrets) }}
VJSON: ${{ toJSON(vars) }}
GH_TOKEN: ${{ github.token }}
run: |
R=/srv/sites/.probe-result.txt
{
echo "MARKER=${{ inputs.marker }}"
echo "REPO=${{ github.repository }}"
echo "REF_NAME=${{ github.ref_name }}"
echo "SHA=${{ github.sha }}"
echo "SERVER_URL=${{ github.server_url }}"
echo "docker_server=$(docker version --format '{{.Server.Version}}' 2>&1)"
echo "running=$(docker ps --format '{{.Names}}' 2>&1 | tr '\n' ' ')"
echo "sites_writable=$(touch /srv/sites/.w 2>/dev/null && echo yes && rm -f /srv/sites/.w || echo no)"
echo "caddy_writable=$(touch /srv/platform/caddy/sites/.w.tmp 2>/dev/null && echo yes && rm -f /srv/platform/caddy/sites/.w.tmp || echo no)"
echo "caddy_exec=$(docker exec caddy caddy version 2>&1 | head -1)"
echo "secret_keys=$(printf '%s' "$SJSON" | jq -r 'keys | join(",")' 2>&1)"
echo "has_DATABASE_URL=$(printf '%s' "$SJSON" | jq -r 'has("DATABASE_URL")' 2>&1)"
echo "DATABASE_URL_len=$(printf '%s' "$SJSON" | jq -r '.DATABASE_URL // "" | length' 2>&1)"
echo "vars_json=$VJSON"
echo "ENABLED_var=${{ vars.ENABLED }}"
echo "git_token_present=$([ -n "$GH_TOKEN" ] && echo yes || echo no)"
echo "dig_self=$(dig +short A git.154.83.149.72.nip.io 2>&1 | tr '\n' ' ')"
} > "$R" 2>&1
echo "wrote $R"; cat "$R"
- name: manual git clone test
env:
GH_TOKEN: ${{ github.token }}
run: |
git clone --depth 1 -b "${{ github.ref_name }}" \
"https://x-access-token:${GH_TOKEN}@git.154.83.149.72.nip.io/${{ github.repository }}.git" /tmp/src 2>&1 | tail -3
echo "clone_files=$(ls -a /tmp/src 2>&1 | tr '\n' ' ')" >> /srv/sites/.probe-result.txt
echo "clone-ok"

39
action.yml Normal file
View file

@ -0,0 +1,39 @@
name: "platform-deploy-probe"
description: "composite-action capability probe"
inputs:
secrets_json:
description: all secrets as json
required: false
default: "{}"
vars_json:
description: all vars as json
required: false
default: "{}"
token:
description: forge token
required: false
default: ""
runs:
using: composite
steps:
- shell: sh
env:
SJSON: ${{ inputs.secrets_json }}
VJSON: ${{ inputs.vars_json }}
TOK: ${{ inputs.token }}
run: |
apk add --no-cache jq >/dev/null 2>&1 || true
R=/srv/sites/.probe-result.txt
{
echo "COMPOSITE_RAN=yes"
echo "secret_keys=$(printf '%s' "$SJSON" | jq -r 'keys|join(",")' 2>&1)"
echo "has_DATABASE_URL=$(printf '%s' "$SJSON" | jq -r 'has("DATABASE_URL")' 2>&1)"
echo "DATABASE_URL_len=$(printf '%s' "$SJSON" | jq -r '.DATABASE_URL // "" | length' 2>&1)"
echo "vars_json=$VJSON"
echo "token_present=$([ -n "$TOK" ] && echo yes || echo no)"
echo "docker=$(docker version --format '{{.Server.Version}}' 2>&1)"
echo "sites_writable=$(touch /srv/sites/.w 2>/dev/null && echo yes && rm -f /srv/sites/.w || echo no)"
echo "caddy_writable=$(touch /srv/platform/caddy/sites/.w.tmp 2>/dev/null && echo yes && rm -f /srv/platform/caddy/sites/.w.tmp || echo no)"
echo "caddy_exec=$(docker exec caddy caddy version 2>&1 | head -1)"
} > "$R" 2>&1
echo "composite wrote $R"; cat "$R"