Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete automated setup scripts #1

Closed
thomashoneyman opened this issue Aug 15, 2020 · 6 comments · Fixed by #3
Closed

Complete automated setup scripts #1

thomashoneyman opened this issue Aug 15, 2020 · 6 comments · Fixed by #3
Assignees

Comments

@thomashoneyman
Copy link
Contributor

This library has the set of templates necessary to standardize projects in the Contributors organization, but it doesn't yet have scripts (either as shell scripts or as a PureScript executable like setup-purescript) that automate doing this in Contributors projects.

It's important that standardizing existing libraries and being ready to standardize new libraries is as easy and painless as possible. To that end, the scripts should:

  1. Implement the templates in the target repository, filling in variables like the project name, repository name, and maintainer(s)
  2. Do so without overwriting existing files in the repository, probably by backing them up to a file named <orig>.old.<ext> so that it's easy to manually copy over the contents of those files into the template files
  3. Make it easy to remove the .old files once reconciliation is done

Anything more than this will still have to be done manually, most likely, but this can at least jump start the update process.

@thomashoneyman
Copy link
Contributor Author

On second thought — perhaps this should copy everything except for the .git, src, test directories and spago.dhall and packages.dhall filed into a new directory, and then write all the files from the template.

You’d then selectively copy things back in to the main directory, delete the temp folder, and push a commit. It’s not a pleasant experience but at least it doesn’t try to be smart and that way you’re starting from a semi-blank slate to copy things back into.

@milesfrain
Copy link
Member

I'm happy to dig into this, but probably won't start until after Tuesday, so don't let me block anyone else who wants to get started earlier. Also, should I be able to self-assign these issues?

@thomashoneyman
Copy link
Contributor Author

Sure, feel free to self-assign anything you’d like to if you plan on working on it in a short timeframe

@milesfrain
Copy link
Member

Turns out that github doesn't allow self-assignment without being a collaborator on the repo.
isaacs/github#100

I'm not seeing an option to self assign on other issues in this repo. Is org "member" status different than repo "collaborator"?
image

@thomashoneyman
Copy link
Contributor Author

Org members aren't automatically added to all repos, but I still thought you could self-assign. I've added you now.

@thomashoneyman
Copy link
Contributor Author

Another thought -- perhaps something like yeoman or cookiecutter would be a better alternative? New projects can be bootstrapped from the template and existing projects can be updated manually; it also would provide non-Contributors libraries the ability to start with a standard library template.

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

Successfully merging a pull request may close this issue.

2 participants