Weekly Report (September 28 - October 4)
This week we have added a new feature for our infrastructure to help Synfig developers and users test new features.
Synfig developers mostly use Linux, while users use Windows. And we wanted to allow users to easily test changes made by developers via PRs before they hit the main branch.
To do this, we were working to solve several problems:
Increase the build speed (otherwise we exceed the time limits set by the Appveyor CI service, which we use to build Synfig for Windows). To achieve this, we have improved the build using CMake and Ninja.
Add to CMake the ability to install dependencies necessary for Synfig to work.
Decide where to store binary files built from each particular PR, which users will download for testing. There are many services for this, but there was one problem. Storage service usually uses a secret key to allow upload data from other service (the one that generate binary builds). But if you use secret key for deploying from PR (as we planned initially), then it opens the possibility for an attacker to extract this secret key and use it for various bad things in the future. For this reason, most services (and Appveyor too) disable the deploying from PRs because this is not secure.
It looks like we would have to abandon such a good feature, but then we discovered that Appveyour service automatically stores builded artifacts on its own servers, which is available for the user and thus makes it redundant to use secret keys. Hooray!
So, finally, we are happy to present you the new feature!
From now, for each new PR you can download the compiled portable version of Synfig for Windows.
To do that, you need to go to the PR page on github. For example, this one - https://github.com/synfig/synfig/pull/1737
- Scroll down to the area showing checks (click on “Show all checks” if they are hidden).
- Click on the “Details” link on the opposite side of “continuous-integration/appveyor/pr”.
- Now you need to choose “Environment: MSYSTEM=MINGW64” for x64 Windows or “Environment: MSYSTEM=MINGW32” for x32.
- And then switch to the “Artifacts” tab.
- Click on “SynfigStudio-…” filename to download.
Now you can unpack the downloaded file and run Synfig, which includes all modifications introduced in this particular PR. This is a portable version, so no need to install it.
Other changes from last week:
- Many improvements for CMake from Artem Konoplin (see PR #1711).
- Corrected positions of thumbnails and keyframe tooltips on Wayland (PRs #1726 and #1725). Thanks to Keyikedalube Ndang.
- Fixed MSYS2 installer, generated by CMake - removed unnecessary folders, required folders added (PR #1728). Thanks to Artem Konoplin.
- Code cleanup: Removed unused headers (PR #1729). Thanks to Artem Konoplin.
That’s all for today! Much thanks to everyone who helps making Synfig better!