diff --git a/.forgejo/workflows/probe.yml b/.forgejo/workflows/probe.yml deleted file mode 100644 index 0a00dfd..0000000 --- a/.forgejo/workflows/probe.yml +++ /dev/null @@ -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" diff --git a/action.yml b/action.yml new file mode 100644 index 0000000..eed561b --- /dev/null +++ b/action.yml @@ -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"