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: strategy: matrix: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} 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-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 cp release/porymap.exe porymap-windows/porymap.exe cp RELEASE-README.txt porymap-windows/README.txt - name: Bundle Release Directory if: startsWith(github.ref, 'refs/tags/') run: powershell.exe -Command "Compress-Archive -Path porymap-windows -DestinationPath porymap-windows.zip" - name: Create Release uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: files: porymap-windows.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}