161 lines
5.1 KiB
YAML
161 lines
5.1 KiB
YAML
name: Build Porymap
|
|
permissions:
|
|
contents: write
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
tags:
|
|
- '*'
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build-qt5-linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Cache Qt
|
|
id: cache-qt
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ../Qt
|
|
key: ${{ runner.os }}-QtCache
|
|
|
|
- name: Install Qt
|
|
uses: jurplel/install-qt-action@v2
|
|
with:
|
|
version: '5.14.2'
|
|
modules: 'qtwidgets qtqml qtcharts'
|
|
cached: ${{ steps.cache-qt.outputs.cache-hit }}
|
|
|
|
- name: Configure
|
|
run: qmake porymap.pro
|
|
|
|
- name: Compile
|
|
run: make
|
|
|
|
build-macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Cache Qt
|
|
id: cache-qt
|
|
uses: actions/cache@v1
|
|
with:
|
|
path: ../Qt
|
|
key: ${{ runner.os }}-QtCache
|
|
|
|
- name: Install Qt
|
|
uses: jurplel/install-qt-action@v3
|
|
with:
|
|
version: '6.7.*'
|
|
modules: 'qtcharts'
|
|
cached: ${{ steps.cache-qt.outputs.cache-hit }}
|
|
|
|
- name: Configure
|
|
run: qmake -config release porymap.pro
|
|
|
|
- name: Compile
|
|
run: make
|
|
|
|
- name: Create Disk Image
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
run: macdeployqt porymap.app -dmg
|
|
|
|
- name: Prep Release Directory
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
run: |
|
|
mkdir porymap-macOS-${{ github.ref_name }}
|
|
cp porymap.dmg porymap-macOS-${{ github.ref_name }}/porymap.dmg
|
|
cp RELEASE-README.txt porymap-macOS-${{ github.ref_name }}/README.txt
|
|
|
|
- name: Bundle Release Directory
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
run: zip -r porymap-macOS-${{ github.ref_name }}.zip porymap-macOS-${{ github.ref_name }}
|
|
|
|
- name: Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: porymap-macOS-${{ github.ref_name }}.zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build-static-windows:
|
|
runs-on: windows-latest
|
|
steps:
|
|
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
|
- uses: actions/checkout@v2
|
|
|
|
- uses: dsaltares/fetch-gh-release-asset@master
|
|
if: steps.cache-static-qt.outputs.cache-hit != 'true'
|
|
with:
|
|
repo: 'huderlem/porymap'
|
|
version: 'tags/qt-static-6.0.1-windows'
|
|
file: 'Qt-Static-Windows-mingw-6.0.1.zip'
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Unzip Static Qt
|
|
if: steps.cache-static-qt.outputs.cache-hit != 'true'
|
|
run: powershell.exe -Command "Expand-Archive -Path Qt-Static-Windows-mingw-6.0.1.zip -DestinationPath ../Qt"
|
|
|
|
- uses: dsaltares/fetch-gh-release-asset@master
|
|
with:
|
|
repo: 'huderlem/porymap'
|
|
version: 'tags/qt-static-6.0.1-windows'
|
|
file: 'mingw810_64.zip'
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Unzip mingw
|
|
run: powershell.exe -Command "Expand-Archive -Path mingw810_64.zip -DestinationPath ../mingw810_64"
|
|
|
|
- name: Add Qt Static to PATH
|
|
run: echo "$env:GITHUB_WORKSPACE/../Qt/6.0.1/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
|
|
|
- name: Add static config to .pro file
|
|
run: echo "CONFIG += qt static" >> porymap.pro
|
|
|
|
- name: Add static qmake flags to .pro file
|
|
run: echo "QMAKE_LFLAGS += -static-libgcc -static-libstdc++ -static -lwinpthread" >> porymap.pro
|
|
|
|
- name: Run Qmake
|
|
env:
|
|
QTDIR: ../Qt/6.0.1
|
|
run: qmake.exe -o Makefile porymap.pro -spec win32-g++ "CONFIG+=qtquickcompiler"
|
|
|
|
- name: Add mingw to PATH
|
|
run: echo "$env:GITHUB_WORKSPACE/../mingw810_64/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
|
|
|
- name: Compile
|
|
env:
|
|
QTDIR: ../Qt/6.0.1
|
|
run: mingw32-make.exe -j8
|
|
|
|
- name: Prep Release Directory
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
run: |
|
|
mkdir porymap-windows-${{ github.ref_name }}
|
|
cp release/porymap.exe porymap-windows-${{ github.ref_name }}/porymap.exe
|
|
cp RELEASE-README.txt porymap-windows-${{ github.ref_name }}/README.txt
|
|
|
|
- name: Bundle Release Directory
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
run: powershell.exe -Command "Compress-Archive -Path porymap-windows-${{ github.ref_name }} -DestinationPath porymap-windows-${{ github.ref_name }}.zip"
|
|
|
|
- name: Create Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: porymap-windows-${{ github.ref_name }}.zip
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|