Add release build for intel macOS #826
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v4 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v4 | |
with: | |
version: '5.14.2' | |
modules: 'qtcharts' | |
cache: 'true' | |
- name: Configure | |
run: qmake porymap.pro | |
- name: Compile | |
run: make | |
build-macos: | |
strategy: | |
matrix: | |
os: [macos-latest, macos-13] | |
runs-on: ${{ matrix.os }} | |
env: | |
BUILD_NAME: porymap-${{ matrix.os }}-${{ github.ref_name }} | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v4 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v4 | |
with: | |
version: '6.7.*' | |
modules: 'qtcharts' | |
cache: 'true' | |
- 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 $BUILD_NAME | |
cp porymap.dmg $BUILD_NAME/porymap.dmg | |
cp RELEASE-README.txt $BUILD_NAME/README.txt | |
- name: Bundle Release Directory | |
if: startsWith(github.ref, 'refs/tags/') | |
run: zip -r $BUILD_NAME.zip $BUILD_NAME | |
- name: Release | |
uses: softprops/action-gh-release@v2 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: $BUILD_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@v4 | |
- 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@v2 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: porymap-windows-${{ github.ref_name }}.zip | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |