Maxim Ganetsky
7997f0884b
CI: enabled FPDebug test job to run automatically
2024-11-18 20:04:17 +00:00
Maxim Ganetsky
54ee10cd7c
CI: added FPDebug test job (manual for now)
2024-11-18 19:24:28 +00:00
Maxim Ganetsky
defe854704
CI: enabled LCL test job to run automatically
2024-03-24 17:12:44 +00:00
Maxim Ganetsky
9c22f26428
CI: added LCL test job (manual for now)
2024-03-24 16:29:38 +00:00
Maxim Ganetsky
7fd8824fbc
CI: Renamed Dockerfile to make code highlight to work in GitLab web interface. Also simplified it and made to terminate earlier in case of compilation errors.
2023-11-22 02:42:38 +03:00
Maxim Ganetsky
86b559253b
CI: enabled 'tests-codetools' job to run by default
2023-07-20 16:23:02 +00:00
Maxim Ganetsky
8b17a65191
CI: added Pas2JS compiler to build image and Codetools test job (manual for now)
2023-07-19 18:46:48 +03:00
Maxim Ganetsky
f1f6c65d73
Revert "CI: try to prevent more duplicate pipelines in merge requests"
...
This reverts commit b326ae6b5b
.
The rule does not make any difference, so no point to keep it.
2023-06-30 01:28:48 +03:00
Maxim Ganetsky
b326ae6b5b
CI: try to prevent more duplicate pipelines in merge requests
...
See: https://docs.gitlab.com/ee/ci/yaml/workflow.html#switch-between-branch-pipelines-and-merge-request-pipelines
2023-06-28 16:14:59 +00:00
Maxim Ganetsky
ffe062f433
CI: Added ability to entirely disable pipeline if needed. Ability to switch pipeline jobs to manual mode is removed: it is not needed and its removal allowed to simplify (without change of behavior) definitions of jobs in prepcaches stage.
2023-06-23 02:29:21 +03:00
Maxim Ganetsky
b6f06a7e0c
CI: switched to Debian 12
2023-06-22 16:31:48 +03:00
Maxim Ganetsky
a85903e67d
CI: explicitly clear Qt bindings caches in a separate jobs if any files in their directories are changed
...
Cache actually contains all files from bindings directory (both source
and object ones) and is extracted after checkout, so it overwrites
checked out sources, and thus prevents correct cache update.
Note that sources should be kept in cache, as removing them will cause
bindings to be always recomiled (both in bindings and IDE compile jobs).
It takes long time and thus undesirable.
So now a separate cache clearing job is automatically run if (and only
if) any file in bindings is changed.
Such two-job architecture allows to automatically update cache and at
the same time populate it in case of its absence (e. g. in new merge
requests).
Note that simply doing full cache rebuild if any file in bindings is
changed is not enough as this job will not be triggered e. g. for a new
merge request (if it does not modify bindings) and will cause IDE
compile jobs for it to fail. GitLab CI currently does not support
conditions for triggering a job if a cache is missing.
2023-05-03 19:26:51 +03:00
Maxim Ganetsky
fe6b88d8da
CI: added a comment to configuration
2022-12-22 01:52:48 +03:00
Maxim Ganetsky
57cc6997fc
CI: added manual job for building docs (and emitting them as artifact) with FPDoc from stable FPC
2022-12-21 15:15:09 +00:00
Maxim Ganetsky
21e56937cf
CI: added manual jobs for building docs (and emitting them as artifacts) with FPDoc from FPC main
and fixes
branches
2022-12-20 02:52:21 +03:00
Maxim Ganetsky
bff5a39d0b
CI: run x86_64-qt6-stable job automatically
2022-11-13 18:54:37 +00:00
Maxim Ganetsky
81e0663d55
CI: run Qt6 cache updating job automatically, just like the one for Qt5
2022-11-13 01:09:50 +00:00
Maxim Ganetsky
8b24fca8a9
CI: call qmake6 when compiling Qt6 bindings
2022-11-12 03:44:35 +03:00
Maxim Ganetsky
d0e32a33bc
CI: added x86_64-qt6-oldstable and x86_64-qt6-stable targets
2022-11-12 03:06:38 +03:00
Maxim Ganetsky
c381575e95
CI: allow image rebuilding job only in pipelines belonging to default branch
2022-08-24 01:29:15 +03:00
Maxim Ganetsky
8ff031fb66
CI: added x86_64-gtk2 and i386-win32 build jobs for FPC snapshots from 'fixes' and 'main' branches
2022-08-23 03:23:30 +03:00
Maxim Ganetsky
b804996b53
CI: support including snapshots of FPC (x86_64-linux) from 'fixes_3_2' and 'main' branches with i386-win32 and x86_64-win64 cross-compilers to our build environment image
2022-08-23 02:32:43 +03:00
Maxim Ganetsky
adaf3f4e19
CI: allow autorunning x86_64-gtk3-stable/oldstable jobs in scheduled pipelines and enable automatic building of x86_64-gtk3-stable
2022-08-20 01:16:37 +03:00
Maxim Ganetsky
68f1aa466a
CI: added x86_64-gtk3 linux targets for stable and oldstable FPC (can be triggered only manually for now)
2022-08-20 01:03:23 +03:00
Maxim Ganetsky
48d4456dc3
CI: autorun all build jobs in scheduled pipeline
2022-08-19 02:59:57 +03:00
Maxim Ganetsky
e0fb044351
CI: let Qt5 bindings cache job always run and reuse its own cache, otherwise merge request pipelines will fail for Qt5 widgetset because of missing cache (previously cache updating job was not run if Qt5 bindings didn't have changes, even if the cache was empty).
2022-08-18 01:34:57 +03:00
Maxim Ganetsky
44a40cb0ed
CI: enabled pipeline for merge requests and reduced duplication in Qt5 job definitions
2022-08-18 00:11:58 +03:00
Maxim Ganetsky
7676949e2e
CI: automatically build x86_64-qt5-oldstable and i386-win32-stable in order to test oldstable 64-bit FPC
2022-08-17 01:32:57 +03:00
Maxim Ganetsky
bf656d73ee
CI: enable automatic building of x86_64-qt5 (FPC 3.2.2)
2022-08-15 02:14:23 +03:00
Maxim Ganetsky
bcc142a91a
CI: building Qt5Pas bindings moved to a separate stage/job with cached results
2022-08-15 01:44:22 +03:00
Maxim Ganetsky
de37de9b85
CI: re-enable building of target i386-win32 (FPC 3.2.0) now that issues are resolved
2022-08-13 01:09:04 +03:00
Maxim Ganetsky
69fd4ceb83
CI: temporarily disable automatic building of failing target i386-win32 (FPC 3.2.0) until the issue is resolved
2022-08-12 04:22:04 +03:00
Maxim Ganetsky
edc0363a39
CI: Enable automatic building of x86_64-gtk2 (FPC 3.2.2) and i386-win32 (FPC 3.2.0). This covers most cases (two widgetsets, two FPC versions, two bitnesses, two OS platforms). All other targets can be still run manually if desired.
...
The reason Qt widgetset was not enabled: high build times (24-25 min). Other targets take 4-5 min each and updating build environment image process takes 19 min.
2022-08-12 03:42:37 +03:00
Maxim Ganetsky
ff0ee07384
Rewritten CI configuration.
...
1. Added Dockerfile.buildenv to generate build environment image. It is based on Debian 11 x86_64 (contains GTK2, GTK3, Qt5 libraries and FPC (versions 3.2.0, 3.2.2) for x86_64-linux with x86_64-win64 and i386-win32 cross-compilers.
2. New CI configuration with jobs to build Lazarus with both FPC versions for x86_64-gtk2, x86_64-qt5, x86_64-win64, i386-win32. Also there is a job to update build environment image, which should be only run when Dockerfile.buildenv and/or FPC version constants in .gitlab-ci.yml file were updated.
All jobs were set to manual (don't trigger automatically) mode for now.
2022-08-12 03:26:45 +03:00
Maxim Ganetsky
a76721ce2e
.gitlab-ci.yml: return to correct directory after installing compiler
2022-08-06 00:57:31 +00:00
Maxim Ganetsky
3cdf766f43
.gitlab-ci.yml: add diagnostic output
2022-08-06 00:47:33 +00:00
Maxim Ganetsky
d9a7f4f8a1
.gitlab-ci.yml: try 4 to fix job failure
2022-08-06 00:31:01 +00:00
Maxim Ganetsky
7cc5633856
.gitlab-ci.yml: add missing space character
2022-08-06 00:03:33 +00:00
Maxim Ganetsky
4d778a3487
.gitlab-ci.yml: try 3 to fix job failure
2022-08-05 23:57:59 +00:00
Maxim Ganetsky
3842d49c9f
.gitlab-ci.yml: another try to fix job failure
2022-08-05 23:42:27 +00:00
Maxim Ganetsky
ff9be93e98
.gitlab-ci.yml: try to fix job failure by suppressing install.sh error output
2022-08-05 23:33:06 +00:00
Maxim Ganetsky
c4b04842e4
.gitlab-ci.yml: also install build-essential packages (needed for 'make')
2022-08-05 23:09:25 +00:00
Maxim Ganetsky
b1cab800e6
.gitlab-ci.yml: let apt-get work non-interactively
2022-08-05 22:50:49 +00:00
Maxim Ganetsky
14783ceac0
Created initial CI configuration (build on Linux/FPC3.2.2/GTK2)
2022-08-05 22:47:32 +00:00