Commit Graph

37 Commits (fac093a8b3dc2e226e14840e8872edbdd57ba094)

Author SHA1 Message Date
Maximilian Federle 427a29abb2 Travis: build snaps in LXD containers
With arm64-graviton2 now providing full VM virtualization, LXD containers
can be used to build snaps on all architectures.

This is beneficial for us as having snapcraft manage the whole build
environment is likely to yield better/more consistent results than
running the builds on the Travis images directly.
2020-11-19 19:26:36 +01:00
Maximilian Federle 898fb6f4f5 Travis: deploy tagged & master commits to GitHub
Our implicit deploy conditions were previously only met by untagged commits
on master. As the stage conditions filter everything except branch = master
and tagged commits, we can just use all_branches: true to also deploy tagged
builds.

Also clean up the snap deploy sections.
2020-11-18 15:52:33 +01:00
Maximilian Federle 1b2d47cd86 Travis: deploy tagged commits & edge tagging fixes
With the recent Travis changes, we prevented the deploy
stage from running for tagged commits as branch=tag
for tagged commits. Fix this by also running deploy for
tagged commits.

Furthermore, clean up .travis.yml by pulling the edge
tagging logic into a separate script.
A logic change is introduced to prevent git tag --force being
run on set tags as this would turn annotated tags into
lightweight tags.
2020-11-18 11:13:52 +01:00
Koen Schmeets 953c472897 Travis: add clean edge script 2020-11-07 20:23:49 +01:00
Koen Schmeets 5388e10649 Travis: use force to overwrite tag 2020-10-25 22:30:57 +01:00
Koen Schmeets 57f8b37270 Travis: skip build if tag is edge, staple to the .dmg 2020-10-25 19:50:14 +01:00
Koen Schmeets 5fbb1b8f53 Travis: remove old secrets from .travis.yml 2020-10-25 17:59:52 +01:00
Koen Schmeets da87a68093 Travis: try fixing deploy secret (sorry, has to happen on master) 2020-10-24 12:11:00 +02:00
Koen Schmeets 8f509f1452
Travis: CI improvements and fixing edge builds (#766)
- Fix release notes by using edge deploy provider, see: https://github.com/travis-ci/dpl/pull/1069
- Deploy only on master branch
- Move to arm64-graviton2
- Rename debian -> ubuntu
- Remove appveyor.yml
- Remove redundant deploy stage in build step names
- Get rid of bash code in files using sh, and explicitly use bash in sign-macos.sh script
- Add missing newline to build-windows.sh
- Build x86 for Windows
- Enable OpenMP in test builds
- Disable sanitizers on macOS test build
- Disallow failures on snap build
2020-10-24 11:08:40 +02:00
Koen Schmeets b3cd92899e Travis: release macOS and Windows edge builds
- Fixes windows build type
- Revert `cleanup: false` back to `skip_cleanup: true`
- Waits 10 seconds to get notarize_uuid for macOS since it would sometimes fail
2020-10-21 16:20:34 -04:00
Koen Schmeets 9d2641a5de Travis: update travis and macos build configs
- Fixing warnings in .travis.yml
- Enable building on all cores for macOS build
- Quote variables
2020-10-20 11:03:13 -04:00
Koen Schmeets 8e7416f3fd
Travis: Build improvements and fixes (#751)
- Add OpenMP to macOS build
- Use as many cores as possible in CI
- Update travis osx image to xcode12.2
- Ignore .vscode folder
- In `.travis/sign-macos.sh`, only create keychain when `CI` variable is present
- Only run macOS deploy stage when a tag is pushed
2020-10-20 09:39:26 +02:00
Koen Schmeets e42aa0fac4 Update .travis.yml for macOS build
Update .travis.yml for macOS build

Add executable permission on sign-macos.sh script
2020-10-18 12:05:56 -04:00
Koen Schmeets 91684fe6f4 Add macOS travis config, fix issue in CMakeLists.txt causing macOS build to break 2020-10-17 13:19:54 -04:00
Maximilian Federle 0288c0a98b Travis: add windows target
Mimic the appveyor cfg without the artifact deployment.
Also upgrade to Visual Studio 2017/v141 toolset.
2020-10-16 17:53:22 -04:00
Maximilian Federle 76b3efbd08 Travis: allow Snap arm64 to fail
arm64 builds on Travis are not yet fully mature and this
causes a high failure rate that is not caused by our code.

Continue building and deploying arm64 to the edge channel,
but don't consider the result for the success of the whole
build job.

Alleviates #587
2020-04-27 20:00:07 +00:00
Maximilian Federle dcc80de730 snap: Add missing sudo in Travis deploy step
Running the build step with sudo necessitates running the deploy step with sudo too.
Otherwise, we face permission problems.
2020-02-08 16:50:55 +00:00
Maximilian Federle 65ab59503a snap: Build snaps on Travis without remote-build & drop i386 + armhf
Snapcraft's remote-build does not fit the requirements of CI,
so replace it with builds running directly on Travis:

1. Builds on Travis can run independently, whereas remote-build
competes for the same resource (Launchpad) and will potentially
block if multiple commits require building in succession.
2. Snapcrafts CLI for remote-build is not designed to be easily
scriptable.
3. Travis recently introduced building on arm64, so builds for
arm64 are now very fast and don't require emulation.

We do not build for armhf and i386 any more because they are
of little relevance on the desktop.
2020-02-08 16:15:09 +00:00
Maximilian Federle 2dcd81d7e7 snap: Release snaps to store via script instead of snap provider
dpl-snap only supports pushing one snap at a time.
Instead of many repetitive deploy statements,
we use our own script to loop over the snaps to be released.
2020-01-23 01:47:10 +00:00
Maximilian Federle d5351c48e3 snap: build snaps on Travis via remote-build.
We invoke builds on Launchpad in stage "deploy" and release it into
the edge channel of the Snap Store.

The deploy stage is blocked on fails of the test stage, so we don't
release snaps with failing tests.
2020-01-21 23:38:55 +00:00
Maximilian Federle a60d4df179 Refactor Travis config
- Fix invalid osx_image xcode8.2
- Drop depreceated sudo keyword
- Run debian build on bionic image & re-enable building with ui
- Split build into separate jobs & stages for better separation of concerns
2019-11-26 07:58:20 +00:00
whitequark 8903e1768c Travis, Appveyor: remove IRC notifications.
These are now handled through GitHub status changes, and so the one
notifico instance works just as well, and needs less configuration
in the repository.
2019-03-28 09:12:00 +00:00
whitequark 26f3751ce8 macOS: rename application bundle to SolveSpace.
This changes the capitalization shown in GUI.
2018-07-17 15:01:58 +00:00
whitequark fb1065deba Travis: add a workaround for travis-ci/travis-ci#4704. 2018-07-12 20:23:58 +00:00
whitequark 04e86d9b36 Travis: revert the hack for transient build failures. 2017-01-17 11:26:04 +00:00
whitequark 592bea8109 Travis: add IRC notifications. 2016-10-22 07:55:42 +00:00
whitequark 93da88369f Debian: remove in-tree packaging.
The package is now maintained by the Debian Science team at:
https://anonscm.debian.org/git/debian-science/packages/solvespace.git
2016-10-10 22:07:32 +00:00
whitequark d2b21666e1 Move everything from whitequark/solvespace to solvespace/solvespace. 2016-04-23 19:39:39 +00:00
whitequark 2edc61d072 Prepare CI for release builds. 2016-04-23 04:38:32 +00:00
whitequark f20a044837 CI: Use Ubuntu Trusty for Travis builds.
Trusty has newer software and most importantly GCC with proper C++11
support, not just C++0x.
2016-02-15 19:58:14 +00:00
whitequark e5294eef9d Add freetype dependency.
We are going to use freetype instead of the old custom TTF parser,
since the old parser has many annoying bugs when handling non-Latin
fonts and fixing it is not really worth the time.

On Windows, Freetype is built from a submodule.
On Linux and OS X, Freetype is provided together with the desktop,
though development files have to be installed separately.
2016-02-13 21:08:18 +00:00
whitequark 5e5ef3be3e Build Debian packages with debug symbols. 2016-01-13 06:45:17 +00:00
whitequark 02c30e6f87 Rewrite ttf2c to use GNU Unifont and merge with pngchar2c.pl.
After this change, SolveSpace does not contain nonfree assets.
Additionally, Perl is not required for the build.

Note that in the US, case law suggests that copyright does
not apply to bitmap fonts:
  http://www.renpy.org/wiki/renpy/misc/Bitmap_Fonts_and_Copyright

Nevertheless, it was prudent to replace the asset with something
that is unambiguously free.
2015-12-29 11:15:50 +08:00
whitequark 09c072fdfd Add Debian nightly builds. 2015-12-28 21:37:07 +08:00
whitequark cdc384e44d Add OS X nightly builds. 2015-12-28 21:37:07 +08:00
whitequark 063dfc4f98 Require cmake 3.1.0 and C++11.
We plan to use C++11 features in the future. Moreover, recent gtkmm
has a hard requirement on C++11.
2015-12-28 21:37:06 +08:00
whitequark 46db5378dc Add Travis CI and Appveyor CI configurations. 2015-07-10 15:59:12 +03:00