Skip to content

CI is a maintenance burden #304

@crwood

Description

@crwood

Gridsync's GitHub-integrated CI is presently spread across multiple providers -- each of which comes with varying degrees of reliability, responsiveness/speed, and maintenance overhead but none of which alone satisfies the highly-desirable requirement of being able to run tests on all currently-supported platforms in a streamlined fashion. To ease future development and configuration maintenance, it would be preferable if the project's CI system could become more unified such that a push or PR could run tests reliably across all supported platforms and report test results in a single location.

Of the currently available options, GitHub Actions seems like the strongest contender for improvement in this regard: its strong integration with GitHub itself should ensure more immediate and accessible test/run results on pushes/PRs, while its support for various operating systems "out of the box" (specifically, various Ubuntu releases, macOS, and Windows -- with additional support for self-hosted runners) allows for testing on supported all platforms via a single configuration file.

The Gridsync project should consider switching to GitHub Actions and, if all goes well, discontinue using Travis-CI and AppVeyor.

(In the future, it may also be feasible to also replace the current fleet of Buildbot-workers with self-hosted GitHub Actions runners for the purposes of further improving or streamlining the release process (such that, e.g., a pushed tag could generate signed/notarized builds, prepare a changelog, upload to GitHub Releases, etc.) but such improvements should be considered out-of-scope for this Issue.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions