Skip to content

ci: run tests/test-entrypoint-*.sh in GitHub Actions (no test workflow exists) #27

Closed as not planned

Description

@birme

Problem

tests/ holds five shell regression tests for scripts/docker-entrypoint.sh:

No workflow runs them. .github/workflows/ contains only sync-fork-dev.yml and sync-fork-prod.yml (checked against main on 2026-10-02). A regression in the entrypoint, including the credential scrubbing and the timeout 300s ./setup.sh handling, would merge without any signal.

Eyevinn/php-runner has .github/workflows/test.yml (push to main, pull_request to main, one ubuntu-latest job per test script running bash tests/<script>), which is the model to copy.

Why now

Eyevinn/osaas-e2e-tests#583 (python half of the hung setup.sh e2e coverage) found that the fix from #22/#23 is hard to observe through the platform's MCP layer: after exit 124 the pod crash-loops and the timeout line is only visible during the 10s/20s/40s back-off windows. That makes tests/test-entrypoint-setup-timeout.sh the primary regression guard for #22/#23, and it is not executed anywhere.

Acceptance criteria

  • A .github/workflows/test.yml runs all five tests/test-entrypoint-*.sh scripts on push to main and on pull requests to main.
  • Each script passes in that workflow on main (run each locally with bash tests/<script> first; if one needs tooling the runner image lacks, say so in the PR).
  • A deliberately broken timeout 300s line in a scratch branch makes test-entrypoint-setup-timeout.sh fail the workflow (state the result in the PR body).

Note for automation

Pushing files under .github/workflows/ needs a token with workflow scope, which the agent GIT_TOKEN does not have. A human has to push or merge the workflow file (an agent can prepare the YAML in a PR description or a patch).

Activity

  1. self-assigned this
    on Oct 2, 2026
  2. birme commented on Oct 4, 2026

    @birme
    ContributorAuthor

    Ready-to-push workflow (automation cannot push .github/workflows/, needs workflow scope)

    Verified 2026-10-04 on a fresh clone of main: test-entrypoint-credential-header-auth.sh, -credential-scrub.sh, -fragment-branch.sh and -subpath.sh pass. test-entrypoint-setup-timeout.sh passes its 4 grep checks but its 3 behavioural tests need GNU timeout, which macOS lacks (timeout: command not found); ubuntu-latest has it, so it should pass in CI. Please confirm on the first run.

    .github/workflows/test.yml (modelled on Eyevinn/php-runner, one job per script):

    name: Test
    
    on:
      push:
        branches: [main]
      pull_request:
        branches: [main]
    
    jobs:
      entrypoint-tests:
        runs-on: ubuntu-latest
        strategy:
          fail-fast: false
          matrix:
            script:
              - test-entrypoint-credential-header-auth.sh
              - test-entrypoint-credential-scrub.sh
              - test-entrypoint-fragment-branch.sh
              - test-entrypoint-setup-timeout.sh
              - test-entrypoint-subpath.sh
        steps:
          - uses: actions/checkout@v4
          - name: Run ${{ matrix.script }}
            run: bash tests/${{ matrix.script }}

    Birme: push this file (or merge a PR containing it), then close this issue. The "deliberately broken timeout 300s" AC can be checked on a scratch branch afterwards.

    🤖 Generated with Claude Code

  3. birme commented on Oct 4, 2026

    @birme
    ContributorAuthor

    Closing as not planned per birme. A draft test.yml is on this ticket (matrix of the five tests/test-entrypoint-*.sh scripts) if this is ever wanted; reopen to pick it up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Human NeededRequires human interventionai-devopsSelected for AI agent work

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions