|
@@ -60,7 +60,11 @@ jobs:
|
|
|
strategy:
|
|
|
fail-fast: false
|
|
|
matrix:
|
|
|
- os: [ macos-10.15, windows-2022, ubuntu-20.04 ]
|
|
|
+ include:
|
|
|
+ - { os: macos-10.15, os_id: 'MacOS' }
|
|
|
+ - { os: windows-2022, os_id: 'Windows' }
|
|
|
+ - { os: ubuntu-20.04, os_id: 'Linux' }
|
|
|
+ - { os: ubuntu-22.04, os_id: 'Linux-latest' }
|
|
|
|
|
|
steps:
|
|
|
- name: Checkout
|
|
@@ -112,7 +116,7 @@ jobs:
|
|
|
- name: Install Linux system requirements
|
|
|
if: ${{ runner.os == 'Linux' }}
|
|
|
run: |
|
|
|
- sudo apt install build-essential checkinstall zlib1g-dev libssl-dev ninja-build autoconf libx11-dev libx11-xcb-dev libfontenc-dev libice-dev libsm-dev libxau-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev xtrans-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev xkb-data libxcb-dri3-dev uuid-dev libxcb-util-dev libxkbcommon-x11-dev -y
|
|
|
+ sudo apt install build-essential checkinstall libegl-dev zlib1g-dev libssl-dev ninja-build autoconf libx11-dev libx11-xcb-dev libfontenc-dev libice-dev libsm-dev libxau-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev libxxf86vm-dev xtrans-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-xkb-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-xinerama0-dev xkb-data libxcb-dri3-dev uuid-dev libxcb-util-dev libxkbcommon-x11-dev -y
|
|
|
wget --no-check-certificate --quiet https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O $GITHUB_WORKSPACE/appimagetool
|
|
|
chmod +x $GITHUB_WORKSPACE/appimagetool
|
|
|
echo "APPIMAGETOOL_LOCATION=$GITHUB_WORKSPACE/appimagetool" >> $GITHUB_ENV
|
|
@@ -167,35 +171,35 @@ jobs:
|
|
|
|
|
|
- name: Archive the artifacts (bash)
|
|
|
if: ${{ github.event.inputs.installer == 'false' && runner.os != 'Windows' }}
|
|
|
- run: tar -zcf "./Ultimaker-Cura-$CURA_VERSION_FULL-${{ runner.os }}-${{ runner.arch }}.tar.gz" "./Ultimaker-Cura/"
|
|
|
+ run: tar -zcf "./Ultimaker-Cura-$CURA_VERSION_FULL-${{ matrix.os_id }}-${{ runner.arch }}.tar.gz" "./Ultimaker-Cura/"
|
|
|
working-directory: dist
|
|
|
|
|
|
- name: Archive the artifacts (Powershell)
|
|
|
if: ${{ github.event.inputs.installer == 'false' && runner.os == 'Windows' }}
|
|
|
- run: Compress-Archive -Path ".\Ultimaker-Cura" -DestinationPath ".\Ultimaker-Cura-$Env:CURA_VERSION_FULL-${{ runner.os }}-${{ runner.arch }}.zip"
|
|
|
+ run: Compress-Archive -Path ".\Ultimaker-Cura" -DestinationPath ".\Ultimaker-Cura-$Env:CURA_VERSION_FULL-${{ matrix.os_id }}-${{ runner.arch }}.zip"
|
|
|
working-directory: dist
|
|
|
|
|
|
- name: Create the Windows exe installer (Powershell)
|
|
|
if: ${{ github.event.inputs.installer == 'true' && runner.os == 'Windows' }}
|
|
|
run: |
|
|
|
- python ..\cura_inst\packaging\NSIS\nsis-configurator.py ".\Ultimaker-Cura" "..\cura_inst\packaging\NSIS\Ultimaker-Cura.nsi.jinja" "Ultimaker Cura" "Ultimaker-Cura.exe" "$Env:CURA_VERSION_MAJOR" "$Env:CURA_VERSION_MINOR" "$Env:CURA_VERSION_PATCH" "$Env:CURA_VERSION_BUILD" "Ultimaker B.V." "https://ultimaker.com" "..\cura_inst\packaging\cura_license.txt" "LZMA" "..\cura_inst\packaging\NSIS\cura_banner_nsis.bmp" "..\cura_inst\packaging\icons\Cura.ico" "Ultimaker-Cura-$Env:CURA_VERSION_FULL-${{ runner.os }}-${{ runner.arch }}.exe"
|
|
|
+ python ..\cura_inst\packaging\NSIS\nsis-configurator.py ".\Ultimaker-Cura" "..\cura_inst\packaging\NSIS\Ultimaker-Cura.nsi.jinja" "Ultimaker Cura" "Ultimaker-Cura.exe" "$Env:CURA_VERSION_MAJOR" "$Env:CURA_VERSION_MINOR" "$Env:CURA_VERSION_PATCH" "$Env:CURA_VERSION_BUILD" "Ultimaker B.V." "https://ultimaker.com" "..\cura_inst\packaging\cura_license.txt" "LZMA" "..\cura_inst\packaging\NSIS\cura_banner_nsis.bmp" "..\cura_inst\packaging\icons\Cura.ico" "Ultimaker-Cura-$Env:CURA_VERSION_FULL-${{ matrix.os_id }}-${{ runner.arch }}.exe"
|
|
|
makensis /V2 /P4 Ultimaker-Cura.nsi
|
|
|
working-directory: dist
|
|
|
|
|
|
- name: Create the Linux AppImage (Bash)
|
|
|
if: ${{ github.event.inputs.installer == 'true' && runner.os == 'Linux' }}
|
|
|
- run: python ../cura_inst/packaging/AppImage/create_appimage.py ./Ultimaker-Cura $CURA_VERSION_FULL "Ultimaker-Cura-$CURA_VERSION_FULL-${{ runner.os }}-${{ runner.arch }}.AppImage"
|
|
|
+ run: python ../cura_inst/packaging/AppImage/create_appimage.py ./Ultimaker-Cura $CURA_VERSION_FULL "Ultimaker-Cura-$CURA_VERSION_FULL-${{ matrix.os_id }}-${{ runner.arch }}.AppImage"
|
|
|
working-directory: dist
|
|
|
|
|
|
- name: Create the MacOS dmg (Bash)
|
|
|
if: ${{ github.event.inputs.installer == 'true' && runner.os == 'Macos' }}
|
|
|
- run: python ../cura_inst/packaging/dmg/dmg_sign_noterize.py ../cura_inst . "Ultimaker-Cura-$CURA_VERSION_FULL-${{ runner.os }}-${{ runner.arch }}.dmg"
|
|
|
+ run: python ../cura_inst/packaging/dmg/dmg_sign_noterize.py ../cura_inst . "Ultimaker-Cura-$CURA_VERSION_FULL-${{ matrix.os_id }}-${{ runner.arch }}.dmg"
|
|
|
working-directory: dist
|
|
|
|
|
|
- name: Upload the artifacts
|
|
|
uses: actions/upload-artifact@v3
|
|
|
with:
|
|
|
- name: Ultimaker-Cura-${{ env.CURA_VERSION_FULL }}-${{ runner.os }}-${{ runner.arch }}
|
|
|
+ name: Ultimaker-Cura-${{ env.CURA_VERSION_FULL }}-${{ matrix.os_id }}-${{ runner.arch }}
|
|
|
path: |
|
|
|
dist/*.tar.gz
|
|
|
dist/*.zip
|
|
@@ -205,3 +209,16 @@ jobs:
|
|
|
dist/*.AppImage
|
|
|
dist/*.asc
|
|
|
retention-days: 2
|
|
|
+
|
|
|
+ notify-export:
|
|
|
+ if: ${{ always() }}
|
|
|
+ needs: [ cura-installer-create ]
|
|
|
+
|
|
|
+ uses: ultimaker/cura/.github/workflows/notify.yml@main
|
|
|
+ with:
|
|
|
+ success: ${{ contains(join(needs.*.result, ','), 'success') }}
|
|
|
+ success_title: "Create the Cura distributions"
|
|
|
+ success_body: "Installers for ${{ inputs.cura_conan_version }}"
|
|
|
+ failure_title: "Failed to create the Cura distributions"
|
|
|
+ failure_body: "Failed to create at least 1 installer for ${{ inputs.cura_conan_version }}"
|
|
|
+ secrets: inherit
|