Skip to content

Separate Layouts and Maps #649

Separate Layouts and Maps

Separate Layouts and Maps #649

Workflow file for this run

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'
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.2.*'
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 }}