Closed jotak closed 8 years ago
@burmanm , @mtho11 : agree to remove 'dist'?
If you do this you break https://github.com/hawkular/hawkular-grafana-datasource#from-source
That's right... So we must automate builds
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:
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.
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 .
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
As long as we never pull back / rebase release into master, we're fine.
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
- create release from master, run grunt, edit .gitignore, add "dist", commit & push to origin/release
- Do some dev on master
- 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 .
See #11 , #12, #13
'dist' only contains generated files. There's no point keeping it under git, it just brings potential needless merge conflict, distracts code reviewer, etc.