Skip to content

chore: release: add tag name in AppImage filename #14

chore: release: add tag name in AppImage filename

chore: release: add tag name in AppImage filename #14

Workflow file for this run

name: autobuild
on:
push:
tags:
- "v*"
jobs:
win64-gui:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: false
install: git make pkg-config mingw-w64-x86_64-gcc mingw-w64-x86_64-ntldd-git mingw-w64-x86_64-qt5 mingw-w64-x86_64-jq zip
- run: git config --global core.autocrlf input
shell: bash
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: configure (debug)
run: ./configure --enable-debug
- name: make (debug)
run: nproc && make -j$(nproc)
- name: check executable (debug)
run: |
file gui/debug/qpxtool.exe | grep -q 'x86-64'
- name: configure (release)
run: make clean && ./configure
- name: make (release)
run: nproc && make -j$(nproc)
- name: check executable (release)
run: |
file gui/release/qpxtool.exe | grep -q 'x86-64'
- name: prepare dist
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
id: dist
- name: Release
uses: softprops/action-gh-release@v1
with:
files: ${{ steps.dist.outputs.archive }}
draft: true
win32-gui:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
msystem: MINGW32
update: false
install: git make pkg-config mingw-w64-i686-gcc mingw-w64-i686-ntldd-git mingw-w64-i686-qt5 mingw-w64-i686-jq zip
- run: git config --global core.autocrlf input
shell: bash
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: configure (debug)
run: ./configure --enable-debug
- name: make (debug)
run: nproc && make -j$(nproc)
- name: check executable (debug)
run: |
file gui/debug/qpxtool.exe | grep -q 'Intel 80386'
- name: configure (release)
run: make clean && ./configure
- name: make (release)
run: nproc && make -j$(nproc)
- name: check executable (release)
run: |
file gui/release/qpxtool.exe | grep -q 'Intel 80386'
- name: prepare dist
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
id: dist
- name: Release
uses: softprops/action-gh-release@v1
with:
files: ${{ steps.dist.outputs.archive }}
draft: true
linux64-appimage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: docker
run: |
mkdir /tmp/dist
docker run --device /dev/fuse --privileged --name uu -d -v $PWD:/code -v /tmp/dist:/dist ubuntu:16.04 sleep 900
- name: install prerequisites
run: docker exec uu sh -c 'apt-get update && apt-get install -y libfuse2 libglib2.0-0 qt5-default qtbase5-dev binutils g++ file qttools5-dev-tools make libpng12-dev gtk2-engines-pixbuf gtk2-engines pkg-config gnome-themes-standard libgtk2.0-dev'
- name: copy gtk libs
run: docker exec --user $UID uu sh -c 'install -d /dist/usr/lib/gtk-2.0 && cp -va $(pkg-config --variable=libdir gtk+-2.0)/gtk-2.0/$(pkg-config --variable=gtk_binary_version gtk+-2.0)/* /dist/usr/lib/gtk-2.0'
- name: configure
run: docker exec --user $UID uu sh -c 'cd /code && ./configure --prefix=/usr'
- name: make
run: docker exec --user $UID uu sh -c 'make -C /code -j2'
- name: make install
run: docker exec --user $UID uu sh -c "make -C /code install DESTDIR=/dist"
- name: get linuxdeploy
run: |
wget -q https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
chmod 755 linuxdeployqt-continuous-x86_64.AppImage
- name: build appimage
run: docker exec uu sh -c 'install /code/contrib/AppRun /dist/ && cd /dist && LD_LIBRARY_PATH=/dist/usr/lib64 /code/linuxdeployqt-continuous-x86_64.AppImage ./usr/share/applications/qpxtool.desktop -appimage -verbose=2'
- name: get appimage name
id: dist
run: |
archiveold=$(find /tmp/dist -type f -name "QPx*.AppImage")
tagname=$(echo "${{ github.ref }}" | grep -Eo '[^/]+$')
archivenew=$(echo "$archiveold" | sed -re "s/QPxTool-/QPxTool-$tagname-/")
mv -v "$archiveold" "$archivenew"
echo "archive=$archivenew" >> $GITHUB_OUTPUT
echo "appimage is <$archivenew>"
- name: Release
uses: softprops/action-gh-release@v1
with:
files: ${{ steps.dist.outputs.archive }}
draft: true