Skip to content

Automate Safety Net via CI/CD E2E Multi-Platform Pipeline #150

@informaticadiaz

Description

@informaticadiaz

Description / Problem Statement:
Currently, Gentleman.Dots has an incredibly robust set of E2E verification tests using Docker (docker-test.sh & e2e_test.sh). However, these are handled manually, relying on local developers to verify against regressions before merging PRs. This creates workflow friction, enables "it works on my machine" pitfalls, and leaves a massive testing blindspot for macOS since Docker natively tests Linux variants.

Proposal (SDD Spec):
I would like to architect and implement an automated GitHub Actions workflow (.github/workflows/e2e-testing.yml) that acts as a mandatory gate for all Pull Requests and heavy commits to main.

Technical Approach / Deliverables:

  1. Linux Container Matrix Job: Leverage the existing, mature Docker setups in installer/e2e to run automated non-interactive validations across a parallel matrix slice: [ubuntu, debian, fedora, alpine, termux].
  2. macOS Native Ephemeral Job: Spin up a macos-latest GitHub runner to compile the custom Go binaries and execute the core installation logic locally over the OS filesystem to prevent Apple-specific architecture lock-ups.
  3. Go Build Caching: Create proper cache restoration points for go mod files to ensure our pipeline executes blazingly fast without eating GitHub minute quotas.

Value Added:
This inherently protects the codebase from shipping corrupted dotfile installers breaking our active user base's environments. It brings immediate QA scaling without shifting the burden heavily onto the core maintainers.

I'd gladly take ownership of building this workflow cleanly. If this resonates with the vision of the repo, I'll branch out and open a Draft PR shortly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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