larsenwork / monoid

Customisable coding font with alternates, ligatures and contextual positioning. Crazy crisp at 12px/9pt. http://larsenwork.com/monoid/
7.86k stars 170 forks source link

Only run circleci when changes are made to the master branch #88

Closed larsenwork closed 9 years ago

larsenwork commented 9 years ago

@chase obviously :smile: Is this possible? I just created the 0.55 branch to work on some features and leave the master branch for bugfixes and minor upgrades.

Running with error screen shot 2015-07-28 at 12 30 45

But continues instead of stopping screen shot 2015-07-28 at 12 30 53

I pushed an update to master immediately after so I didn't get to check the release branch after the 0.55 build ran.

chase commented 9 years ago

White-listing caused issues before, but I'll get this fixed in a second.

chase commented 9 years ago

By the way, you can always cancel a build if it delays something.

larsenwork commented 9 years ago

:+1:

larsenwork commented 9 years ago

screen shot 2015-07-28 at 17 47 31

I'm afraid it doesn't work.

chase commented 9 years ago

The image you posted has nothing to do with CircleCI, that is merely Github saying you've made changes.

You haven't merged the changes in master into 0.55. Once you merge master into 0.55 it will update the circle.yml file that CircleCI relies upon.

Per-CircleCI's documentation:

We discourage branch whitelisting, it means work-in-progress code can go a long time without being integrated and tested and we've found it leads to problems when that untested code gets merged.

circle.yml is per-branch configuration file, and the branch ignore list in one branch will only affect that branch and no other one.

Silly behavior, I know, but that's the best I can do I'm afraid.

larsenwork commented 9 years ago

The picture shows that a changes pushed to the 0.55 branch ends up in the release branch which they absolutely shouldn't.

I downloading at zip from the release branch to verify it had the updated (but unfinished) version 0.55.

Not too big of an issue as I can press "cancel" in circleci everytime I push to a branch other than master.

larsenwork commented 9 years ago

Qu'est-ce que c'est? :)

screen shot 2015-07-28 at 18 23 50

chase commented 9 years ago

You also don't have to push a change to master to get a release to build, just run a rebuild in the CircleCI.

That's me fixing your branch so it doesn't build on CircleCI, as I explained above. I merged in master, preferring 0.55 changes.

chase commented 9 years ago

Again, this is solved, but you need to make sure you have master merged into your local branches or else it won't work. Each branch's local circle.yml file determines what is built. I know, that makes no sense, but that's how it is.

chase commented 9 years ago

After this is settled, please be aware that I won't be able to work on the project for a couple of weeks.

larsenwork commented 9 years ago

Cheers. I'm also doing a push the next couple of days and then prolly quite quiet until september.

Having master merged into a branch is not really how branches normally work is it? I normally do it the other way around: work in a branch and when done: pull it into master.

I think I'd rather just push and then press cancel every time than having a backwards workflow.

ps. The latest release was made pressing "rebuild" - nifty feature.

larsenwork commented 9 years ago

Ah...now I think I understand. It's because circle.yml in 0.55 didn't have the whitelist update?

chase commented 9 years ago

Yes.

Also, that's not a backwards workflow, branches have no direction. When you merge into master, there will be no conflicts.

It actually is very common to rebase a feature branch onto master; however, since we both have access to 0.55 it is bad to rebase since that rewrites commit history. You should never rewrite remote branch histories, but merging is okay.

larsenwork commented 9 years ago

Got it! Thanks

larsenwork commented 9 years ago

:clap: screen shot 2015-07-28 at 18 40 08

chase commented 9 years ago

Taking a bow