Add ARM CI targets

This commit is contained in:
Adam Honse 2024-08-04 20:58:58 +00:00
parent c071da54ca
commit de2c58739b
2 changed files with 143 additions and 209 deletions

View file

@ -32,7 +32,10 @@ before_script:
#-----------------------------------------------------------------------#
"Supported Devices":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bullseye-64
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-amd64
tags:
- linux
- amd64
stage: build
script:
- qmake
@ -53,18 +56,21 @@ before_script:
allow_failure: true
#-----------------------------------------------------------------------#
# Linux (AppImage) 32-bit Build Target #
# Linux (AppImage) i386 Build Target #
#-----------------------------------------------------------------------#
"Linux 32 AppImage":
"Linux i386 AppImage":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-32
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-i386
tags:
- linux
- i386
stage: build
script:
- export $(dpkg-architecture)
- ./scripts/build-appimage.sh
artifacts:
name: "${CI_PROJECT_NAME}_Linux_32_${CI_COMMIT_SHORT_SHA}"
name: "${CI_PROJECT_NAME}_Linux_i386_${CI_COMMIT_SHORT_SHA}"
paths:
- OpenRGB-i386.AppImage
- 60-openrgb.rules
@ -79,18 +85,21 @@ before_script:
allow_failure: true
#-----------------------------------------------------------------------#
# Linux (AppImage) 64-bit Build Target #
# Linux (AppImage) amd64 Build Target #
#-----------------------------------------------------------------------#
"Linux 64 AppImage":
"Linux amd64 AppImage":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-64
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-amd64
tags:
- linux
- amd64
stage: build
script:
- export $(dpkg-architecture)
- ./scripts/build-appimage.sh
artifacts:
name: "${CI_PROJECT_NAME}_Linux_64_${CI_COMMIT_SHORT_SHA}"
name: "${CI_PROJECT_NAME}_Linux_amd64_${CI_COMMIT_SHORT_SHA}"
paths:
- OpenRGB-x86_64.AppImage
- 60-openrgb.rules
@ -98,127 +107,58 @@ before_script:
expire_in: 30 days
#-----------------------------------------------------------------------#
# Linux (.deb) Debian Buster (Legacy) 32-bit Build Target #
# Linux (AppImage) armhf Build Target #
#-----------------------------------------------------------------------#
"Linux 32 .deb (Debian Buster)":
"Linux armhf AppImage":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:buster-32
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-armhf
tags:
- linux
- armhf
stage: build
script:
- ./scripts/build-package-files.sh debian/changelog
- dpkg-architecture -l
- dpkg-buildpackage --target-arch i386 -us -B
- rm -v ../openrgb-dbgsym*.*deb
- mv -v ../openrgb*.deb ./
- export $(dpkg-architecture)
- ./scripts/build-appimage.sh
artifacts:
name: "${CI_PROJECT_NAME}_Linux_32_deb_${CI_COMMIT_SHORT_SHA}"
name: "${CI_PROJECT_NAME}_Linux_armhf_${CI_COMMIT_SHORT_SHA}"
paths:
- openrgb*.deb
exclude:
- openrgb-dbgsym*.*deb
- OpenRGB-armhf.AppImage
- 60-openrgb.rules
- README.md
expire_in: 30 days
rules:
- if: '$CI_PROJECT_PATH == "CalcProgrammer1/OpenRGB"'
when: on_success
- if: $CI_PIPELINE_SOURCE == "push"
when: manual
allow_failure: true
#-----------------------------------------------------------------------#
# Linux (.deb) Debian Buster (Legacy) 64-bit Build Target #
# Linux (AppImage) arm64 Build Target #
#-----------------------------------------------------------------------#
"Linux 64 .deb (Debian Buster)":
"Linux arm64 AppImage":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:buster-64
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-arm64
tags:
- linux
- arm64
stage: build
script:
- ./scripts/build-package-files.sh debian/changelog
- dpkg-architecture -l
- dpkg-buildpackage -us -B
- rm -v ../openrgb-dbgsym*.*deb
- mv -v ../openrgb*.deb ./
- export $(dpkg-architecture)
- ./scripts/build-appimage.sh
artifacts:
name: "${CI_PROJECT_NAME}_Linux_64_deb_${CI_COMMIT_SHORT_SHA}"
name: "${CI_PROJECT_NAME}_Linux_arm64_${CI_COMMIT_SHORT_SHA}"
paths:
- openrgb*.deb
exclude:
- openrgb-dbgsym*.*deb
- OpenRGB-arm64.AppImage
- 60-openrgb.rules
- README.md
expire_in: 30 days
rules:
- if: '$CI_PROJECT_PATH == "CalcProgrammer1/OpenRGB"'
when: on_success
- if: $CI_PIPELINE_SOURCE == "push"
when: manual
allow_failure: true
#-----------------------------------------------------------------------#
# Linux (.deb) Debian Bullseye 32-bit Build Target #
# Linux (.deb) Debian Bookworm i386 Build Target #
#-----------------------------------------------------------------------#
"Linux 32 .deb (Debian Bullseye)":
"Linux i386 .deb (Debian Bookworm)":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bullseye-32
stage: build
script:
- ./scripts/build-package-files.sh debian/changelog
- dpkg-architecture -l
- dpkg-buildpackage --target-arch i386 -us -B
- rm -v ../openrgb-dbgsym*.*deb
- mv -v ../openrgb*.deb ./
artifacts:
name: "${CI_PROJECT_NAME}_Linux_32_deb_${CI_COMMIT_SHORT_SHA}"
paths:
- openrgb*.deb
exclude:
- openrgb-dbgsym*.*deb
expire_in: 30 days
rules:
- if: '$CI_PROJECT_PATH == "CalcProgrammer1/OpenRGB"'
when: on_success
- if: $CI_PIPELINE_SOURCE == "push"
when: manual
allow_failure: true
#-----------------------------------------------------------------------#
# Linux (.deb) Debian Bullseye 64-bit Build Target #
#-----------------------------------------------------------------------#
"Linux 64 .deb (Debian Bullseye)":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bullseye-64
stage: build
script:
- ./scripts/build-package-files.sh debian/changelog
- dpkg-architecture -l
- dpkg-buildpackage -us -B
- rm -v ../openrgb-dbgsym*.*deb
- mv -v ../openrgb*.deb ./
artifacts:
name: "${CI_PROJECT_NAME}_Linux_64_deb_${CI_COMMIT_SHORT_SHA}"
paths:
- openrgb*.deb
exclude:
- openrgb-dbgsym*.*deb
expire_in: 30 days
rules:
- if: '$CI_PROJECT_PATH == "CalcProgrammer1/OpenRGB"'
when: on_success
- if: $CI_PIPELINE_SOURCE == "push"
when: manual
allow_failure: true
#-----------------------------------------------------------------------#
# Linux (.deb) Debian Bookworm 32-bit Build Target #
#-----------------------------------------------------------------------#
"Linux 32 .deb (Debian Bookworm)":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-32
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-i386
tags:
- linux
- i386
stage: build
script:
- ./scripts/build-package-files.sh debian/changelog
@ -228,7 +168,7 @@ before_script:
- mv -v ../openrgb*.deb ./
artifacts:
name: "${CI_PROJECT_NAME}_Linux_32_deb_${CI_COMMIT_SHORT_SHA}"
name: "${CI_PROJECT_NAME}_Linux_i386_deb_${CI_COMMIT_SHORT_SHA}"
paths:
- openrgb*.deb
exclude:
@ -243,11 +183,14 @@ before_script:
allow_failure: true
#-----------------------------------------------------------------------#
# Linux (.deb) Debian Bookworm 64-bit Build Target #
# Linux (.deb) Debian Bookworm amd64 Build Target #
#-----------------------------------------------------------------------#
"Linux 64 .deb (Debian Bookworm)":
"Linux amd64 .deb (Debian Bookworm)":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-64
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-amd64
tags:
- linux
- amd64
stage: build
script:
- ./scripts/build-package-files.sh debian/changelog
@ -257,7 +200,71 @@ before_script:
- mv -v ../openrgb*.deb ./
artifacts:
name: "${CI_PROJECT_NAME}_Linux_64_deb_${CI_COMMIT_SHORT_SHA}"
name: "${CI_PROJECT_NAME}_Linux_amd64_deb_${CI_COMMIT_SHORT_SHA}"
paths:
- openrgb*.deb
exclude:
- openrgb-dbgsym*.deb
expire_in: 30 days
rules:
- if: '$CI_PROJECT_PATH == "CalcProgrammer1/OpenRGB"'
when: on_success
- if: $CI_PIPELINE_SOURCE == "push"
when: manual
allow_failure: true
#-----------------------------------------------------------------------#
# Linux (.deb) Debian Bookworm armhf Build Target #
#-----------------------------------------------------------------------#
"Linux armhf .deb (Debian Bookworm)":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-armhf
tags:
- linux
- armhf
stage: build
script:
- ./scripts/build-package-files.sh debian/changelog
- dpkg-architecture -l
- dpkg-buildpackage -us -B
- rm -v ../openrgb-dbgsym*.deb
- mv -v ../openrgb*.deb ./
artifacts:
name: "${CI_PROJECT_NAME}_Linux_armhf_deb_${CI_COMMIT_SHORT_SHA}"
paths:
- openrgb*.deb
exclude:
- openrgb-dbgsym*.deb
expire_in: 30 days
rules:
- if: '$CI_PROJECT_PATH == "CalcProgrammer1/OpenRGB"'
when: on_success
- if: $CI_PIPELINE_SOURCE == "push"
when: manual
allow_failure: true
#-----------------------------------------------------------------------#
# Linux (.deb) Debian Bookworm arm64 Build Target #
#-----------------------------------------------------------------------#
"Linux arm64 .deb (Debian Bookworm)":
<<: *ccache_init
image: registry.gitlab.com/openrgbdevelopers/openrgb-linux-ci-deb-builder:bookworm-arm64
tags:
- linux
- arm64
stage: build
script:
- ./scripts/build-package-files.sh debian/changelog
- dpkg-architecture -l
- dpkg-buildpackage -us -B
- rm -v ../openrgb-dbgsym*.deb
- mv -v ../openrgb*.deb ./
artifacts:
name: "${CI_PROJECT_NAME}_Linux_arm64_deb_${CI_COMMIT_SHORT_SHA}"
paths:
- openrgb*.deb
exclude:
@ -307,73 +314,9 @@ before_script:
allow_failure: true
#-----------------------------------------------------------------------#
# Debian 32 Buster test #
# Debian i386 Bookworm test #
#-----------------------------------------------------------------------#
"Debian 32 Buster":
image: i386/debian:buster
stage: test
script:
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -yq --no-install-recommends ./openrgb*i386.deb
- openrgb --version
- apt remove -y openrgb
dependencies:
- "Linux 32 .deb (Debian Buster)"
needs:
- "Linux 32 .deb (Debian Buster)"
#-----------------------------------------------------------------------#
# Debian 64 Buster test #
#-----------------------------------------------------------------------#
"Debian 64 Buster":
image: amd64/debian:buster
stage: test
script:
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -yq --no-install-recommends ./openrgb*amd64.deb
- openrgb --version
- apt remove -y openrgb
dependencies:
- "Linux 64 .deb (Debian Buster)"
needs:
- "Linux 64 .deb (Debian Buster)"
#-----------------------------------------------------------------------#
# Debian 32 Bullseye test #
#-----------------------------------------------------------------------#
"Debian 32 Bullseye":
image: i386/debian:bullseye
stage: test
script:
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -yq --no-install-recommends ./openrgb*i386.deb
- openrgb --version
- apt remove -y openrgb
dependencies:
- "Linux 32 .deb (Debian Bullseye)"
needs:
- "Linux 32 .deb (Debian Bullseye)"
#-----------------------------------------------------------------------#
# Debian 64 Bullseye test #
#-----------------------------------------------------------------------#
"Debian 64 Bullseye":
image: amd64/debian:bullseye
stage: test
script:
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -yq --no-install-recommends ./openrgb*amd64.deb
- openrgb --version
- apt remove -y openrgb
dependencies:
- "Linux 64 .deb (Debian Bullseye)"
needs:
- "Linux 64 .deb (Debian Bullseye)"
#-----------------------------------------------------------------------#
# Debian 32 Bookworm test #
#-----------------------------------------------------------------------#
"Debian 32 Bookworm":
"Debian i386 Bookworm":
image: i386/debian:bookworm
stage: test
script:
@ -382,14 +325,14 @@ before_script:
- openrgb --version
- apt remove -y openrgb
dependencies:
- "Linux 32 .deb (Debian Bookworm)"
- "Linux i386 .deb (Debian Bookworm)"
needs:
- "Linux 32 .deb (Debian Bookworm)"
- "Linux i386 .deb (Debian Bookworm)"
#-----------------------------------------------------------------------#
# Debian 64 Bookworm test #
# Debian amd64 Bookworm test #
#-----------------------------------------------------------------------#
"Debian 64 Bookworm":
"Debian amd64 Bookworm":
image: amd64/debian:bookworm
stage: test
script:
@ -398,30 +341,14 @@ before_script:
- openrgb --version
- apt remove -y openrgb
dependencies:
- "Linux 64 .deb (Debian Bookworm)"
- "Linux amd64 .deb (Debian Bookworm)"
needs:
- "Linux 64 .deb (Debian Bookworm)"
- "Linux amd64 .deb (Debian Bookworm)"
#-----------------------------------------------------------------------#
# Ubuntu 64 20.04LTS test #
# Ubuntu amd64 22.04 test #
#-----------------------------------------------------------------------#
"Ubuntu 64 20.04LTS":
image: ubuntu:focal
stage: test
script:
- apt update
- DEBIAN_FRONTEND=noninteractive apt install -yq --no-install-recommends ./openrgb*amd64.deb
- openrgb --version
- apt remove -y openrgb
dependencies:
- "Linux 64 .deb (Debian Buster)"
needs:
- "Linux 64 .deb (Debian Buster)"
#-----------------------------------------------------------------------#
# Ubuntu 64 22.04 test #
#-----------------------------------------------------------------------#
"Ubuntu 64 22.04LTS":
"Ubuntu amd64 22.04LTS":
image: ubuntu:jammy
stage: test
script:
@ -430,9 +357,9 @@ before_script:
- openrgb --version
- apt remove -y openrgb
dependencies:
- "Linux 64 .deb (Debian Bookworm)"
- "Linux amd64 .deb (Debian Bookworm)"
needs:
- "Linux 64 .deb (Debian Bookworm)"
- "Linux amd64 .deb (Debian Bookworm)"
#-----------------------------------------------------------------------#
# Fedora 64 v40 test #

View file

@ -25,6 +25,13 @@ if [ ${DEB_HOST_ARCH:0:1} == ${DEB_HOST_GNU_CPU:0:1} ]; then
else
ARCH="$DEB_HOST_GNU_CPU"
fi
if [ "$ARCH" == "arm64" ]; then
ARCH_LINUXDEPLOY="aarch64"
else
ARCH_LINUXDEPLOY="$ARCH"
fi
echo Inputs: "$DEB_HOST_ARCH" "$DEB_HOST_GNU_CPU"
echo Calculated: "$ARCH"
@ -74,12 +81,12 @@ make install INSTALL_ROOT=AppDir
#-----------------------------------------------------------------------#
export QML_SOURCES_PATHS="$REPO_ROOT"/src
linuxdeploy-"$ARCH".AppImage --appdir AppDir -e "$TARGET" -i "$REPO_ROOT"/qt/org.openrgb.OpenRGB.png -d "$REPO_ROOT"/qt/org.openrgb.OpenRGB.desktop
linuxdeploy-plugin-qt-"$ARCH".AppImage --appdir AppDir
linuxdeploy-"$ARCH".AppImage --appdir AppDir --output appimage
linuxdeploy-"$ARCH_LINUXDEPLOY".AppImage --appdir AppDir -e "$TARGET" -i "$REPO_ROOT"/qt/org.openrgb.OpenRGB.png -d "$REPO_ROOT"/qt/org.openrgb.OpenRGB.desktop
linuxdeploy-plugin-qt-"$ARCH_LINUXDEPLOY".AppImage --appdir AppDir
linuxdeploy-"$ARCH_LINUXDEPLOY".AppImage --appdir AppDir --output appimage
#-----------------------------------------------------------------------#
# Move built AppImage & udev_rules back into original CWD #
#-----------------------------------------------------------------------#
mv -v "$BUILD_DIR"/60-openrgb.rules "$OLD_CWD"
mv -v "$TARGET"*.AppImage "$OLD_CWD"
mv -v "$TARGET"*.AppImage "$OLD_CWD/OpenRGB-$ARCH.AppImage"