mirror of
https://github.com/fergalmoran/flameshot.git
synced 2026-02-07 02:54:02 +00:00
481 lines
20 KiB
YAML
481 lines
20 KiB
YAML
name: Packaging(Linux)
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- fix*
|
|
paths-ignore:
|
|
- 'README.md'
|
|
- 'LICENSE'
|
|
- 'docs/**'
|
|
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'README.md'
|
|
- 'LICENSE'
|
|
- 'docs/**'
|
|
- 'data/translations/*.ts'
|
|
|
|
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: amd64
|
|
# }
|
|
# - {
|
|
# name: debian-12,
|
|
# os: debian,
|
|
# symbol: bookworm,
|
|
# arch: amd64
|
|
# }
|
|
# - {
|
|
# name: ubuntu-22.04,
|
|
# os: ubuntu,
|
|
# symbol: jammy,
|
|
# arch: amd64
|
|
# }
|
|
# - {
|
|
# name: ubuntu-24.04,
|
|
# os: ubuntu,
|
|
# symbol: noble,
|
|
# arch: amd64
|
|
# }
|
|
#
|
|
# steps:
|
|
# - name: Set up Docker Buildx
|
|
# uses: docker/setup-buildx-action@v3
|
|
# - name: Set up QEMU
|
|
# uses: docker/setup-qemu-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: 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 "================================"
|
|
# echo "VERSION=${last_committed_tag:1}" >> $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 }}
|
|
# ## I cannot see if ARCH is used anywhere. Should we remove it?
|
|
# #ARCH: ${{ matrix.dist.arch }}
|
|
# run: |
|
|
# 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
|
|
#
|
|
# rpm-pack:
|
|
# name: Build rpm on ${{ matrix.dist.name }} ${{ matrix.dist.arch }}
|
|
# runs-on: ubuntu-latest
|
|
# strategy:
|
|
# fail-fast: false
|
|
# matrix:
|
|
# dist:
|
|
# - {
|
|
# name: fedora-41,
|
|
# os: fedora,
|
|
# symbol: 41,
|
|
# arch: x86_64
|
|
# }
|
|
# - {
|
|
# name: fedora-42,
|
|
# os: fedora,
|
|
# symbol: 42,
|
|
# arch: x86_64
|
|
# }
|
|
# - {
|
|
# name: opensuse-leap-15.6,
|
|
# os: opensuse-leap,
|
|
# symbol: 15.6,
|
|
# arch: x86_64
|
|
# }
|
|
# steps:
|
|
# - 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: 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 "================================"
|
|
# echo "VERSION=${last_committed_tag:1}" >> $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: master
|
|
# set-safe-directory: $GITHUB_WORKSPACE/tools
|
|
# - name: Packaging on ${{ matrix.dist.name }} ${{ matrix.dist.arch }}
|
|
# if: matrix.dist.os == 'fedora'
|
|
# run: |
|
|
# mkdir $GITHUB_WORKSPACE/rpm
|
|
# cp $GITHUB_WORKSPACE/packaging/rpm/fedora/flameshot.spec $GITHUB_WORKSPACE/rpm
|
|
# bash $GITHUB_WORKSPACE/tools/packpack
|
|
# env:
|
|
# OS: ${{ matrix.dist.os }}
|
|
# DIST: ${{ matrix.dist.symbol }}
|
|
# - name: Packaging on ${{ matrix.dist.name }} ${{ matrix.dist.arch }}
|
|
# if: matrix.dist.os == 'opensuse-leap'
|
|
# run: |
|
|
# mkdir $GITHUB_WORKSPACE/rpm
|
|
# cp $GITHUB_WORKSPACE/packaging/rpm/opensuse/flameshot.spec $GITHUB_WORKSPACE/rpm
|
|
# bash $GITHUB_WORKSPACE/tools/packpack
|
|
# env:
|
|
# OS: ${{ matrix.dist.os }}
|
|
# DIST: ${{ matrix.dist.symbol }}
|
|
# - name: Package Clean
|
|
# if: matrix.dist.os == 'fedora'
|
|
# run: |
|
|
# rm -f ${{ github.workspace }}/build/${{ env.PRODUCT }}-debuginfo-*.rpm
|
|
# rm -f ${{ github.workspace }}/build/${{ env.PRODUCT }}-debugsource-*.rpm
|
|
# rm -f ${{ github.workspace }}/build/${{ env.PRODUCT }}-*.src.rpm
|
|
# rm -f ${{ github.workspace }}/build/build.log
|
|
# - name: SHA256Sum of ${{ matrix.dist.name }} ${{ matrix.dist.arch }} package
|
|
# if: matrix.dist.os == 'fedora'
|
|
# run: |
|
|
# cd "$GITHUB_WORKSPACE/build/" || { >&2 echo "Cannot cd to '$GITHUB_WORKSPACE/build/'!"; exit 11 ; }
|
|
# sha256sum ${PRODUCT}-${VERSION}-${RELEASE}.fc*.${{ matrix.dist.arch }}.rpm | tee ${PRODUCT}-${VERSION}-${RELEASE}.fc${{ matrix.dist.symbol }}.${{ matrix.dist.arch }}.rpm.sha256sum
|
|
# - name: SHA256Sum of ${{ matrix.dist.name }} ${{ matrix.dist.arch }} package
|
|
# if: matrix.dist.os == 'opensuse-leap'
|
|
# run: |
|
|
# mv $GITHUB_WORKSPACE/build/${PRODUCT}-${VERSION}-lp*.${{ matrix.dist.arch }}.rpm $GITHUB_WORKSPACE/build/${PRODUCT}-${VERSION}-${RELEASE}-lp${{ matrix.dist.symbol }}.${{ matrix.dist.arch }}.rpm
|
|
# cd "$GITHUB_WORKSPACE/build/" || { >&2 echo "Cannot cd to '$GITHUB_WORKSPACE/build/'!"; exit 11 ; }
|
|
# sha256sum ${PRODUCT}-${VERSION}-${RELEASE}-lp${{ matrix.dist.symbol }}.${{ matrix.dist.arch }}.rpm | tee ${PRODUCT}-${VERSION}-${RELEASE}-lp${{ matrix.dist.symbol }}.${{ matrix.dist.arch }}.rpm.sha256sum
|
|
# - name: Artifact Upload
|
|
# if: matrix.dist.os == 'fedora'
|
|
# uses: actions/upload-artifact@v4
|
|
# with:
|
|
# name: ${{ env.PRODUCT }}-${{ env.VER_INFO }}-artifact-${{ matrix.dist.name }}-${{ matrix.dist.arch }}
|
|
# path: |
|
|
# ${{ github.workspace }}/build/
|
|
# overwrite: true
|
|
#
|
|
# - name: Artifact Upload
|
|
# if: matrix.dist.os == 'opensuse-leap'
|
|
# 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 }}-*-lp${{ matrix.dist.symbol }}.${{ matrix.dist.arch }}.rpm
|
|
# ${{ github.workspace }}/build/${{ env.PRODUCT }}-*-lp${{ matrix.dist.symbol }}.${{ matrix.dist.arch }}.rpm.sha256sum
|
|
# overwrite: true
|
|
#
|
|
# appimage-pack:
|
|
# name: Build appimage on ${{ matrix.config.name }}
|
|
# runs-on: ubuntu-latest
|
|
# strategy:
|
|
# fail-fast: false
|
|
# matrix:
|
|
# config:
|
|
# - {
|
|
# name: ubuntu-22.04,
|
|
# os: ubuntu,
|
|
# symbol: jammy,
|
|
# arch: amd64,
|
|
# image_repo: quay.io/flameshot-org/ci-building
|
|
# }
|
|
# container:
|
|
# image: ${{ matrix.config.image_repo }}:${{ matrix.config.os }}-${{ matrix.config.symbol }}
|
|
# options: --cap-add SYS_ADMIN --device /dev/fuse --security-opt apparmor:unconfined
|
|
# steps:
|
|
# - name:
|
|
# shell: bash
|
|
# run: |
|
|
# git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
|
#
|
|
# - 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: 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 "================================"
|
|
# echo "VERSION=${last_committed_tag:1}" >> $GITHUB_ENV
|
|
# echo "VER_INFO=${ver_info}" >> $GITHUB_ENV
|
|
# - name: Install Dependencies
|
|
# run: |
|
|
# sudo apt-get -y -qq update
|
|
# sudo apt-get -y --no-install-recommends install \
|
|
# python3 \
|
|
# python3-pip \
|
|
# fuse \
|
|
# patchelf \
|
|
# cmake \
|
|
# extra-cmake-modules \
|
|
# build-essential \
|
|
# qt5-qmake \
|
|
# qtbase5-dev \
|
|
# qtbase5-dev-tools \
|
|
# qttools5-dev-tools \
|
|
# qttools5-dev \
|
|
# libqt5dbus5 \
|
|
# libqt5network5 \
|
|
# libqt5core5a \
|
|
# libqt5widgets5 \
|
|
# libqt5gui5 \
|
|
# libqt5svg5-dev \
|
|
# appstream \
|
|
# hicolor-icon-theme \
|
|
# fcitx-frontend-qt5 \
|
|
# openssl \
|
|
# ca-certificates \
|
|
# jq
|
|
#
|
|
# - name: Get go-appimage tool
|
|
# # Will not use linuxdeployqt anymore, because it suopprts 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 in golang by probonopd.
|
|
# run: |
|
|
# wget $(curl https://api.github.com/repos/probonopd/go-appimage/releases | jq -r '.[] | select(.tag_name == "continuous") | .assets[] | select((.name | endswith("x86_64.AppImage")) and (.name | contains("appimagetool"))) | .browser_download_url') -O appimagetool
|
|
#
|
|
# chmod +x appimagetool
|
|
# env:
|
|
# APPIMAGETOOL_ARCH: x86_64
|
|
# - name: Packaging appimage
|
|
# run: |
|
|
# set -x
|
|
# APPIMAGE_DST_PATH=$GITHUB_WORKSPACE/${PRODUCT}.AppDir
|
|
# mkdir -p ${APPIMAGE_DST_PATH}
|
|
#
|
|
# cd $GITHUB_WORKSPACE
|
|
# cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr -DUSE_LAUNCHER_ABSOLUTE_PATH:BOOL=OFF
|
|
# make -j$(nproc) DESTDIR=${APPIMAGE_DST_PATH} install
|
|
#
|
|
# $GITHUB_WORKSPACE/appimagetool -s deploy "${APPIMAGE_DST_PATH}/usr/share/applications/org.flameshot.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/org.flameshot.Flameshot.png \
|
|
# ${APPIMAGE_DST_PATH}/
|
|
#
|
|
# if [ -f "${APPIMAGE_DST_PATH}/lib/x86_64-linux-gnu/libxcb-glx.so.0" ]; then
|
|
# rm ${APPIMAGE_DST_PATH}/lib/x86_64-linux-gnu/libxcb-glx.so.0
|
|
# fi
|
|
#
|
|
# chmod +x ${APPIMAGE_DST_PATH}/usr/lib64/ld-*.so.*
|
|
#
|
|
#
|
|
# VERSION=${VERSION} $GITHUB_WORKSPACE/appimagetool "${APPIMAGE_DST_PATH}"
|
|
# mv $GITHUB_WORKSPACE/Flameshot-${VERSION}-x86_64.AppImage $GITHUB_WORKSPACE/Flameshot-${VERSION}.x86_64.AppImage
|
|
#
|
|
#
|
|
# - name: SHA256Sum of appimage package
|
|
# run: |
|
|
# cd "$GITHUB_WORKSPACE/" || { >&2 echo "Cannot cd to '$GITHUB_WORKSPACE/'!"; exit 11 ; }
|
|
# sha256sum Flameshot-${VERSION}.x86_64.AppImage | tee Flameshot-${VERSION}.x86_64.AppImage.sha256sum
|
|
# - name: Artifact Upload
|
|
# uses: actions/upload-artifact@v4
|
|
# with:
|
|
# name: ${{ env.PRODUCT }}-${{ env.VER_INFO }}-artifact-appimage-x86_64
|
|
# path: |
|
|
# ${{ github.workspace }}/Flameshot-*.x86_64.AppImage
|
|
# ${{ github.workspace }}/Flameshot-*.x86_64.AppImage.sha256sum
|
|
# overwrite: true
|
|
#
|
|
flatpak-pack:
|
|
name: Build flatpak on ubuntu 24.04
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- 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: 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 "================================"
|
|
echo "VERSION=${last_committed_tag:1}" >> $GITHUB_ENV
|
|
echo "VER_INFO=${ver_info}" >> $GITHUB_ENV
|
|
- 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: Packaging flatpak
|
|
run: |
|
|
BUNDLE="org.flameshot.Flameshot_${VERSION}_x86_64.flatpak"
|
|
MANIFEST_PATH=$GITHUB_WORKSPACE/packaging/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}
|
|
mv $GITHUB_WORKSPACE/org.flameshot.Flameshot_${VERSION}_x86_64.flatpak $GITHUB_WORKSPACE/org.flameshot.Flameshot-${VERSION}.x86_64.flatpak
|
|
- name: SHA256Sum of flatpak package
|
|
run: |
|
|
cd "$GITHUB_WORKSPACE/" || { >&2 echo "Cannot cd to '$GITHUB_WORKSPACE/'!"; exit 11 ; }
|
|
sha256sum org.flameshot.Flameshot-${VERSION}.x86_64.flatpak | tee org.flameshot.Flameshot-${VERSION}.x86_64.flatpak.sha256sum
|
|
- name: Artifact Upload
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ env.PRODUCT }}-${{ env.VER_INFO }}-artifact-flatpak-x86_64
|
|
path: |
|
|
${{ github.workspace }}/org.flameshot.Flameshot-*.x86_64.flatpak
|
|
${{ github.workspace }}/org.flameshot.Flameshot-*.x86_64.flatpak.sha256sum
|
|
overwrite: true
|
|
|
|
snap-pack:
|
|
name: Build snap on ubuntu latest
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- 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: 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 "================================"
|
|
echo "VERSION=${last_committed_tag:1}" >> $GITHUB_ENV
|
|
echo "VER_INFO=${ver_info}" >> $GITHUB_ENV
|
|
- name: Packaging snap
|
|
uses: snapcore/action-build@v1
|
|
id: snapcraft
|
|
|
|
- name: Rename snap name
|
|
shell: bash
|
|
run: |
|
|
mkdir -p $GITHUB_WORKSPACE/build
|
|
cp ${{ steps.snapcraft.outputs.snap }} $GITHUB_WORKSPACE/build/${PRODUCT}-${VERSION}-${RELEASE}.amd64.snap
|
|
- name: SHA256Sum of snap package
|
|
run: |
|
|
cd "$GITHUB_WORKSPACE/build/" || { >&2 echo "Cannot cd to '$GITHUB_WORKSPACE/build/'!"; exit 11 ; }
|
|
sha256sum ${PRODUCT}-${VERSION}-${RELEASE}.amd64.snap | tee ${PRODUCT}-${VERSION}-${RELEASE}.amd64.snap.sha256sum
|
|
- name: Artifact Upload
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ env.PRODUCT }}-${{ env.VER_INFO }}-artifact-snap-x86_64
|
|
path: |
|
|
${{ github.workspace }}/build/${{ env.PRODUCT }}-*-${{ env.RELEASE }}.amd64.snap
|
|
${{ github.workspace }}/build/${{ env.PRODUCT }}-*-${{ env.RELEASE }}.amd64.snap.sha256sum
|
|
overwrite: true
|