Package-maintenance: Shared CI configurations

Created on 27 Feb 2020  路  6Comments  路  Source: nodejs/package-maintenance

Origin: https://github.com/nodejs/package-maintenance/issues/280#issuecomment-587206745 and #318.

Travis now supports includes. I'm not too familiar with other systems, but I'm sure they have something too. It would be nice to provide an official set of includes that people can just take and use, e.g. "On Travis, use all LTS versions starting with v10 + current version" (implementation details / naming convention / folder structure to be fleshed out with the first impl).

So we need to make some decisions first:

  1. Where do all of these things live:

    • it could be one repository, with a folder per CI system



      • this might not work, if the CI system expects files in the root folder of the repo


      • this might result in lots of churn in the repo



    • it could be a repository per CI system



      • this does add admin overhead for multiple repos


      • this does add overhead for keeping the structure of the repos the same



  2. The actual names of the repository (repositories?)

    • could there be trademark implications?

Not sure if we need to discuss governance? Apparently this WG is not "chartered" whatever that means - does that have implications on decision making? Someone needs to take ownership of these configurations and we'll probably want to define some rules (e.g. all the include URLs must keep on working as long as we're on GH)?

I'd like to get _something_ out very soon (i.e. next 2-3 months?) - I wonder if that is possible and how fast can we gather enough consensus?

Most helpful comment

We now have ci-config-travis and the repository for ci-config-github-actions is open, so unless there's objections I'll close this in a week or so.

All 6 comments

Keeping my suggestion outside of the intro post. I think my preference is a repository per service, with one extra repository for meta discussions - primarily because it's hard to expect people to be knowledgeable about all the various CI systems, but also because it allows fine-grained merge access, so I'd propose:

  • nodejs/ci-config - meta discussions, setting the patterns for all the other repos
  • nodejs/ci-config-travis, nodejs/ci-config-circle - per provider repos

Quite possibly "ci" is too broad a term and maybe the name should indicate the intended audience (package maintainers) better? But I'm short of ideas right now :)

I鈥檓 happy to set up and maintain that, if it鈥檚 what we want to do, since I鈥檓 already doing it in https://github.com/ljharb/travis-ci.

I don't have any better ideas for the naming.

Agreed to ask for these repos in the Package maintenance meeting today:

  • nodejs/ci-config-travis
  • nodejs/ci-config-github-actions

We now have ci-config-travis and the repository for ci-config-github-actions is open, so unless there's objections I'll close this in a week or so.

Was this page helpful?
0 / 5 - 0 ratings