Skip to content

MacOS screenshot

MacOS screenshot #24

name: MacOS Qt6 Release
on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'
defaults:
run:
shell: bash
env:
SOURCE_DIR: ${{ github.workspace }}
QT_VERSION: 6.5.0
ARTIFACT: cbapi-qt-demo.dmg
jobs:
build:
runs-on: macos-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Qt
uses: jurplel/[email protected]
with:
version: ${{ env.QT_VERSION }}
modules: 'qt5compat'
setup-python: false
- name: Create build directory
run: mkdir ${{ env.SOURCE_DIR }}/build
- name: Create icons for MacOS
working-directory: ${{ env.SOURCE_DIR }}
run: |
input_filepath="img/qt-cbapi_1024.png"
output_iconset_name="icon.iconset"
mkdir $output_iconset_name
sips -z 16 16 $input_filepath --out "${output_iconset_name}/icon_16x16.png"
sips -z 32 32 $input_filepath --out "${output_iconset_name}/[email protected]"
sips -z 32 32 $input_filepath --out "${output_iconset_name}/icon_32x32.png"
sips -z 64 64 $input_filepath --out "${output_iconset_name}/[email protected]"
sips -z 128 128 $input_filepath --out "${output_iconset_name}/icon_128x128.png"
sips -z 256 256 $input_filepath --out "${output_iconset_name}/[email protected]"
sips -z 256 256 $input_filepath --out "${output_iconset_name}/icon_256x256.png"
sips -z 512 512 $input_filepath --out "${output_iconset_name}/[email protected]"
sips -z 512 512 $input_filepath --out "${output_iconset_name}/icon_512x512.png"
cp $input_filepath "${output_iconset_name}/icon_1024x1024.png"
iconutil -c icns $output_iconset_name
echo -e "\n---\nls icons directory: ${output_iconset_name}\n---\n"
ls ${output_iconset_name}
mv icon.icns cbapi-qt-demo.icns
echo -e "\n---\nls *.icns\n---\n"
ls *.icns
- name: Build
working-directory: ${{ env.SOURCE_DIR }}/build
run: |
qmake -r ${{ env.SOURCE_DIR }}/cbapi-qt-demo.pro -config debug
make -j 3
- name: Create DMG Package
working-directory: ${{ env.SOURCE_DIR }}/build
run: |
macdeployqt cbapi-qt-demo.app -dmg
echo -e "\n---\nls *.dmg\n---\n"
ls *.dmg
- name: Save build artifact
uses: actions/upload-artifact@master
with:
name: ${{ env.ARTIFACT }}
path: ${{ env.SOURCE_DIR }}/build/${{ env.ARTIFACT }}