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

Maps in Github #242

Closed
DanVanAtta opened this issue Oct 23, 2015 · 3 comments
Closed

Maps in Github #242

DanVanAtta opened this issue Oct 23, 2015 · 3 comments

Comments

@DanVanAtta
Copy link
Member

This issue is to discuss how to organize maps into github repositories, whether to group maps into 3 or 4 repositories, or whether to put one map per repository.

With multiple maps per repository there are a number of problems that come up:

  • more difficult to write scripts that work for each repository and every map
  • difficult to write a sensible build script
  • no clue how to do map versioning in conjunction with a build script
  • limited ability to give teams access to just one map, since they'll get access to a full repo and all the maps in there
  • lots of updates needed in the git work flow. The map makers are pretty okay learning how to do a git clone, commit and push. Throw in doing merges, merge conflicts, or even just updates and it can be a deal breaker for many. Specifically the git work flow is not so trivial when there potentially a dozen or two touching just 3 or 4 repositories. Team work flows are needed, and those are more complicated than the work flow of someone working by themself.
  • a map checker script is difficult to write, to verify that each map is correct after being downloaded from github releases

With one map per repo, these specific problems go away. If there is concern about cloning everything etc, I can provide a one-liner that will work in git-for-windows that will clone every map repo. That will also clone the map "Project" which will then contain the other admin and control scripts which will hopefully automate everything else. For now there is a script that can convert a map zip into a fully working github repository, complete with teams and a working travis build and release.

@DanVanAtta
Copy link
Member Author

@veqryn : This one just needs your approval for the maps project to move forward. To summarize, the issue asks we try doing a 1:1 map to repository configuration. That large majority of significant problems that come up with storing maps in github have been solved with that configuration. If there is some problem we run up against that we can't script, then we can pretty easily reverse the decision to store multiple maps per repository.

@ron-murhammer : Perhaps above @veqryn's approval, this issue needs your feedback and support. I expect @ron-murhammer and myself will likely be the lead map administrators. Because of that we will be the ones actually interacting with thus stuff on the day to day, any pain from the process will be felt by us, and so by that token we have the most vested interest in having a process and work-flow that we like.

@veqryn
Copy link
Member

veqryn commented Nov 3, 2015

so, 1:1 means 1 github repository per map?
and all these maps would be under a new github organization?

honestly, i think it is a shit-ton of work that we probably don't need right now,
but if you are willing to take this on and drive it to success then sure, go ahead

do you need me to make the new github org, and have all 4 of us be owners of that (i generally have fewer qualms about the map stuff compared to the source stuff)?

@DanVanAtta
Copy link
Member Author

More than half of the work is completed, currently we have full automation for the stuff to be in gihtub. The game engine updates are next. I've created #279 to track that action item. I'll leave this issue open for a few days in case there is more discussion.

To summarize the progress so far, essentially please see the script: https://github.com/triplea-maps/Project/blob/master/bin/createMapRepo.sh

There is a second important script in the same Project repository to check a map repository to verify things are set up correctly (even downloads the latest from github releases and extracts and verifies file sizes and counts)

Otherwise the create repo script actually is a create or update idempotent script that takes one argument, a map zip file. This zip file is exactly structured as we have maps today, downloaded from source forge. The script first normalizes the name of the file, extracts it, constructs a github repository file structure, adds an automated build file, complete with travis deployment, uploads this all as a github repository, configures the travis website, and adds the map_admin team with write access for the new map. This create script plus the checker scripts allows for pretty much full automation. We can run a for loop on a folder with all the map zip files and about 8 hours later or so we have one hundred some github repositories.

I've created a milestone to track this probject "maps in github" and a next step action item tickets that is assigned to me: #279

QA of maps will be tracked in the maps Project: https://github.com/triplea-maps/Project/issues/10

@DanVanAtta DanVanAtta added this to the maps in github milestone Nov 16, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants