-
Notifications
You must be signed in to change notification settings - Fork 28
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
[Meta] - Windows XP builds might start to fail permanently #296
Comments
It's desireble I think, but after a quick look at the appveyor reference, I couldn't find out how to condition deployment, so I don't mind fetching the release artifact manually. I made a draft of settings where the release job will work only when a tag is published. diff --git a/.appveyor.yml b/.appveyor.yml
index 55d8243..72743e5 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -11,9 +11,6 @@ branches:
only:
- master
-# Do not build on tags
-skip_tags: true
-
# Skipping commits with particular message or from specific user
skip_commits:
message: /Created.*\.(png|jpg|jpeg|bmp|gif|md)/ # Regex for matching commit message
@@ -41,7 +38,8 @@ environment:
PLATFORM: windows
DEST: BambooTracker-v%APPVEYOR_BUILD_VERSION%-dev-windows.zip
MAKE: mingw32-make
- # Windows XP
+ RELEASE_BUILD: false
+ # Windows XP (Debug)
- APPVEYOR_JOB_NAME: for Windows XP
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
COMPILER: C:\Qt\Tools\mingw492_32\bin
@@ -49,11 +47,36 @@ environment:
PLATFORM: windows-xp
DEST: BambooTracker-v%APPVEYOR_BUILD_VERSION%-dev-windows-xp.zip
MAKE: mingw32-make
+ RELEASE_BUILD: false
+ # Windows XP (Release)
+ - APPVEYOR_JOB_NAME: for Windows XP (Release)
+ APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
+ COMPILER: C:\Qt\Tools\mingw492_32\bin
+ QT: C:\Qt\5.5\mingw492_32\bin
+ PLATFORM: windows-xp
+ DEST: BambooTracker-v%APPVEYOR_BUILD_VERSION%-windows-xp.zip
+ MAKE: mingw32-make
+ RELEASE_BUILD: true
- APPVEYOR_JOB_NAME: for macOS
APPVEYOR_BUILD_WORKER_IMAGE: macOS-Mojave
PLATFORM: macos
DEST: BambooTracker-v$APPVEYOR_BUILD_VERSION-dev-macos.zip
MAKE: make
+ RELEASE_BUILD: false
+
+for:
+-
+ # Debug
+ matrix:
+ only:
+ - RELEASE_BUILD: false
+ skip_tags: true
+-
+ # Release
+ matrix:
+ only:
+ - RELEASE_BUILD: true
+ skip_non_tags: true
# scripts that run after cloning repository
install:
@@ -80,7 +103,8 @@ before_build:
# to run your custom scripts instead of automatic MSBuild
build_script:
- ps: |
- qmake.exe BambooTracker.pro PREFIX=..\target CONFIG+=debug CONFIG+=console CONFIG+=nostrip
+ $QMAKE_CONFIGS = if ($env:RELEASE_BUILD) { "CONFIG+=release CONFIG-=debug" } else { "CONFIG+=debug CONFIG+=console CONFIG+=nostrip" }
+ Invoke-Expression ("qmake.exe BambooTracker.pro PREFIX=..\target " + $QMAKE_CONFIGS)
Invoke-Expression ($env:MAKE + " -j2")
- sh: |
qmake BambooTracker.pro PREFIX=../target CONFIG+=debug CONFIG+=console CONFIG+=nostrip LIBS+=-L"$JACKLIB" INCLUDEPATH+="$JACKINC" CONFIG+=install_flat
@@ -107,8 +131,9 @@ after_build:
- sh: bash ../scripts/package_osx.sh
- cd ..
- ps: |
- mv target BambooTracker-v"$env:APPVEYOR_BUILD_VERSION"-dev-"$env:PLATFORM"
- 7z a -tzip "$env:DEST" BambooTracker-v"$env:APPVEYOR_BUILD_VERSION"-dev-"$env:PLATFORM"
+ $DEV_LAB = if ($env:RELEASE_BUILD) { "-" } else { "-dev-" }
+ mv target BambooTracker-v"$env:APPVEYOR_BUILD_VERSION$DEV_LAB$env:PLATFORM"
+ 7z a -tzip "$env:DEST" BambooTracker-v"$env:APPVEYOR_BUILD_VERSION$DEV_LAB$env:PLATFORM"
- sh: |
mv target BambooTracker-v"$APPVEYOR_BUILD_VERSION"-dev-"$PLATFORM"
7z a -tzip "$DEST" BambooTracker-v"$APPVEYOR_BUILD_VERSION"-dev-"$PLATFORM"
I'm not sure if this works, as appveyor can't be tested in this repository. |
I'll try to test your diff on my fork later today. |
branches:
only:
- master also needs the tag name - /v\d*\.\d*\.\d*/ see Branches and Tags:
And instances of if ($env:RELEASE_BUILD) need to check for a string matching "true" instead if ($env:RELEASE_BUILD -ieq "true") AppVeyor seems to set that variable to
|
Until 1e67a3e, a new XP job is added to appveyor and remove old GH Actions workflow. Thanks for your help! |
Qt5.5 downloads (last version with XP support) are dead
Qt have removed all of their prebuilt versions of Qt5 < version 5.9. This includes Qt5.5, the latest possible version for XP-targeting builds.
/.github/workflows/windows-xp.yml
still works due to caching, but once that cache gets invalidated (which i believe can happen via repository inactivity too?), it's probably dead for good.I've opened this meta-ish issue so we can potentially discuss what to do about this, if / once that cache eventually does die. I see afew potential options:
Use AppVeyor for all XP tests & automatic releases
This would need some additional changes to have a fourth, proper, XP-targeting
CONFIG+=release
build on AppVeyor, only triggered by a tagged commit & uploading its release archive to the release entry that the GitHub Actions builds will have created.Trusted user / developer building XP releases (regular tests is most likely too much to demand) on a privately-owned system & append to releases page
Not sure how I'd feel about this, but a potential option nonetheless.
Only AppVeyor testing
Requires the least effort on our side: Only distribute the unoptimised debug builds.
Build our own Qt5.5Absolutely madness, unlikely to happen.Abandon XP tests & releases
The worst option out of them all. My CI fetching scripts have been a crutch since forever, AppVeyor is the only comfortable way for testing this build scenario that's left.
The text was updated successfully, but these errors were encountered: