improve macos bundle #80
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build and cpack | |
on: [ push, pull_request ] | |
jobs: | |
ubuntu-latest-nonx86: | |
runs-on: ubuntu-latest | |
name: Build on ${{ matrix.distro }} ${{ matrix.arch }} | |
strategy: | |
matrix: | |
include: | |
- arch: aarch64 | |
distro: ubuntu_latest | |
- arch: ppc64le | |
distro: ubuntu_latest | |
- arch: s390x | |
distro: ubuntu_latest | |
- arch: riscv64 | |
distro: ubuntu_latest | |
- arch: aarch64 | |
distro: fedora_latest | |
- arch: ppc64le | |
distro: fedora_latest | |
- arch: s390x | |
distro: fedora_latest | |
steps: | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT | |
- name: Get commit sha | |
id: git_sha | |
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT | |
- name: Set artifacts dir | |
id: artifacts | |
run: echo "artifacts=$(echo $PWD/artifacts)" >> $GITHUB_OUTPUT | |
- uses: actions/checkout@v3 | |
- uses: uraimo/run-on-arch-action@v2 | |
name: Run commands | |
id: configure-and-build | |
with: | |
arch: ${{ matrix.arch }} | |
distro: ${{ matrix.distro }} | |
# Not required, but speeds up builds | |
githubToken: ${{ github.token }} | |
setup: | | |
mkdir -p "${PWD}/artifacts" | |
dockerRunArgs: | | |
--volume "${PWD}/artifacts:/artifacts" | |
env: | | |
ARCH: ${{ matrix.arch }} | |
shell: /bin/bash | |
install: | | |
case "${{ matrix.distro }}" in | |
ubuntu*|jessie|stretch|buster|bullseye) | |
apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release | |
;; | |
fedora*) | |
yum update -y && yum install -yq binutils python3-nautilus qt5-qtbase-devel qt5-qttools rpm-build redhat-lsb | |
;; | |
esac | |
run: | | |
mkdir cmake-build-release && | |
cmake -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H. && | |
cmake --build cmake-build-release/ --target all && | |
[[ "$(lsb_release -i -s)" == "Ubuntu" ]] && export CPACK_FORMAT=DEB || export CPACK_FORMAT=RPM && | |
[[ "$(lsb_release -i -s)" == "Ubuntu" ]] && export PKG_FORMAT=deb || export PKG_FORMAT=rpm && | |
cd cmake-build-release && cpack -G ${CPACK_FORMAT} && cd .. && | |
cp ./VERSION.txt /artifacts && | |
export PKG_VER=$(cat ./VERSION.txt) && | |
cp ./cmake-build-release/Qldd-${PKG_VER}-${ARCH}.${PKG_FORMAT} /artifacts | |
- name: get-version | |
id: get-version | |
run: echo "prj_ver=$(cat ${PWD}/artifacts/VERSION.txt)" >> $GITHUB_OUTPUT | |
- name: Upload Qldd binary | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ format('Qldd-{0}.{1}-{2}', steps.get-version.outputs.prj_ver, matrix.distro, matrix.arch) }} | |
path: ${{ format('{0}/Qldd-{1}-{2}.???', steps.artifacts.outputs.artifacts ,steps.get-version.outputs.prj_ver, matrix.arch) }} | |
if-no-files-found: error | |
ubuntu-22-04: | |
runs-on: ubuntu-latest | |
name: Build on ${{ matrix.container }} x86_64 | |
strategy: | |
# | |
# matrix for containers | |
# | |
matrix: | |
container: | |
- ubuntu:22.04 | |
container: | |
image: ${{ matrix.container }} | |
steps: | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT | |
- name: Get commit sha | |
id: git_sha | |
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT | |
- uses: actions/checkout@v3 | |
# install dependencies | |
- name: devel-pkgs | |
run: apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release | |
# build project | |
- name: mkdir | |
run: mkdir cmake-build-release | |
- name: cmake cmake-build-release | |
run: cmake -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H. | |
- name: cmake make | |
run: cmake --build cmake-build-release/ --target all | |
env: | |
MAKEFLAGS: "-j2" | |
- name: get-version | |
id: get-version | |
run: echo "prj_ver=$(cat ./VERSION.txt)" >> $GITHUB_OUTPUT | |
- name: cpack | |
run: cd cmake-build-release && cpack -G DEB && cd .. | |
# upload artifact | |
- uses: mad9000/actions-find-and-replace-string@3 | |
id: container | |
with: | |
source: ${{ matrix.container }} | |
find: ':' # we want to remove : from container name | |
replace: '-' # and replace it with - | |
- name: Upload Qldd binary | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }} | |
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }} | |
ubuntu-20-04: | |
runs-on: ubuntu-latest | |
name: Build on ${{ matrix.container }} x86_64 | |
strategy: | |
# | |
# matrix for containers | |
# | |
matrix: | |
container: | |
- ubuntu:20.04 | |
container: | |
image: ${{ matrix.container }} | |
steps: | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT | |
- name: Get commit sha | |
id: git_sha | |
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT | |
- uses: actions/checkout@v3 | |
# install dependencies | |
- name: devel-pkgs | |
run: | | |
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && | |
apt-get update -y && apt-get install -yq python-nautilus binutils make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release | |
# build project | |
- name: mkdir | |
run: mkdir cmake-build-release | |
- name: cmake cmake-build-release | |
run: cmake -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H. | |
- name: cmake make | |
run: cmake --build cmake-build-release/ --target all | |
env: | |
MAKEFLAGS: "-j2" | |
- name: get-version | |
id: get-version | |
run: echo "prj_ver=$(cat ./VERSION.txt)" >> $GITHUB_OUTPUT | |
- name: cpack | |
run: cd cmake-build-release && cpack -G DEB && cd .. | |
# upload artifact | |
- uses: mad9000/actions-find-and-replace-string@3 | |
id: container | |
with: | |
source: ${{ matrix.container }} | |
find: ':' # we want to remove : from container name | |
replace: '-' # and replace it with - | |
- name: Upload Qldd binary | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }} | |
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }} | |
debian-bullseye: | |
runs-on: ubuntu-latest | |
name: Build on ${{ matrix.container }} x86_64 | |
strategy: | |
# | |
# matrix for containers | |
# | |
matrix: | |
container: | |
- debian:bullseye | |
container: | |
image: ${{ matrix.container }} | |
steps: | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT | |
- name: Get commit sha | |
id: git_sha | |
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT | |
- uses: actions/checkout@v3 | |
# install dependencies | |
- name: devel-pkgs | |
run: apt-get update -y && apt-get install -yq binutils python3-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release | |
# build project | |
- name: mkdir | |
run: mkdir cmake-build-release | |
- name: cmake cmake-build-release | |
run: cmake -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H. | |
- name: cmake make | |
run: cmake --build cmake-build-release/ --target all | |
env: | |
MAKEFLAGS: "-j2" | |
- name: get-version | |
id: get-version | |
run: echo "prj_ver=$(cat ./VERSION.txt)" >> $GITHUB_OUTPUT | |
- name: cpack | |
run: cd cmake-build-release && cpack -G DEB && cd .. | |
# upload artifact | |
- uses: mad9000/actions-find-and-replace-string@3 | |
id: container | |
with: | |
source: ${{ matrix.container }} | |
find: ':' # we want to remove : from container name | |
replace: '-' # and replace it with - | |
- name: Upload Qldd binary | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }} | |
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }} | |
debian-buster: | |
runs-on: ubuntu-latest | |
name: Build on ${{ matrix.container }} x86_64 | |
strategy: | |
# | |
# matrix for containers | |
# | |
matrix: | |
container: | |
- debian:buster | |
container: | |
image: ${{ matrix.container }} | |
steps: | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT | |
- name: Get commit sha | |
id: git_sha | |
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT | |
- uses: actions/checkout@v3 | |
# install dependencies | |
- name: devel-pkgs | |
run: apt-get update -y && apt-get install -yq binutils python-nautilus make cmake qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gcc g++ lsb-release | |
# build project | |
- name: mkdir | |
run: mkdir cmake-build-release | |
- name: cmake cmake-build-release | |
run: cmake -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H. | |
- name: cmake make | |
run: cmake --build cmake-build-release/ --target all | |
env: | |
MAKEFLAGS: "-j2" | |
- name: get-version | |
id: get-version | |
run: echo "prj_ver=$(cat ./VERSION.txt)" >> $GITHUB_OUTPUT | |
- name: cpack | |
run: cd cmake-build-release && cpack -G DEB && cd .. | |
# upload artifact | |
- uses: mad9000/actions-find-and-replace-string@3 | |
id: container | |
with: | |
source: ${{ matrix.container }} | |
find: ':' # we want to remove : from container name | |
replace: '-' # and replace it with - | |
- name: Upload Qldd binary | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }} | |
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }} | |
centos-latest: | |
runs-on: ubuntu-latest | |
name: Build on ${{ matrix.container }} x86_64 | |
strategy: | |
# | |
# matrix for containers | |
# | |
matrix: | |
container: | |
- centos:latest | |
container: | |
image: ${{ matrix.container }} | |
steps: | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT | |
- name: Get commit sha | |
id: git_sha | |
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT | |
- uses: actions/checkout@v3 | |
# install dependencies | |
- name: devel-pkgs | |
run: | | |
cd /etc/yum.repos.d/ && | |
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && | |
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && | |
cd / && | |
yum update -y && yum install -yq epel-next-release && | |
yum update -y && yum install -yq binutils python3-nautilus qt5-qtbase-devel qt5-qttools rpm-build redhat-lsb-core | |
# build project | |
- name: mkdir | |
run: mkdir cmake-build-release | |
- name: cmake cmake-build-release | |
run: cmake -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H. | |
- name: cmake make | |
run: cmake --build cmake-build-release/ --target all | |
env: | |
MAKEFLAGS: "-j2" | |
- name: get-version | |
id: get-version | |
run: echo "prj_ver=$(cat ./VERSION.txt)" >> $GITHUB_OUTPUT | |
- name: cpack | |
run: cd cmake-build-release && cpack -G RPM && cd .. | |
# upload artifact | |
- uses: mad9000/actions-find-and-replace-string@3 | |
id: container | |
with: | |
source: ${{ matrix.container }} | |
find: ':' # we want to remove : from container name | |
replace: '-' # and replace it with - | |
- name: Upload Qldd binary | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }} | |
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }} | |
fedora-latest: | |
runs-on: ubuntu-latest | |
name: Build on ${{ matrix.container }} x86_64 | |
strategy: | |
# | |
# matrix for containers | |
# | |
matrix: | |
container: | |
- fedora:latest | |
container: | |
image: ${{ matrix.container }} | |
steps: | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT | |
- name: Get commit sha | |
id: git_sha | |
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT | |
- uses: actions/checkout@v3 | |
# install dependencies | |
- name: devel-pkgs | |
run: yum update -y && yum install -yq binutils python3-nautilus qt5-qtbase-devel qt5-qttools rpm-build redhat-lsb | |
# build project | |
- name: mkdir | |
run: mkdir cmake-build-release | |
- name: cmake cmake-build-release | |
run: cmake -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H. | |
- name: cmake make | |
run: cmake --build cmake-build-release/ --target all | |
env: | |
MAKEFLAGS: "-j2" | |
- name: get-version | |
id: get-version | |
run: echo "prj_ver=$(cat ./VERSION.txt)" >> $GITHUB_OUTPUT | |
- name: cpack | |
run: cd cmake-build-release && cpack -G RPM && cd .. | |
# upload artifact | |
- uses: mad9000/actions-find-and-replace-string@3 | |
id: container | |
with: | |
source: ${{ matrix.container }} | |
find: ':' # we want to remove : from container name | |
replace: '-' # and replace it with - | |
- name: Upload Qldd binary | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ format('Qldd-{0}.{1}', steps.get-version.outputs.prj_ver, steps.container.outputs.value) }} | |
path: cmake-build-release/${{ format('Qldd-{0}-x86_64.???', steps.get-version.outputs.prj_ver) }} | |
macos-clang-cmake: | |
runs-on: macos-latest | |
name: Build on macos-latest x86_64 | |
steps: | |
- name: Get current date | |
id: date | |
run: echo "date=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_OUTPUT | |
- name: Get commit sha | |
id: git_sha | |
run: echo "git_sha=$(echo $GITHUB_SHA)" >> $GITHUB_OUTPUT | |
- uses: actions/checkout@v3 | |
# install dependencies | |
- name: brew-pkgs | |
run: brew install qt@5 | |
# build project | |
- name: mkdir | |
run: mkdir cmake-build-release | |
- name: cmake cmake-build-release | |
run: cmake -DCMAKE_PREFIX_PATH=$(brew --prefix)/opt/qt5 -DCOMMITTER_DATE="${{ steps.date.outputs.date }}" -DCOMMITTER_FULLSHA="${{ steps.git_sha.outputs.git_sha }}" -DCOMMITTER_SHORTSHA="$(echo ${{ steps.git_sha.outputs.git_sha }} | cut -c1-7)" -DCMAKE_BUILD_TYPE=Release -Bcmake-build-release -H. | |
- name: cmake make | |
run: cmake --build cmake-build-release/ --target all | |
env: | |
MAKEFLAGS: "-j2" | |
- name: get-version | |
id: get-version | |
run: echo "prj_ver=$(cat ./VERSION.txt)" >> $GITHUB_OUTPUT | |
- name: cpack | |
run: cd cmake-build-release && cpack -G DragNDrop && cd .. | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ format('Qldd-{0}-Darwin.dmg', steps.get-version.outputs.prj_ver) }} | |
path: cmake-build-release/${{ format('Qldd-{0}-Darwin.dmg', steps.get-version.outputs.prj_ver) }} | |