Open aladdin-add opened 6 months ago
This is definitely a good idea. No more repetitive work
Some prior art to this:
fastify/workflows
– reusable workflows for use in the Fastify organization mdn/workflows
– reusable GitHub Actions workflows for use in MDN repositories.SocketDev/workflows
– which I created when I worked at Socketvoxpelli/ghatemplates
– old name, but the place where I keep my personal onesWhen it comes to renovate config, that's best stored in its own eslint/renovate-config
repo, like eg voxpelli/renovate-config
, as then renovate automatically adds that config in new repos, see: https://docs.renovatebot.com/config-presets/#grouporganization-level-presets
Edit:
Here are some of my reusable workflows that might be of particular inspiration:
Sorry I missed this. This seems like a good idea to me. Let's get a few more eyes on this @eslint/eslint-team
This sounds very useful. Both for standardizing and for bringing the best of each repo's configurations to the rest of them.
It would be nice to have tooling to sync any changes from the template to downstream repositories - or vice-versa. It can easily happen that shared workflows fall out of sync when they have many downstream repos. Especially if this is to be used in both the eslint
and eslint-community
organizations.
https://github.com/JoshuaKGoldberg/create-typescript-app acts as a template repo with my personal workflows and a script to migrate existing repos to the workflows. I'm hoping to split a general engine out of it later this year that could be used to power script syncing useful for this scenario.
as a start, I've made a repo: https://github.com/aladdin-add/eslint-gha-configs. I will try to:
Yeah, we should just do a new repo from scratch to avoid any licensing issues. @mdjermanovic any thoughts before creating a workflows
repo?
Oops! It looks like we lost track of this issue. What do we want to do here? This issue will auto-close in 7 days without an update.
Ping @mdjermanovic
ESLint version
HEAD
What problem do you want to solve?
Currently, our main ESLint repository benefits from the automation provided by Renovate for dependency management. However, this practice has not been uniformly adopted across all our repositories. To address this, I propose the creation of a centralized repository within our ESLint organization. This repository will not only contain configurations for Renovate but also other common GitHub Actions workflows.
Advantages of this Approach:
Unified Workflow Management: By centralizing our GitHub Actions configurations, including Renovate, we can ensure all ESLint projects follow a consistent workflow for automated tasks, thus improving our overall efficiency.
Reduction in Redundant Efforts: A central repository eliminates the need to duplicate GitHub Actions configurations in each repository. This reduces repetitive work and ensures uniformity across our projects.
Simplified Updates and Maintenance: Any changes or updates to our automation configurations would need to be made only once, in the central repository. This simplifies the process of maintaining and updating our workflows.
Extensibility for ESLint Community Projects: This centralized repository can also be made available to projects under the
eslint-community
org, allowing them to benefit from standardized GitHub Actions workflows.refs:
What do you think is the correct solution?
Creation of a Central Repository: Establish a new repository, possibly named
eslint-gha-configs
, to house our GitHub Actions configurations:Participation
Additional comments
I'm sure Renovate config can be reused in this way, but I'm not sure if others (like
release-please
) are also feasible. help wanted!🙌