name: runner-check # Primeiro workflow a rodar quando um runner entrar online. Não instala # dependência, não constrói nada, não toca em rede externa, não usa segredo e # não faz checkout do código: só confirma que a ligação Gitea → runner funciona # e mostra o que o runner tem disponível. # # Dispare pela interface (Actions → runner-check → Run workflow) ou editando # este arquivo. on: workflow_dispatch: push: paths: - ".github/workflows/runner-check.yml" permissions: contents: read concurrency: group: runner-check-${{ github.ref }} cancel-in-progress: true jobs: ligacao: name: o runner responde runs-on: ubuntu-latest # Público: PR de fork não executa enquanto não houver aprovação manual. if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository steps: - name: Identidade do runner run: | echo "runner.os = ${RUNNER_OS:-?}" echo "runner.arch = ${RUNNER_ARCH:-?}" echo "ref = ${GITHUB_REF:-?}" echo "sha = ${GITHUB_SHA:-?}" echo "evento = ${GITHUB_EVENT_NAME:-?}" echo "---" uname -a echo "usuario: $(id -un) (uid $(id -u))" - name: Ferramentas que os outros jobs exigem run: | faltando="" for cmd in node npm docker curl git psql python3; do if command -v "$cmd" >/dev/null 2>&1; then printf ' ok %-8s %s\n' "$cmd" "$($cmd --version 2>&1 | head -1)" else printf ' AUSENTE %-8s\n' "$cmd" faltando="$faltando $cmd" fi done echo "" if [ -n "$faltando" ]; then echo "Faltam no runner:$faltando" echo "node e npm são exigidos pelo job verify." echo "docker é exigido pelo job image (precisa de Docker-in-Docker)." echo "psql e python3 são exigidos pelo job services e pela jornada assíncrona." echo "" echo "Isto não falha o workflow de propósito: o objetivo é inventariar." else echo "todas as ferramentas presentes" fi - name: Docker funciona de verdade continue-on-error: true run: | if ! command -v docker >/dev/null 2>&1; then echo "docker ausente: o job image não vai rodar neste runner" exit 0 fi docker version docker run --rm hello-world >/dev/null 2>&1 \ && echo "ok: o runner executa contêiner" \ || echo "docker presente mas não executa contêiner: confira o Docker-in-Docker" - name: Resultado run: echo "ligacao Gitea -> runner confirmada"