Skip to content

Commit

Permalink
Add preview release gihub workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
ahrm committed Apr 3, 2022
1 parent fe81559 commit 1d12d6a
Showing 1 changed file with 282 additions and 0 deletions.
282 changes: 282 additions & 0 deletions .github/workflows/preview_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,282 @@

name: Rolling Release

on:
push:
tags:
- "p*"

jobs:
upload-release:
runs-on: ubuntu-18.04
needs: [build-mac, 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.run_id }}
release_name: Release ${{ github.run_id }}
draft: false
prerelease: true
- name: download artifacts
uses: actions/download-artifact@v1
with:
name: uploads
- name: upload mac
id: upload-mac
uses: actions/[email protected]
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 linux
id: upload-linux
uses: actions/[email protected]
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/[email protected]
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/[email protected]
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/[email protected]
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.14.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.14.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/[email protected]
- 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/[email protected]
- 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-10.15

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.14.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

0 comments on commit 1d12d6a

Please sign in to comment.