Commit Graph

45 Commits

Author SHA1 Message Date
dcz
9f74e95cef Merge branch 'ci_c' into 'master'
ci: speed improvements

See merge request World/Phosh/squeekboard!505
2021-12-16 01:52:08 +00:00
7a07f1616d ci: Include pre-build style check 2021-12-09 11:42:33 +00:00
f986f14220 ci: Reformat yaml file
Includes a formatter script
2021-12-09 11:42:12 +00:00
cd869e323e ci: Add git revision and CI pipeline number to .deb artifacts 2021-12-08 19:54:48 +00:00
e380179144 ci: Start lintian test right after deb build
The arm64 build often takes a longer time than the rest, so there's no reason to wait for it in the default staged configuration.
2021-12-08 19:20:23 +00:00
b8fece97d9 ci: Move release test to the start 2021-12-08 19:19:15 +00:00
f9c15845a1 ci: Use cached artifacts in the test
gitlab changed how it interprets the "needs" directive, which caused cargo to recompile. Using cached _build directory saves about 2 minutes.
2021-12-08 19:19:07 +00:00
f922374e27 gitlab-ci: Add PKG_ONLY
This allows for easy package builds saving resources.
2021-12-04 17:58:14 +01:00
dd708456ff Move style-check to separate script
This avoids having to copy out of .gitlab-ci.yml before submitting an MR
to do a style check.

Could become a meson target at some point.
2021-11-23 18:16:36 +01:00
31f8e4e49f gitlab-ci: Drop build for outdated distributions 2021-08-07 10:56:39 +02:00
2c662e0630 gitlab-ci: Adjust CI tags
This makes it build on GNOME infra
2021-08-07 10:54:27 +02:00
153f9c39e5 lint: Check for missing braces
The `eek/layersurface.c` file should be excluded because it's an imported, "foreign" source, but clang-tidy doesn't seem to have an annotation for that.

An alternative would have been to exclude it in Meson and do the check there, but that requires clang-tidy, raising the barrier to contribute of Squeekboard even more (it already requires libfeedback, which isn't packaged widely).
2020-10-20 11:34:17 +00:00
bd661bd4f4 gitlab-ci: Enable --Werror
This makes sure we don't have more warnings creeping in
2020-09-11 18:16:30 +02:00
93ff086e3a ci: Re-add x64 Buster build 2020-06-28 17:38:10 +00:00
67d8926913 ci: Add amber job 2020-06-25 16:17:16 +00:00
ecfc45c2de build: Make compatible with Debian Bullseye
This commit is a bit bigger than it could have: Meson changes could have gone in separately from CI and Debian.

This commit looks more complicated than it should reasonably be. Alas, Cargo is a piece of work, and it doesn't let honest people just choose different versions of dependencies, leading to a cascade of misery. Several things were tried to curb the disaster:

- Cargo [feature] supports choosing dependencies, but doesn't support specifying dependency versions
- Cargo has a cfg() syntax in sections for choosing dependencies by build options, but it explicitly doesn't support selecting on features…
- Cargo allows choosing different dependencies based on features, so perhaps dependencies with different versions could live in stub crates pulled in as needed? Nope! If a dependency doesn't exist in the repo (and that's the point here), Cargo throws up its hands.

This means Cargo.toml needs to be generated based on the build type. More misery:

- we lose the simplicity of just doing `cargo.sh` for simple housekeeping like deps updates. HACKING.md was updated to reflect that. Perhaps that's inevitable - build options need to be like this.
- Some flaky adjustments needed in `cargo.sh` because of an additional argument that can be mistaken for an argument to the exec in `cargo run`.
- Specifying a custom `Cargo.toml` means Cargo can no longer find any tests, examples, benchmarks, or binaries, because it searches relative to the directory of `Cargo.toml`, which is now the build dir. Extra care needed to not forget about them now.

As soon as Cargo allows anything better for managing deps versions, the above should be undone in its favor.

Good side is that a couple bugs went away:

- build flags not always making it to Cargo
- arm64 builds were optional while they shouldn't
- test layouts in unit tests are loaded from an explicit directory now

The Bullseye versions of dependencies are canonical now, Buster considered legacy.
2020-06-24 15:51:21 +00:00
0f7ff1636d CI: Fix typo 2020-03-07 11:17:25 +00:00
9f6fe8318c CI: Test that any bump to changelog has a corresponding tag
Prevents forgetting to sign the tag, which is currently done out of band and independently of review.
2020-02-28 12:14:18 +00:00
99b1439d08 Use pip to install recommonmark 2020-01-30 16:51:35 +01:00
60c68dbf5a ci: Clean up .. before it's searched for artifacts
GitLab doesn't always clean up the `..` directory, leaving things that are lated picked up as artifacts. The new rule cleans up anything that looks like an artifact before fresh ones are generated.
2020-01-14 18:47:04 +00:00
c3c1e1c76d CI: Use Librem5 arm64 runner 2020-01-07 14:39:30 +00:00
4a92489de8 CI: Fix build-dep removed by merge 2020-01-04 13:34:30 +00:00
6ad85d79e4 Merge branch 'doc' into 'master'
docs: Create with tutorial

See merge request Librem5/squeekboard!285
2020-01-04 10:49:03 +00:00
c0331434d7 CI: Build arm64 .deb 2019-12-19 19:38:34 +00:00
0e1bf19737 docs: Create with tutorial
Create docs, based on Sphinx with Commonmark, seeding it with https://forums.puri.sm/t/translations-and-virtual-touch-keyboards-tracking-localization/7669/48?u=dcz
2019-12-15 21:53:18 +00:00
dde659dbd3 ci: Delete large debug build directory early
There's no need to keep it for a long time, as its only purpose is to feed the test stage
2019-10-24 20:29:19 +00:00
788a39f144 ci: Start test stage immediately after build_meson 2019-10-24 20:28:13 +00:00
bb3c26b0d8 ci: Build .deb 2019-09-23 13:06:45 +00:00
3413021d30 rust: Use Cargo to build the Rust portion
Pros: Ability to use Rust libraries from crates.io
Problems: Need to lock library versions and document their reproducible building, either via Cargo.lock or vendoring.
2019-08-30 09:00:34 +00:00
ad5e4f58bb Remove use of xvfb to check that the tests run headless 2019-08-01 18:15:42 +02:00
79dce7c4c3 gitlab-ci: Run tests under xvfb
We create widgets so need a display.
2019-07-23 10:20:07 +02:00
9b10f56ba6 Keep the build directory as an artifact 2019-07-23 10:18:44 +02:00
2391947b34 Update CI configuration to enable tests 2019-07-23 10:18:44 +02:00
706a04dbfc gitlab-ci: No need for our ci repository
Just using debian buster makes things more stable.
2019-07-11 14:31:25 +02:00
a129863a4d build: Apply fixes/suggestions
Following comments on https://source.puri.sm/Librem5/squeekboard/merge_requests/20
2019-07-02 20:14:12 +00:00
61a5e8d4fd install: Don't distribute dbus definition
Instead, require virtboard to provide it.
2019-07-02 18:13:34 +00:00
cb641bd221 ci: Prevent caching of build directory 2019-07-02 18:11:49 +00:00
511b2f7186 ci: Use build-dep instead of a dependency list 2019-06-30 19:01:36 +00:00
9e5629d1e0 Enable Wayland's virtual-keyboard protocol
This commit includes a little restructuring necessary for keeping wayland objects properly.
It doesn't fix broken modifier functionality yet.
2019-06-25 18:12:15 +00:00
f261115ac4 ci: Change job name to meson 2019-03-22 19:06:29 +00:00
caee942796 build, readme: Update build and run instructions 2019-03-22 07:23:17 +00:00
8087c3e5d4 build: Use only meson for squeekboard
This breaks autoconf. The only resulting binary is the squeekboard GUI. It still needs the autotools-built eekboard client in order to do anything useful. That one needs to be built using a different branch, making this a WIP.
2019-03-15 20:59:29 +00:00
a243fce1ae build: Squeekboard build in meson 2019-03-14 17:29:13 +00:00
ce2d270e7c ci: Add config flags relevant for Wayland builds 2019-03-13 18:08:56 +00:00
b159625e62 Add gitlab CI 2019-02-14 16:57:39 +00:00