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

AppVeyor: prevent unnecessary builds #2888

Merged
merged 10 commits into from
Oct 9, 2017
Merged

Conversation

tooomm
Copy link
Member

@tooomm tooomm commented Oct 5, 2017

Short roundup of the initial problem

AppVeyor CI always started builds, also on completely unrelated changes.

What will change with this Pull Request?

  • prevent builds on .md changes, like a README.md update
  • prevent builds on config changes for other services, like travis, transifex, gitlab or github

Results in faster check marks for quicker merging. Also, important builds don't queue up and have to wait for such unrelated build to finish.
For example, travis is building this change to a appveyor config file, a total waste and delay!

Am I correct, that we don't want AppVeyor to build changes made in the webclient as well?
Did I miss anything?


This also removes the qt5 extension for the windows builds. We don't use such a tag for our macOS and Linux builds.
Sadly this is needed as of now:

if (wordSize == "llp64") {
arch = "win64";
devSnapshotEnd = "-x86_64_qt5";
} else if (wordSize == "ilp32") {
arch = "win32";
devSnapshotEnd = "-x86_qt5";
} else {
qWarning() << "Error checking for upgrade version: wordSize is" << wordSize;
return false;
}

We need a workaround for this to finally remove it in future versions. At best before releasing a new version. Just add an additional check for -x86_64 and -x86 without qt5 for the transition period?

@tooomm
Copy link
Member Author

tooomm commented Oct 5, 2017

Tested and working with changes to these files:

All of these correctly didn't trigger AppVeyor builds! 👍
The only untested rule is a (nested) change in webclient/ folder, all others are ok.


Cancelled all the pending macOS builds on travis. Linux builds fine for sure and we don't want to wait several hours for all of these to finish. 😆

@tooomm
Copy link
Member Author

tooomm commented Oct 6, 2017

There seems to be a problem with the GitHub status check and how it expects results for Required builds.
It looks like this makes GitHub expect these builds to always happen, therefore the "waiting for pending" status unrelated if there is or going to be a build at all.
And we successfully skip a AppVeyor build here - so no status response from them...

This looks to be a very minor issue, given the benefit.
Admins can still merge such PR's, or we could loosen the Required condition and make it a general policy instead a platform controlled enforcement.
But I'm also in contact with AppVeyor support to find a solution.

@ctrlaltca
Copy link
Contributor

This seems to work: the last build has been skipped.

@ctrlaltca ctrlaltca merged commit 17202e8 into master Oct 9, 2017
@ctrlaltca ctrlaltca deleted the tooomm-appveyor_config branch October 9, 2017 09:19
@tooomm
Copy link
Member Author

tooomm commented Oct 9, 2017

Linking AppVeyor support ticket and discussion: appveyor/ci#1848

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

Successfully merging this pull request may close these issues.

None yet

2 participants