Skip to content

Commit

Permalink
Add a preview release github action
Browse files Browse the repository at this point in the history
  • Loading branch information
ahrm committed Sep 11, 2024
1 parent 277aed7 commit 7181c5a
Showing 1 changed file with 108 additions and 128 deletions.
236 changes: 108 additions & 128 deletions .github/workflows/preview_release.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@

name: Rolling Release
name: Preview Release

on:
push:
tags:
- "p*"
- "v*"
pull_request:
branches:
- "*"

workflow_dispatch:

jobs:
upload-release:
runs-on: ubuntu-18.04
needs: [build-mac, build-linux, build-windows, build-linux-portable, build-windows-portable]
if: ${{ (github.event_name == 'workflow_dispatch') || (github.event_name != 'pull_request') }}
runs-on: ubuntu-20.04
needs: [build-mac, build-mac-arm, build-linux, build-windows]

steps:
- uses: actions/checkout@v1
Expand All @@ -19,74 +25,64 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.run_id }}
release_name: Release ${{ github.run_id }}
tag_name: ${{ github.ref }}
release_name: Release ${{ github.sha }}
draft: false
prerelease: true
- name: download artifacts
uses: actions/download-artifact@v1
with:
name: uploads
uses: actions/download-artifact@v4
# 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_path: ./mac-uploads/sioyek-release-mac.zip
asset_name: sioyek-release-mac.zip
asset_content_type: application/zip

- name: upload linux
id: upload-linux
- 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-linux.zip
asset_name: sioyek-release-linux.zip
asset_path: ./mac-arm-uploads/sioyek-release-mac-arm.zip
asset_name: sioyek-release-mac-arm.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

- 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-portable.zip
asset_name: sioyek-release-linux-portable.zip
asset_path: ./linux-uploads/sioyek-release-linux.zip
asset_name: sioyek-release-linux.zip
asset_content_type: application/zip
- name: upload windows-portable
id: upload-windows-portable
- 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-portable.zip
asset_name: sioyek-release-windows-portable.zip
asset_path: ./windows-uploads/sioyek-release-windows.zip
asset_name: sioyek-release-windows.zip
asset_content_type: application/zip


build-linux:

runs-on: ubuntu-18.04
runs-on: ubuntu-20.04

steps:
- name: Cache apt-get packages
uses: actions/cache@v2
uses: actions/cache@v4
env:
cache-name: cache-deb-packages
with:
Expand All @@ -97,87 +93,44 @@ jobs:
${{ runner.os }}-build-
${{ runner.os }}-
- name: Set up GCC
uses: egor-tensin/setup-gcc@v1
- name: Install LinuxDeploy
uses: miurahr/install-linuxdeploy-action@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 }}-
plugins: qt appimage

- name: Set up GCC
uses: egor-tensin/setup-gcc@v1
with:
version: 9
platform: x64

- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: 'recursive'
ref: development

- name: Install libharfbuzz
run: sudo apt install libharfbuzz-dev
- name: Install dependencies
run: sudo apt install libharfbuzz-dev libxrandr-dev libxi-dev libglu1-mesa-dev fuse libxcb-cursor0 libspeechd2

- name: Install Qt
uses: jurplel/install-qt-action@v2
uses: jurplel/install-qt-action@v4
with:
version: '5.14.2'
version: '6.7.2'
modules: 'all'
cache: true

- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}

run: MAKE_PARALLEL=$(nproc) ./build_and_release.sh portable
run: MAKE_PARALLEL=$(nproc) ./linuxdeploy_build_and_release.sh
env:
CC: gcc-9
CXX: g++-9
- name: upload linux artifact
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: uploads
path: sioyek-release-linux-portable.zip
name: linux-uploads
path: sioyek-release-linux.zip
- name: Workaround apt-get cache permission (https://github.com/actions/cache/issues/324)
run: |
export USER_NAME=$(whoami)
Expand All @@ -188,15 +141,21 @@ jobs:
runs-on: windows-latest

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: 'recursive'
ref: development

- name: Install Qt
uses: jurplel/install-qt-action@v2
uses: jurplel/install-qt-action@v4
with:
version: '6.7.2'
modules: 'all'
cache: true

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2

- name: Add msvc-dev-cmd
uses: ilammy/msvc-dev-cmd@v1

Expand All @@ -206,77 +165,98 @@ jobs:
run: .\build_windows.bat non_portable

- name: upload windows artifact
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: uploads
name: windows-uploads
path: sioyek-release-windows.zip

build-windows-portable:
build-mac:

runs-on: windows-latest
runs-on: macos-13

steps:
- uses: actions/checkout@v2

- uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Install Qt
uses: jurplel/install-qt-action@v2
ref: development

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- name: Add msvc-dev-cmd
uses: ilammy/msvc-dev-cmd@v1

- name: Cache Homebrew packages
uses: actions/cache@v4
env:
cache-name: homebrew
with:
path: ~/Library/Caches/Homebrew
key: ${{ runner.os }}-intel-build-${{ env.cache-name }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-intel-build-${{ env.cache-name }}-
${{ runner.os }}-intel-build-
${{ runner.os }}-intel-
- name: Install dependencies
run: brew install freeglut mesa harfbuzz

- name: Build Sioyek
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.7.2'
modules: 'all'
cache: true

- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
run: .\build_windows.bat portable

- name: upload windows artifact
uses: actions/upload-artifact@v1
run: |
chmod +x build_mac.sh
MAKE_PARALLEL=$(sysctl -n hw.logicalcpu) ./build_mac.sh
- name: upload mac artifact
uses: actions/upload-artifact@v4
with:
name: uploads
path: sioyek-release-windows-portable.zip
name: mac-uploads
path: sioyek-release-mac.zip

build-mac:
build-mac-arm:

runs-on: macos-11
runs-on: macos-14

steps:

- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: 'recursive'
ref: development

- name: Cache Homebrew packages
uses: actions/cache@v2
uses: actions/cache@v4
env:
cache-name: homebrew
with:
path: ~/Library/Caches/Homebrew
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ github.sha }}
key: ${{ runner.os }}-arm-build-${{ env.cache-name }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
${{ runner.os }}-arm-build-${{ env.cache-name }}-
${{ runner.os }}-arm-build-
${{ runner.os }}-arm-
- name: Install dependencies
run: brew install freeglut mesa harfbuzz

- name: Install Qt
uses: jurplel/install-qt-action@v2
uses: jurplel/install-qt-action@v4
with:
version: '5.14.2'
version: '6.7.2'
modules: 'all'
cache: true

- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
chmod +x build_mac.sh
MAKE_PARALLEL=$(sysctl -n hw.logicalcpu) ./build_mac.sh
mv sioyek-release-mac.zip sioyek-release-mac-arm.zip
- name: upload mac artifact
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: uploads
path: sioyek-release-mac.zip
name: mac-arm-uploads
path: sioyek-release-mac-arm.zip

0 comments on commit 7181c5a

Please sign in to comment.