Skip to content

0.1.0: prevent release test command overrides #111

Description

@suraciii

Goal

Make every release test command fail closed.

Problem

A caller could set GO_TEST=true and replace the test command. Review also found that a caller could set MAKE=true and skip recursive CI targets. The release command could then report success without running all tests.

Scope

  • Use literal internal testcheck commands in release entry points.
  • Do not use a replaceable test runner or recursive Make in release entry points.
  • Cover the complete dry-run plans for ci, external, and external-tagged.
  • Keep all required commands in order under parallel Make.
  • Keep the nonzero test-count check.

Acceptance

  • GO_TEST=true does not change a release command plan.
  • MAKE=true does not change a release command plan.
  • ci, external, and external-tagged keep all required commands in order.
  • Parallel Make does not change the command order.
  • A zero-test target still fails.
  • make ci and make external pass.

References

  • Makefile
  • design/testing.md
  • design/release.md
  • research/release-0.1.0-issue-111-mutation.md

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions