name: build-release on: push: tags: - 'v*' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} jobs: update-release: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Delete Release run: | gh release delete ${{ github.ref_name }} -y || true - name: Create Release run: | gh release create ${{ github.ref_name }} --title "Release ${{ github.ref_name }}" --notes "The version is ready. You can see the changed log: https://github.com/qsaker/QtSwissArmyKnife/blob/master/resources/files/History.txt" release-for-windows: runs-on: windows-2019 needs: update-release steps: - name: Checkout uses: actions/checkout@v3 - name: Install Qt uses: jurplel/install-qt-action@v3 with: version: '6.5.3' target: 'desktop' arch: 'win64_msvc2019_64' dir: ${{ github.workspace }} modules: 'qtcharts qtserialbus qtserialport qtwebsockets' - name: Build for Windows shell: cmd run: | mkdir build cd build call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 cmake -DCMAKE_PREFIX_PATH='${{ github.workspace }}/Qt/6.5.3/win64_msvc2019_64/lib/cmake/Qt6' -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ../ cmake --build . --target QtSwissArmyKnife dir && dir .\sak && dir .\sak\QtSwissArmyKnife - name: Upload Release Asset for Windnows run: | dir && gh release upload ${{ github.ref_name }} 'build\sak\qtswissarmyknife-windows-amd64.zip' release-for-linux: runs-on: ubuntu-20.04 needs: update-release steps: - name: Checkout uses: actions/checkout@v3 - name: Install Qt uses: jurplel/install-qt-action@v3 with: version: '6.5.3' target: 'desktop' arch: 'gcc_64' dir: ${{ github.workspace }} modules: 'qtcharts qtserialbus qtserialport qtwebsockets' - name: install-dependencies run: | sudo apt-get install -y libxcb-xinerama0 libxcb-cursor-dev - name: Build for Linux run: | mkdir build cd build cmake ../ -DCMAKE_PREFIX_PATH='${{ github.workspace }}/Qt/6.5.3/gcc_64/lib/cmake/Qt6' -DCMAKE_BUILD_TYPE:STRING=Release -DSAK_ENABLE_LINUXDEPLOYQT:BOOL=TRUE -DSAK_ENABLE_LINUXDEPLOYQT_DOWNLOAD:BOOL=TRUE -G "Unix Makefiles" cmake --build . --target QtSwissArmyKnife dir && dir ./sak && dir ./sak/QtSwissArmyKnife - name: Upload Release Asset for Linux run: | dir && gh release upload ${{ github.ref_name }} 'build/qtswissarmyknife-linux-x86_64.AppImage' release-for-macos: runs-on: macos-11 needs: update-release steps: - name: Checkout uses: actions/checkout@v3 - name: Install Qt uses: jurplel/install-qt-action@v3 with: version: '6.5.3' target: 'desktop' arch: 'clang_64' dir: ${{ github.workspace }} modules: 'qtcharts qtserialbus qtserialport qtwebsockets' - name: Build for macOS # 278ERROR: no file at "/usr/local/opt/libiodbc/lib/libiodbc.2.dylib" # brew unlink unixodbc # brew install libiodbc # ERROR: no file at "/Applications/Postgres.app/Contents/Versions/14/lib/libpq.5.dylib" # ln -s /usr/local/Cellar/postgresql@14/14.10/lib/postgresql@14/libpq.5.14.dylib /Applications/Postgres.app/Contents/Versions/14/lib/libpq.5.dylib run: | # brew unlink unixodbc # brew install libiodbc mkdir -p /Applications/Postgres.app/Contents/Versions/14/lib ln -s /usr/local/Cellar/postgresql@14/14.10/lib/postgresql@14/libpq.5.14.dylib /Applications/Postgres.app/Contents/Versions/14/lib/libpq.5.dylib mkdir build cd build cmake ../ -DCMAKE_PREFIX_PATH='${{ github.workspace }}/Qt/6.5.3/clang_64/lib/cmake/Qt6' -DCMAKE_BUILD_TYPE:STRING=Release -G "Unix Makefiles" cmake --build . --target QtSwissArmyKnife ls && ls ./sak && ls ./sak/QtSwissArmyKnife - name: Upload Release Asset for macOS run: | ls && gh release upload ${{ github.ref_name }} 'build/sak/QtSwissArmyKnife/qtswissarmyknife-macos-11.dmg'