mirror of
https://github.com/fergalmoran/flameshot.git
synced 2026-01-06 09:03:58 +00:00
feat: deb, rpm, appimage, flatpak, snap are all packed automatically
- support opensuse leap 15.2 - add appimage packing, packed with new tool - add flatpak packing - add snap packing
This commit is contained in:
committed by
borgmanJeremy
parent
eb7fcd660c
commit
fbdeccd065
167
.github/workflows/pack.yml
vendored
167
.github/workflows/pack.yml
vendored
@@ -13,9 +13,10 @@ env:
|
||||
ARCH: x86_64
|
||||
# dockerfiles, see https://github.com/flameshot-org/flameshot-docker-images
|
||||
# docker images, see https://hub.docker.com/r/vitzy/flameshot
|
||||
# vitzy/flameshot or packpack/packpack
|
||||
DOCKER_REPO: vitzy/flameshot
|
||||
# upload services: 0x0.st, file.io, transfer.sh, wetransfer.com
|
||||
UPLOAD_SERVICE: file.io
|
||||
UPLOAD_SERVICE: wetransfer.com
|
||||
|
||||
jobs:
|
||||
deb-pack:
|
||||
@@ -29,6 +30,7 @@ jobs:
|
||||
- name: Get packpack tool
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
# flameshot-org/packpack or packpack/packpack
|
||||
repository: flameshot-org/packpack
|
||||
path: tools
|
||||
- name: Pack on ${{ matrix.dist }}
|
||||
@@ -47,22 +49,27 @@ jobs:
|
||||
env:
|
||||
OS: ubuntu
|
||||
DIST: focal
|
||||
- name: Upload ${{ matrix.dist }} package for daily build
|
||||
- name: SHA256Sum of ${{ matrix.dist }} package(daily build)
|
||||
run: |
|
||||
TEMP_DOWNLOAD_URL=$(sh $GITHUB_WORKSPACE/scripts/upload_services/${UPLOAD_SERVICE}.sh $GITHUB_WORKSPACE/build/${PRODUCT}_${VERSION}-${RELEASE}_amd64.deb)
|
||||
echo Download URL is $TEMP_DOWNLOAD_URL.
|
||||
sha256sum $GITHUB_WORKSPACE/build/${PRODUCT}_${VERSION}-${RELEASE}_amd64.deb
|
||||
- name: Upload ${{ matrix.dist }} package(daily build)
|
||||
run: |
|
||||
echo "================${{ matrix.dist }} downlod link==============="
|
||||
echo $(sh $GITHUB_WORKSPACE/scripts/upload_services/${UPLOAD_SERVICE}.sh $GITHUB_WORKSPACE/build/${PRODUCT}_${VERSION}-${RELEASE}_amd64.deb)
|
||||
echo "=====no operation for you can see link in the log console====="
|
||||
|
||||
rpm-pack:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
dist: [fedora-31, fedora-32]
|
||||
dist: [fedora-31, fedora-32, opensuse-leap-15.2]
|
||||
steps:
|
||||
- name: Checkout Source code
|
||||
uses: actions/checkout@v2
|
||||
- name: Get packpack tool
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
# flameshot-org/packpack or packpack/packpack
|
||||
repository: flameshot-org/packpack
|
||||
path: tools
|
||||
- name: Pack on ${{ matrix.dist }}
|
||||
@@ -81,7 +88,151 @@ jobs:
|
||||
env:
|
||||
OS: fedora
|
||||
DIST: 32
|
||||
- name: Upload ${{ matrix.dist }} package for daily build
|
||||
- name: Pack on ${{ matrix.dist }}
|
||||
if: matrix.dist == 'opensuse-leap-15.2'
|
||||
run: |
|
||||
TEMP_DOWNLOAD_URL=$(sh $GITHUB_WORKSPACE/scripts/upload_services/${UPLOAD_SERVICE}.sh $GITHUB_WORKSPACE/build/${PRODUCT}-${VERSION}-${RELEASE}.fc*.${ARCH}.rpm)
|
||||
echo Download URL is $TEMP_DOWNLOAD_URL.
|
||||
cp -r $GITHUB_WORKSPACE/data/rpm $GITHUB_WORKSPACE
|
||||
bash $GITHUB_WORKSPACE/tools/packpack
|
||||
env:
|
||||
OS: opensuse-leap
|
||||
DIST: 15.2
|
||||
- name: SHA256Sum of ${{ matrix.dist }} package(daily build)
|
||||
if: startsWith(matrix.dist, 'fedora')
|
||||
run: |
|
||||
sha256sum $GITHUB_WORKSPACE/build/${PRODUCT}-${VERSION}-${RELEASE}.fc*.${ARCH}.rpm
|
||||
- name: SHA256Sum of ${{ matrix.dist }} package(daily build)
|
||||
if: startsWith(matrix.dist, 'opensuse-leap')
|
||||
run: |
|
||||
sha256sum $GITHUB_WORKSPACE/build/${PRODUCT}-${VERSION}-lp*.${ARCH}.rpm
|
||||
- name: Upload ${{ matrix.dist }} package(daily build)
|
||||
if: startsWith(matrix.dist, 'fedora')
|
||||
run: |
|
||||
echo "================${{ matrix.dist }} downlod link==============="
|
||||
echo $(sh $GITHUB_WORKSPACE/scripts/upload_services/${UPLOAD_SERVICE}.sh $GITHUB_WORKSPACE/build/${PRODUCT}-${VERSION}-${RELEASE}.fc*.${ARCH}.rpm)
|
||||
echo "=====no operation for you can see link in the log console====="
|
||||
- name: Upload ${{ matrix.dist }} package(daily build)
|
||||
if: startsWith(matrix.dist, 'opensuse-leap')
|
||||
run: |
|
||||
echo "================${{ matrix.dist }} downlod link==============="
|
||||
echo $(sh $GITHUB_WORKSPACE/scripts/upload_services/${UPLOAD_SERVICE}.sh $GITHUB_WORKSPACE/build/${PRODUCT}-${VERSION}-lp*.${ARCH}.rpm)
|
||||
echo "=====no operation for you can see link in the log console====="
|
||||
|
||||
appimage-pack:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout Source code
|
||||
uses: actions/checkout@v2
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt-get -y -qq update
|
||||
sudo apt-get -y --no-install-recommends install \
|
||||
cmake \
|
||||
extra-cmake-modules \
|
||||
build-essential \
|
||||
qt5-default \
|
||||
qt5-qmake \
|
||||
qttools5-dev-tools \
|
||||
qttools5-dev \
|
||||
libqt5dbus5 \
|
||||
libqt5network5 \
|
||||
libqt5core5a \
|
||||
libqt5widgets5 \
|
||||
libqt5gui5 \
|
||||
libqt5svg5-dev \
|
||||
appstream \
|
||||
fcitx-frontend-qt5 \
|
||||
openssl \
|
||||
ca-certificates
|
||||
- name: Get go-appimage tool
|
||||
# Will not use linuxdeployqt anymore, because it suopprt currently still-supported mainstream distribution,
|
||||
# which is glibc 2.23. For more information, please see https://github.com/probonopd/linuxdeployqt/issues/340.
|
||||
# Will try new tool https://github.com/probonopd/go-appimage written by golang.
|
||||
run: |
|
||||
wget -c https://github.com/$(wget -q https://github.com/probonopd/go-appimage/releases -O - \
|
||||
| grep "appimagetool-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2) -O appimagetool
|
||||
chmod +x appimagetool
|
||||
- name: Pack appimage
|
||||
run: |
|
||||
APPIMAGE_DST_PATH=$GITHUB_WORKSPACE/${PRODUCT}.AppDir
|
||||
mkdir -p ${APPIMAGE_DST_PATH}
|
||||
|
||||
cd $GITHUB_WORKSPACE
|
||||
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr
|
||||
make -j$(nproc) DESTDIR=${APPIMAGE_DST_PATH} install
|
||||
|
||||
$GITHUB_WORKSPACE/appimagetool -s deploy ${APPIMAGE_DST_PATH}/usr/share/applications/flameshot.desktop
|
||||
|
||||
mkdir -p ${APPIMAGE_DST_PATH}/usr/plugins/platforminputcontexts
|
||||
cp \
|
||||
/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so \
|
||||
${APPIMAGE_DST_PATH}/usr/plugins/platforminputcontexts/
|
||||
|
||||
cp \
|
||||
$GITHUB_WORKSPACE/data/img/app/flameshot.png \
|
||||
${APPIMAGE_DST_PATH}/
|
||||
|
||||
VERSION=${VERSION} $GITHUB_WORKSPACE/appimagetool ${APPIMAGE_DST_PATH}
|
||||
- name: SHA256Sum of AppImage package(daily build)
|
||||
run: |
|
||||
sha256sum $GITHUB_WORKSPACE/Flameshot-${VERSION}-x86_64.AppImage
|
||||
- name: Upload appimage package for daily build
|
||||
run: |
|
||||
echo "====================appimage downlod link====================="
|
||||
echo $(sh $GITHUB_WORKSPACE/scripts/upload_services/${UPLOAD_SERVICE}.sh $GITHUB_WORKSPACE/Flameshot-${VERSION}-x86_64.AppImage)
|
||||
echo "=====no operation for you can see link in the log console====="
|
||||
|
||||
flatpak-pack:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout Source code
|
||||
uses: actions/checkout@v2
|
||||
- name: Setup Flatpak
|
||||
run: |
|
||||
sudo apt-get -y -qq update
|
||||
sudo apt-get install -y flatpak flatpak-builder
|
||||
- name: Setup Flathub
|
||||
run: |
|
||||
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
flatpak install -y --noninteractive flathub org.kde.Sdk//5.15 org.kde.Platform//5.15
|
||||
- name: Pack flatpak
|
||||
run: |
|
||||
BUNDLE="org.flameshot.flameshot_${VERSION}_${ARCH}.flatpak"
|
||||
MANIFEST_PATH=$GITHUB_WORKSPACE/data/flatpak/org.flameshot.flameshot.yml
|
||||
RUNTIME_REPO="https://flathub.org/repo/flathub.flatpakrepo"
|
||||
APP_ID="org.flameshot.flameshot"
|
||||
BRANCH="master"
|
||||
|
||||
flatpak-builder --user --disable-rofiles-fuse --repo=repo --force-clean flatpak_app ${MANIFEST_PATH} --install-deps-from=flathub
|
||||
flatpak build-bundle repo ${BUNDLE} --runtime-repo=${RUNTIME_REPO} ${APP_ID} ${BRANCH}
|
||||
- name: SHA256Sum of Flatpak package(daily build)
|
||||
run: |
|
||||
sha256sum $GITHUB_WORKSPACE/org.flameshot.flameshot_${VERSION}_${ARCH}.flatpak
|
||||
- name: Upload flatpak package(daily build)
|
||||
run: |
|
||||
echo "=====================flatpak downlod link====================="
|
||||
echo $(sh $GITHUB_WORKSPACE/scripts/upload_services/${UPLOAD_SERVICE}.sh $GITHUB_WORKSPACE/org.flameshot.flameshot_${VERSION}_${ARCH}.flatpak)
|
||||
echo "=====no operation for you can see link in the log console====="
|
||||
|
||||
snap-pack:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Checkout Source code
|
||||
uses: actions/checkout@v2
|
||||
- name: Pack snap
|
||||
uses: snapcore/action-build@v1
|
||||
id: snapcraft
|
||||
with:
|
||||
path: data
|
||||
- name: Save built snap as an artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: snap
|
||||
path: ${{ steps.snapcraft.outputs.snap }}
|
||||
- name: SHA256Sum of Snap package(daily build)
|
||||
run: |
|
||||
sha256sum ${{ steps.snapcraft.outputs.snap }}
|
||||
- name: Upload snap package(daily build)
|
||||
run: |
|
||||
echo "=======================snap downlod link======================"
|
||||
echo $(sh $GITHUB_WORKSPACE/scripts/upload_services/${UPLOAD_SERVICE}.sh ${{ steps.snapcraft.outputs.snap }})
|
||||
echo "=====no operation for you can see link in the log console====="
|
||||
Reference in New Issue
Block a user