Repository navigation
Expand file tree
/
Copy path.gitlab-ci.yml
More file actions
80 lines (76 loc) · 3.69 KB
/
Copy path.gitlab-ci.yml
File metadata and controls
80 lines (76 loc) · 3.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# SPDX-FileCopyrightText: none
# SPDX-License-Identifier: CC0-1.0
include:
- project: sysadmin/ci-utilities
file:
# Linting
- /gitlab-templates/reuse-lint.yml
- /gitlab-templates/xml-lint.yml
- /gitlab-templates/pre-commit.yml
- /gitlab-templates/commit-checks.yml
# Quality checks
- /gitlab-templates/cppcheck.yml
# CI Qt6
- /gitlab-templates/linux-qt6.yml
- /gitlab-templates/linux-qt6-next.yml
- /gitlab-templates/freebsd-qt6.yml
- /gitlab-templates/windows-qt6.yml
# CD Qt6
- /gitlab-templates/flatpak.yml
# Snap builds are failing since many days,
# feel free to re-enable if you fixed it
#- /gitlab-templates/snap-snapcraft-lxd.yml
- project: sysadmin/craft-ci
file:
- /gitlab-templates/appimage-qt6.yml
- /gitlab-templates/windows-mingw64-qt6.yml
- /gitlab-templates/macos-x86-64-qt6.yml
- /gitlab-templates/macos-arm64-qt6.yml
- /gitlab-templates/windows-x86-64-qt6.yml
- /gitlab-templates/windows-appx-qt6.yml
# Overwrite the script step to not run ci-notary-service/publishbuild.py
# Given that we are in a transition phase from MinGW to MSVC we have two Windows jobs
# and running ci-notary-service/publishbuild.py on both will cause a race condition.
# Hence we modify the job to publish to "msvc-experimental"
# Please also revert https://invent.kde.org/sysadmin/ci-notary-service/-/merge_requests/98
# if you remove this workaround.
craft_windows_qt6_x86_64:
script:
# Set up craft settings and blueprint settings
- Run-CraftMaster --setup
# Get Craft itself ready
- Run-CraftMaster -c -i --options virtual.ignored=True --update craft
# Install all of our dependencies
- Run-CraftMaster -c --install-deps --options "[CodeSigning]Enabled=False" $env:CI_PROJECT_NAME
# Build the actual application
- Run-CraftMaster -c --no-cache --options "$env:CI_PROJECT_NAME.srcDir=$env:CI_PROJECT_DIR/src/" $env:CI_PROJECT_NAME
# Ensure the tools needed to conduct packaging are installed
- Run-CraftMaster -c -i --update nsis
# Package it up!
- Run-CraftMaster -c --package --options "$env:CI_PROJECT_NAME.srcDir=$env:CI_PROJECT_DIR/src/" --options "[CodeSigning]Enabled=True" $env:CI_PROJECT_NAME
- $packageAppx = Run-CraftMaster -c --get subinfo.options.dynamic.packageAppx $env:CI_PROJECT_NAME
# Save our package
- $packageDir = Run-CraftMaster -c -q --get "packageDestinationDir()" virtual/base
- mkdir $env:CI_PROJECT_DIR/kde-ci-packages
- cd $env:CI_PROJECT_DIR/kde-ci-packages
- Get-ChildItem -Path $packageDir -Recurse -Include *.exe, *.7z, *.sha256 | Copy-Item
- cd C:/Craft
- |
if ($packageAppx -eq "True") {
# Create the APPX packages
Run-CraftMaster -c --package --options "[Packager]PackageType=AppxPackager" --options "$env:CI_PROJECT_NAME.srcDir=$env:CI_PROJECT_DIR/src/" --options "[CodeSigning]Enabled=True" $env:CI_PROJECT_NAME
# Copy the APPX packages
cd $env:CI_PROJECT_DIR/kde-ci-packages
Get-ChildItem -Path $packageDir -Recurse -Include *.appx, *.appxupload | Copy-Item
cd C:/Craft
}
# Publish the installers to the special "msvc-experimental" location
- python -u ci-notary-service/publishbuild.py -v --config ci-utilities/signing/publishbuild.ini --platform "msvc-experimental" "$env:CI_PROJECT_DIR/kde-ci-packages/"
# Customize the job from /gitlab-templates/xml-lint.yml
# to use our own validate-xml-files.py which has some advanced
# features to validate Kdenlive specific xml files
xml:
before_script: ''
script:
- git config --global --add safe.directory $CI_PROJECT_DIR
- python3 -u ./validate-xml-files.py --verbose --check-all