Skip to content

[CI]: Clarify integration test workflow ownership and missing-config behavior #82

@Fermionic-Lyu

Description

@Fermionic-Lyu

Summary

Integration tests are wired in two places and the CI workflow comment says they run only when the test project is configured, but there is no explicit job-level guard for missing integration configuration. This can make CI behavior unclear and brittle for forks or repo setup changes.

Validation

Partially valid. The workflow files and integration setup confirm the configuration assumptions. No current CI failure was reproduced locally.

Relevant Code

  • .github/workflows/ci.yml:103 - defines an integration-tests job on main pushes after typecheck/build/unit tests.
  • .github/workflows/ci.yml:105 - comment says it should only run on main pushes when the test project is configured.
  • .github/workflows/ci.yml:106 - actual condition only checks event/ref, not whether required vars/secrets are present.
  • .github/workflows/integration.yml:1 - defines a separate manual/scheduled integration test workflow.
  • integration-tests/setup.ts:28 - throws if INSFORGE_INTEGRATION_BASE_URL is missing.
  • integration-tests/setup.ts:39 - throws if INSFORGE_INTEGRATION_ANON_KEY is missing.
  • integration-tests/setup.ts:88 - authenticated tests also require INSFORGE_INTEGRATION_TEST_EMAIL and INSFORGE_INTEGRATION_TEST_PASSWORD.

Proposed Solution

Clarify ownership between the push CI integration job and the manual/scheduled workflow. Add explicit preflight/skip behavior when required integration configuration is absent, or document that these secrets/vars are mandatory for the repository.

Acceptance Criteria

  • Integration workflow behavior is documented for main pushes, manual runs, scheduled runs, and forks.
  • Missing integration configuration produces a clear skip or preflight failure by design.
  • Duplicate workflow responsibilities are reduced or explained.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions