linux.yml 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. name: Linux Build
  2. on:
  3. push:
  4. tags:
  5. - 'v*' # run only on tags like v1.2.3
  6. permissions:
  7. contents: write
  8. jobs:
  9. build-linux:
  10. runs-on: ubuntu-22.04
  11. env:
  12. BUILD_TYPE: Release
  13. APP_NAME: standard_of_iron
  14. APP_DIR: build/bin
  15. steps:
  16. - uses: actions/checkout@v4
  17. # Qt (use either apt or install-qt-action; action ensures consistent Qt)
  18. - uses: jurplel/install-qt-action@v4
  19. with:
  20. version: '6.6.3'
  21. host: 'linux'
  22. arch: 'gcc_64'
  23. cache: true
  24. modules: 'qt5compat qtmultimedia'
  25. - name: Install build deps
  26. run: sudo apt-get update && sudo apt-get install -y ninja-build patchelf file rsync
  27. - name: Build
  28. run: ./scripts/build-linux.sh ${BUILD_TYPE} en
  29. - name: Package AppImage
  30. run: ./scripts/package-appimage.sh ${APP_NAME} ${APP_DIR} ui/qml
  31. - uses: actions/upload-artifact@v4
  32. with:
  33. name: linux-${{ env.BUILD_TYPE }}
  34. path: ./*.AppImage
  35. - name: Attach to GitHub Release
  36. uses: softprops/action-gh-release@v2
  37. if: startsWith(github.ref, 'refs/tags/')
  38. with:
  39. files: '*.AppImage'