Files
flameshot/.github/workflows/Linux-arm-pack.yml
El Thoro 56ff36a77f Qt 6 - DEB/RPM Linux packaging (#4029)
* Deb packaging

* Deb packaging

* Deb packaging

* Update readme to Qt 6 (except Fedora yet)

* RPM

* Deb suggests

* Deb

* RPM

* RPM

* RPM

* Jammy patch

* Test jammy patch

* Revert "Jammy patch"

This reverts commit 640196666e57b409ef6d79681a0d0cbe44ccf73d.

* Revert "Test jammy patch"

This reverts commit bebff73e6c03ec435ec4878723302fa31370083a.

* Deb control: Alternative Build-Depends

* Fix RPM for KDSingleApplication

* Add build dependency libgl-dev explicit for Jammy (it is included for newer versions automatically)

* Add build dependency qt6-l10n-tools explicit for Jammy (it is included for newer versions automatically)

* Update DEB rules removing not needed files like in RPM .spec (663a056)

* DEB rules: Remove empty folders from package

* Add kguiaddon for Fedora and Arch

* DEB rules: Remove empty lib folder from package

* DEB rules: Remove include and lib folder from package

* Add missing dependencies
2025-07-04 14:00:18 -05:00

152 lines
5.0 KiB
YAML

name: Packaging(Linux - ARM)
on:
#push:
# branches:
# - master
# - fix*
# - move-arm-ci-to-new-ci
# paths-ignore:
# - 'README.md'
# - 'LICENSE'
# - 'docs/**'
workflow_dispatch:
env:
PRODUCT: flameshot
RELEASE: 1
# dockerfiles, see https://github.com/flameshot-org/flameshot-dockerfiles
# docker images, see https://quay.io/repository/flameshot-org/ci-building
DOCKER_REPO: quay.io/flameshot-org/ci-building
# building tool: https://github.com/flameshot-org/packpack
PACKPACK_REPO: flameshot-org/packpack
jobs:
deb-pack:
name: Build deb on ${{ matrix.dist.name }} ${{ matrix.dist.arch }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
dist:
# - {
# name: debian-11,
# os: debian,
# symbol: bullseye,
# arch: armhf
# }
- {
name: debian-12,
os: debian,
symbol: bookworm,
arch: arm64
}
- {
name: debian-12,
os: debian,
symbol: bookworm,
arch: armhf
}
- {
name: ubuntu-22.04,
os: ubuntu,
symbol: jammy,
arch: arm64
}
- {
name: ubuntu-24.04,
os: ubuntu,
symbol: noble,
arch: arm64
}
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Checkout Source code
if: github.event_name == 'push'
uses: actions/checkout@v4
with:
fetch-depth: 0
# ref: master
- name: Checkout Source code
if: github.event_name == 'pull_request'
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Checkout Source code
if: github.event_name == 'workflow_dispatch'
uses: actions/checkout@v4
with:
ref: ${{ github.sha }}
- name: Set env & Print flameshot version
shell: bash
run: |
last_committed_tag=$(git tag -l --sort=-v:refname | head -1)
git_revno=$(git rev-list $(git describe --tags --abbrev=0)..HEAD --count)
git_hash=$(git rev-parse --short HEAD)
ver_info=${last_committed_tag}+git${git_revno}.${git_hash}
echo "=======FLAMESHOT VERSION========"
echo ${last_committed_tag:1}
echo "Details: ${ver_info}"
echo "================================"
# This will allow to build pre-preleases without git tag
# echo "VERSION=${last_committed_tag:1}" >> $GITHUB_ENV
echo "VERSION=$(cat CMakeLists.txt |grep 'set.*(.*FLAMESHOT_VERSION' | sed 's/[^0-9.]*//' |sed 's/)//g')" >> $GITHUB_ENV
echo "VER_INFO=${ver_info}" >> $GITHUB_ENV
- name: Get packpack tool
uses: actions/checkout@v4
with:
repository: ${{ env.PACKPACK_REPO }}
path: tools
ref: multiarch
set-safe-directory: $GITHUB_WORKSPACE/tools
- name: Packaging on ${{ matrix.dist.name }} ${{ matrix.dist.arch }}
env:
OS: ${{ matrix.dist.os }}
DIST: ${{ matrix.dist.symbol }}
DOCKER_ARCH: ${{ matrix.dist.arch }}
run: |
case ${DOCKER_ARCH} in
arm32v7)
export ARCH=arm/v7
;;
armhf)
export ARCH=arm/v7
;;
arm64*)
export ARCH=arm64
;;
*)
export ARCH=${DOCKER_ARCH}
;;
esac
cp -r $GITHUB_WORKSPACE/packaging/debian $GITHUB_WORKSPACE
bash $GITHUB_WORKSPACE/tools/packpack
mv $GITHUB_WORKSPACE/build/${PRODUCT}_${VERSION}-${RELEASE}_${{ matrix.dist.arch }}.deb $GITHUB_WORKSPACE/build/${PRODUCT}-${VERSION}-${RELEASE}.${{ matrix.dist.name }}.${{ matrix.dist.arch }}.deb
- name: SHA256Sum of ${{ matrix.dist.name }} ${{ matrix.dist.arch }} package
run: |
cd "$GITHUB_WORKSPACE/build/" || { >&2 echo "Cannot cd to '$GITHUB_WORKSPACE/build/'!"; exit 11 ; }
sha256sum ${PRODUCT}-${VERSION}-${RELEASE}.${{ matrix.dist.name }}.${{ matrix.dist.arch }}.deb | tee ${PRODUCT}-${VERSION}-${RELEASE}.${{ matrix.dist.name }}.${{ matrix.dist.arch }}.deb.sha256sum
- name: Artifact Upload
uses: actions/upload-artifact@v4
with:
name: ${{ env.PRODUCT }}-${{ env.VER_INFO }}-artifact-${{ matrix.dist.name }}-${{ matrix.dist.arch }}
path: |
${{ github.workspace }}/build/${{ env.PRODUCT }}-*-${{ env.RELEASE }}.${{ matrix.dist.name }}.${{ matrix.dist.arch }}.deb
${{ github.workspace }}/build/${{ env.PRODUCT }}-*-${{ env.RELEASE }}.${{ matrix.dist.name }}.${{ matrix.dist.arch }}.deb.sha256sum
overwrite: true