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

Use gitflow to organize contributions and separate develop from releases #92

Closed
julian-alarcon opened this issue Apr 2, 2019 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@julian-alarcon
Copy link
Collaborator

julian-alarcon commented Apr 2, 2019

Hi @IsmaelMartinez @benyanke

I'm checking the current flow and I think that it's better to use a develop branch where things can break, and focus on getting releases branches when we think that a new release is needed (bug fixes, new features, etc).
So the idea will be:
All most all commits on develop -> Release branch e.g. 0.2 release.
When release is done tag it and then merge to master (so master will always have the latest stable release, every commit on master is a new release by definition).

If someone want to contribute, or even us (feature/bugfix), the branch to use will be develop always.

I more detailed explanation can be found here: https://nvie.com/posts/a-successful-git-branching-model/

I already created the develop branch from master, what do you think about this?

@julian-alarcon
Copy link
Collaborator Author

BTW I uploaded a new version to snapcraft.

julian@pc:~/Code/teams-for-linux/dist$ snapcraft status teams-for-linux
Track    Arch    Channel    Version    Revision
latest   amd64   stable     -          -
                 candidate  -          -
                 beta       0.1.17     2
                 edge       0.1.18     3

The idea, to me, is that edge will always point to develop branch, stable will always point to latest stable (right now 0.1.7) release, as master will always be the latest stable release snap build should point to that branch. Beta could be used for releases marked as draft. Candidate is not needed for us right now.

So, stable and edge are the main channels, beta just when we needed them.

All this is related to snap store, for AUR on Arch Linux, they should always point to master @frealgagu
https://aur.archlinux.org/packages/teams-for-linux/

@IsmaelMartinez
Copy link
Owner

Hi @julian-alarcon ,

I like the idea, as long as we know that 0.1.18 might never be released (as it will become 0.2.0)

For arch, and as you have added @frealgagu in here, it might be great if we can sync with them in terms to know what they want/need. We could do their build process if that accelerates and eases the managements, or we can ping them when a new master release is ready.

Thanks @julian-alarcon!

@IsmaelMartinez IsmaelMartinez added the enhancement New feature or request label Apr 3, 2019
@IsmaelMartinez IsmaelMartinez added this to To do in 0.1.18 (or 0.2.0) via automation Apr 10, 2019
@IsmaelMartinez
Copy link
Owner

IsmaelMartinez commented Apr 10, 2019

Just to keep tags with the current format, we should probably use v0.2.0 (with the v in front and 3 levels)

TODO:

  • create develop branch.
  • default develop branch in github
  • create CONTRIBUTE.md with the guidelines to contribute (current)
  • document this in the CONTRIBUTE.md

I see if I can do some of this before release v0.2.0. Can you @julian-alarcon , do some of this?

I will try to do the point 1,2 and 3 now. I got a bit of time (10 minutes)

@IsmaelMartinez IsmaelMartinez moved this from To do to In progress in 0.1.18 (or 0.2.0) Apr 10, 2019
@IsmaelMartinez
Copy link
Owner

By the way, I don't think we need a "release branch", we are not a lot of people developing at the same time. As long as a new tag is created that should be ok.

@IsmaelMartinez IsmaelMartinez added this to In progress in 0.3.0 Apr 12, 2019
@IsmaelMartinez
Copy link
Owner

Hi @julian-alarcon ,

Looks like a tag is automatically created by github when creating the release notes.

Basically,

  • develop is the default branch where any pull requests and new development goes.
  • master is the release branch where only stable things goes.

When creating the release notes, a tag is created with the version (this is automatic).

  • develop points to edge in snapcraft
  • master points to stable in snapcraft and any other releases (including arch)

The only "issue" with the snapcraft, that might be ok, is that some edge releases numbers will never be actually release.

I don't think we need further details in the contribute page, so closing this. Do feel free to update the contribute with further info if you consider it.

0.3.0 automation moved this from In progress to Done Apr 13, 2019
@IsmaelMartinez IsmaelMartinez mentioned this issue May 27, 2019
IsmaelMartinez added a commit that referenced this issue May 27, 2019
# General notes

This release is been mostly focus on automating the release to snapcraft. 

Also, now the spellchecker works with a local version of hunspell installed (if located under /usr/share/hunspell/)

The icon has been also updated to the latest MS one.

A couple of new features added to be able to start the app minimised and having the webDebug option in the tray menu.

# Detail changes

* #92 Using gitflow from now on for releases (having master and develop branches) (Thanks to @julian-alarcon)
* #74 automating the snap release (Thanks to @julian-alarcon and @benyanke)
* #121 Fixing snap and camera not working together (Thanks to @julian-alarcon)
* #118, #113 and #119 Unpacking the spellchecker dictionaries and adding the ones installed in hunspell (Thanks to @vadimi and @noderat )
* #134 Updating the MS icon (Thanks to @julian-alarcon)
* #91 removing the apparmor=DENIED messages in syslog for snap build (Thanks to @julian-alarcon)
* #137 Adding the --minimized option to start the app minimized (Thanks to @didster)
* #135 Adding webDebug to the tray menu options (Thanks to @Fmstrat)

Also:
* #109 At the moment the propagation of 'about:blank' links has been disabled to minimise annoyance from this issue.

And the packages versions has been updated a bit, as we got a blocker for moving to version 5 or electron.


# Thanks

To everyone involved from people reporting issues, testing solutions and implementing them. You all make this possible.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
0.1.18 (or 0.2.0)
  
In progress
0.3.0
  
Done
Development

No branches or pull requests

2 participants