hawkular / hawkular-grafana-datasource

Hawkular Datasource for Grafana
Apache License 2.0
22 stars 35 forks source link

Remove 'dist' from versionning #8

Closed jotak closed 8 years ago

jotak commented 8 years ago

'dist' only contains generated files. There's no point keeping it under git, it just brings potential needless merge conflict, distracts code reviewer, etc.

jotak commented 8 years ago

@burmanm , @mtho11 : agree to remove 'dist'?

tsegismont commented 8 years ago

If you do this you break https://github.com/hawkular/hawkular-grafana-datasource#from-source

jotak commented 8 years ago

That's right... So we must automate builds

jotak commented 8 years ago

I played a bit today with some javascript build tools. I have a suggestion for our build & release process:

So once the initial setup is done, normal workflow would be:

Also, 'dist' is added to .gitignore on master, and removed in release branch.

Note: I tested this workflow on my fork, and it seems to be ok.

tsegismont commented 8 years ago

Sounds like a plan.

You still have to pay attention not to overwrite the .gitignore file while merging master, correct?

2016-09-27 15:46 GMT+02:00 Joel Takvorian notifications@github.com:

I played a bit today with some javascript build tools. I have a suggestion for our build & release process:

  • Use travis for running tests (and only tests - no CD)
  • Remove the "dist" directory from versioning, as this PR suggests. This directory is quite annoying for code-review and it also double every conflict we could have during merges.
  • Create a branch dedicated to releases (named "release" or "dist" ?). This branch is the only one that would contain the dist directory.
  • We manually build releases with the grunt-bump plugin: https://github.com/vojtajina/grunt-bump https://github.com/vojtajina/grunt-bump About this plugin: I tested today several similar plugins (grunt-release, grunt-git-release, grunt-release-build ...) ; grunt-bump seems to be the most mature and flexible. It 'bumps' the module version number, commit files (including 'dist'), push to remote and tag ; all steps can be controlled, deactivated etc.

So once the initial setup is done, normal workflow would be:

  • PR are merged on master as usual
  • Occasionally when we want to perform a release, checkout the release branch, merge master in and run grunt && grunt bump

Also, 'dist' is added to .gitignore on master, and removed in release branch.

Note: I tested this workflow on my fork, and it seems to be ok.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/hawkular/hawkular-grafana-datasource/pull/8#issuecomment-249869532, or mute the thread https://github.com/notifications/unsubscribe-auth/ABbltnf2OnTG2pCZZKqkO-J28xlsg8M6ks5quR5QgaJpZM4J4LPd .

jotak commented 8 years ago

Actually, no, there wouldn't be any merge conflict with gitignore if we do it correctly:

1st. setup master correctly (remove dist, edit .gitignore) - then commit and push to origin/master

  1. create release from master, run grunt, edit .gitignore, add "dist", commit & push to origin/release
  2. Do some dev on master
  3. Merge master into release => no conflict because nothing changed in .gitignore since 2. goto 3.

As long as we never pull back / rebase release into master, we're fine.

tsegismont commented 8 years ago

Thanks for the explanation.

2016-09-29 16:03 GMT+02:00 Joel Takvorian notifications@github.com:

Actually, no, there wouldn't be any merge conflict with gitignore if we do it correctly:

1st. setup master correctly (remove dist, edit .gitignore) - then commit and push to origin/master

  1. create release from master, run grunt, edit .gitignore, add "dist", commit & push to origin/release
  2. Do some dev on master
  3. Merge master into release => no conflict because nothing changed in .gitignore since 2. goto 3.

As long as we never pull back / rebase release into master, we're fine.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/hawkular/hawkular-grafana-datasource/pull/8#issuecomment-250475174, or mute the thread https://github.com/notifications/unsubscribe-auth/ABbltqNmnRrJ5n9wQEwK027NCXXmZkfIks5qu8VOgaJpZM4J4LPd .

jotak commented 8 years ago

See #11 , #12, #13