Skip to content

Fix building issues of development branch, under macOS #177

Fix building issues of development branch, under macOS

Fix building issues of development branch, under macOS #177

name: Build Release
on:
push:
tags:
- "v*"
pull_request:
branches:
- "*"
jobs:
upload-release:
if: ${{ github.event_name != 'pull_request' }}
runs-on: ubuntu-18.04
needs: [build-mac, build-mac-arm, build-linux, build-windows, build-linux-portable, build-windows-portable]
steps:
- uses: actions/checkout@v1
- name: create release
id: create_release
uses: actions/create-release@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: download artifacts
uses: actions/download-artifact@v1
with:
name: uploads
- name: upload mac
id: upload-mac
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-mac.zip
asset_name: sioyek-release-mac.zip
asset_content_type: application/zip
- name: upload mac arm
id: upload-mac-arm
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-mac-arm.zip
asset_name: sioyek-release-mac-arm.zip
asset_content_type: application/zip
- name: upload linux
id: upload-linux
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-linux.zip
asset_name: sioyek-release-linux.zip
asset_content_type: application/zip
- name: upload windows
id: upload-windows
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-windows.zip
asset_name: sioyek-release-windows.zip
asset_content_type: application/zip
- name: upload linux-portable
id: upload-linux-portable
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-linux-portable.zip
asset_name: sioyek-release-linux-portable.zip
asset_content_type: application/zip
- name: upload windows-portable
id: upload-windows-portable
uses: actions/upload-release-asset@v1.0.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./uploads/sioyek-release-windows-portable.zip
asset_name: sioyek-release-windows-portable.zip
asset_content_type: application/zip
build-linux:
runs-on: ubuntu-18.04
steps:
- name: Cache apt-get packages
uses: actions/cache@v2
env:
cache-name: cache-deb-packages
with:
path: /var/cache/apt/archives
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Set up GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 9
platform: x64
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Install libharfbuzz
run: sudo apt install libharfbuzz-dev
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '5.15.2'
- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
run: MAKE_PARALLEL=$(nproc) ./build_and_release.sh
env:
CC: gcc-9
CXX: g++-9
- name: upload linux artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-linux.zip
- name: Workaround apt-get cache permission (https://github.com/actions/cache/issues/324)
run: |
export USER_NAME=$(whoami)
sudo chown -R $USER_NAME /var/cache/apt/archives
build-linux-portable:
runs-on: ubuntu-18.04
steps:
- name: Cache apt-get packages
uses: actions/cache@v2
env:
cache-name: cache-deb-packages
with:
path: /var/cache/apt/archives
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ github.sha }}-portable
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Set up GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 9
platform: x64
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Install libharfbuzz
run: sudo apt install libharfbuzz-dev
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '5.15.2'
- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
run: MAKE_PARALLEL=$(nproc) ./build_and_release.sh portable
env:
CC: gcc-9
CXX: g++-9
- name: upload linux artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-linux-portable.zip
- name: Workaround apt-get cache permission (https://github.com/actions/cache/issues/324)
run: |
export USER_NAME=$(whoami)
sudo chown -R $USER_NAME /var/cache/apt/archives
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Install Qt
uses: jurplel/install-qt-action@v2
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- name: Add msvc-dev-cmd
uses: ilammy/msvc-dev-cmd@v1
- name: Build Sioyek
working-directory: ${{env.GITHUB_WORKSPACE}}
run: .\build_windows.bat non_portable
- name: upload windows artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-windows.zip
build-windows-portable:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Install Qt
uses: jurplel/install-qt-action@v2
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- name: Add msvc-dev-cmd
uses: ilammy/msvc-dev-cmd@v1
- name: Build Sioyek
working-directory: ${{env.GITHUB_WORKSPACE}}
run: .\build_windows.bat portable
- name: upload windows artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-windows-portable.zip
build-mac:
runs-on: macos-11
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Cache Homebrew packages
uses: actions/cache@v2
env:
cache-name: homebrew
with:
path: ~/Library/Caches/Homebrew
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies
run: brew install freeglut mesa harfbuzz
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '5.15.2'
- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
chmod +x build_mac.sh
MAKE_PARALLEL=$(sysctl -n hw.logicalcpu) ./build_mac.sh
- name: upload mac artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-mac.zip
build-mac-arm:
runs-on: macos-11
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Cache Homebrew packages
uses: actions/cache@v2
env:
cache-name: homebrew
with:
path: ~/Library/Caches/Homebrew
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies
run: brew install freeglut mesa harfbuzz
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '6.2.*'
- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
chmod +x build_mac_arm.sh
MAKE_PARALLEL=$(sysctl -n hw.logicalcpu) ./build_mac_arm.sh
- name: upload mac artifact
uses: actions/upload-artifact@v1
with:
name: uploads
path: sioyek-release-mac-arm.zip