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

Switching to GitHub Actions #388

Closed
20 tasks done
ErikBjare opened this issue Mar 22, 2020 · 12 comments
Closed
20 tasks done

Switching to GitHub Actions #388

ErikBjare opened this issue Mar 22, 2020 · 12 comments

Comments

@ErikBjare
Copy link
Member

ErikBjare commented Mar 22, 2020

So I've been playing with this in #382, and I'm impressed.

Motivations:

  • Better build times (especially for macOS and Windows), see Improve CI build times #370.
  • Integrated into GitHub, better UX in general
  • Easier/cleaner config (especially with regards to multi-platform support)
  • Seems more reliable
    • Not a high bar to beat
    • Travis has had outages, build backlogs, builds stalling
    • I've been getting "An error occurred while generating the build script." frequently recently (the last two days) for macOS builds.
  • It makes us able to finally get rid of Appveyor and unify our CI process
  • It allows for more advanced automation, such as automating creating releases with changelog and everything.

I'm seriously tired of mucking with Travis and Appveyor, especially due to the long build times, so pretty excited about getting this done, so we can scrap them.

Subtasks before ready to completely migrate to GitHub Actions:

Progress on moving module repos to GitHub Actions:

An overview of migration progress can also be seen on the CI overview page

@ErikBjare
Copy link
Member Author

Testing the Linux build gives me SIGSEGV as soon as I right-click the tray icon:

(lots of similar lines above)
Fontconfig warning: "/etc/fonts/conf.d/90-synthetic.conf", line 5: unknown element "its:translateRule"
Fontconfig error: "/etc/fonts/conf.d/90-synthetic.conf", line 5: invalid attribute 'translate'
Fontconfig error: "/etc/fonts/conf.d/90-synthetic.conf", line 5: invalid attribute 'selector'
Fontconfig error: "/etc/fonts/conf.d/90-synthetic.conf", line 6: invalid attribute 'xmlns:its'
Fontconfig error: "/etc/fonts/conf.d/90-synthetic.conf", line 6: invalid attribute 'version'
Fontconfig error: Cannot load config file from /etc/fonts/fonts.conf
Fontconfig warning: FcPattern object weight does not accept value [40 210)
fish: “./aw-qt --testing --autostart-m…” terminated by signal SIGSEGV (Address boundary error)

Testing a recent version from Travis gives me similar Fontconfig error/warnings (and super ugly font in the tray icon menu), but doesn't SIGSEGV.

@xylix
Copy link
Contributor

xylix commented Mar 23, 2020

Did you try rebuilding the qt reaources after changing pyqt version?

@ErikBjare
Copy link
Member Author

@xylix They are built in CI, nothing to rebuild.

@johan-bjareholt
Copy link
Member

A bit of a shame to get even more locked into the GitHub ecosystem, but considering how much of an improvement it seems to be and the time spent it seems to definitely be worth it.

@ErikBjare
Copy link
Member Author

A bit of a shame to get even more locked into the GitHub ecosystem

I agree, but to be fair GitHub has been doing a lot of things right recently (apart from closing repos because of US embargoes, but their hands are tied) and at this point they are the ecosystem (with the acquisition of npm, semmle, dependabot, etc).

@johan-bjareholt
Copy link
Member

at this point they are the ecosystem

Disagree, but that's off topic I guess.

@ErikBjare
Copy link
Member Author

As @xylix mentioned on Discord, Travis will start charging for macOS instances, so we'll have to migrate at least the macOS builds pretty soon.

@ErikBjare
Copy link
Member Author

ErikBjare commented Dec 28, 2020

Just tested the latest GitHub Actions macOS build (from master), works fine.

Edit: It worked fine in Catalina, but otool reported 10.15 as minos so would probably not work on Mojave. I think I managed to fix it in: #544 (comment).

@ErikBjare
Copy link
Member Author

ErikBjare commented Jun 11, 2021

Found a couple of hints for the SIGSEGV on Linux:

I can for example run this without issue, although no trayicon appears:

env QT_QPA_PLATFORM=minimal \
	QT_DEBUG_PLUGINS=1 \
	LD_PRELOAD=/usr/lib64/libfreetype.so:/usr/lib64/libfontconfig.so \
	./aw-qt --autostart-modules 'none'

But this fails:

env QT_QPA_PLATFORM=xcb \
	QT_DEBUG_PLUGINS=1 \
	LD_PRELOAD=/usr/lib64/libfreetype.so:/usr/lib64/libfontconfig.so \
	./aw-qt --autostart-modules 'none'

With the output (truncated):

...
Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/home/erb/Applications/ActivityWatch/activitywatch/platforms" ...
loaded library "/home/erb/Applications/ActivityWatch/activitywatch/PyQt5/Qt/plugins/platforms/libqxcb.so"
loaded library "Xcursor"
fish: Job 1, 'env QT_QPA_PLATFORM=xcb  QT_DEB…' terminated by signal SIGSEGV (Address boundary error)

Might just be missing libs, attempting fix in #604

@ErikBjare
Copy link
Member Author

#604 worked!

Looks like we are good to go! (assuming the Windows build is fine)

@stale
Copy link

stale bot commented Mar 25, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Mar 25, 2023
@ErikBjare ErikBjare removed the stale label Mar 25, 2023
@ErikBjare
Copy link
Member Author

This was completed a while back. Nice to finally be done with it.

Road to 1.0 automation moved this from To do to Done Mar 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Road to 1.0
  
Done
Development

No branches or pull requests

3 participants