From 085868d6928fc8d88390dff9bfaf2db6c49c5d2e Mon Sep 17 00:00:00 2001 From: "j.spijker@ultimaker.com" Date: Fri, 1 Jul 2022 10:31:09 +0200 Subject: [PATCH 1/6] Copy the packaging scripts/resources and set GH env Contributes to CURA-9365 --- conanfile.py | 19 +++++++++++++++++++ packaging/NSIS/cura_banner_nsis.bmp | Bin 0 -> 206040 bytes 2 files changed, 19 insertions(+) create mode 100644 packaging/NSIS/cura_banner_nsis.bmp diff --git a/conanfile.py b/conanfile.py index b262fa89da..9bf3ac2cfa 100644 --- a/conanfile.py +++ b/conanfile.py @@ -302,9 +302,28 @@ class CuraConan(ConanFile): self.copy_deps("*.pyi", src = "@libdirs", dst = self._site_packages) self.copy_deps("*.dylib", src = "@libdirs", dst = self._script_dir) + # Copy packaging scripts + self.copy("*", src = self.cpp_info.resdirs[2], dst = self._base_dir.joinpath("packaging")) + # Copy requirements.txt's self.copy("*.txt", src = self.cpp_info.resdirs[-1], dst = self._base_dir.joinpath("pip_requirements")) + # Generate the GitHub Action version info Environment + cura_version = tools.Version(self.version) + env_prefix = "Env:" if self.settings.os == "Windows" else "" + activate_github_actions_version_env = Template(r"""echo "{{ CURA_VERSION_MAJOR }}={{ cura_version_major }}" >> ${{ env_prefix }}GITHUB_ENV +echo "{{ CURA_VERSION_MINOR }}={{ cura_version_minor }}" >> ${{ env_prefix }}GITHUB_ENV +echo "{{ CURA_VERSION_PATCH }}={{ cura_version_patch }}" >> ${{ env_prefix }}GITHUB_ENV +echo "{{ CURA_VERSION_BUILD }}={{ cura_version_build }}" >> ${{ env_prefix }}GITHUB_ENV +echo "{{ CURA_VERSION_FULL }}={{ cura_version_full }}" >> ${{ env_prefix }}GITHUB_ENV + """).render(cura_version_major = cura_version.major, + cura_version_minor = cura_version.minor, + cura_version_patch = cura_version.patch, + cura_version_build = cura_version.build, + cura_version_full = self.version, + env_prefix = env_prefix) + files.save(self, self._script_dir, activate_github_actions_version_env) + self._generate_cura_version(Path(self._site_packages, "cura")) entitlements_file = "'{}'".format(Path(self.cpp_info.res_paths[2], "dmg", "cura.entitlements")) diff --git a/packaging/NSIS/cura_banner_nsis.bmp b/packaging/NSIS/cura_banner_nsis.bmp new file mode 100644 index 0000000000000000000000000000000000000000..8643510664da4e6b45190778be04464b14098a18 GIT binary patch literal 206040 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 Date: Fri, 1 Jul 2022 10:31:58 +0200 Subject: [PATCH 2/6] Copy the Cura Installer workflow And use the nsis step Contributes to CURA-9365 --- .github/workflows/cura-installer.yml | 171 +++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 .github/workflows/cura-installer.yml diff --git a/.github/workflows/cura-installer.yml b/.github/workflows/cura-installer.yml new file mode 100644 index 0000000000..947e0a4084 --- /dev/null +++ b/.github/workflows/cura-installer.yml @@ -0,0 +1,171 @@ +name: Cura Installer + +on: + workflow_dispatch: + inputs: + cura_conan_version: + description: 'Cura Conan Version' + # Fixme: default to cura/latest@testing (which is main) + default: 'cura/latest@ultimaker/stable' + required: true + conan_config: + description: 'Conan config branch to use' + default: '' + required: false + enterprise: + description: 'Build Cura as an Enterprise edition' + required: true + default: false + type: boolean + staging: + description: 'Use staging API' + required: true + default: false + type: boolean + installer: + description: 'Create the installer' + required: true + default: false + type: boolean + +# Run the nightly at 5:25 UTC on working days + schedule: + - cron: '25 3 * * 1-5' + +env: + CONAN_LOGIN_USERNAME_CURA: ${{ secrets.CONAN_USER }} + CONAN_PASSWORD_CURA: ${{ secrets.CONAN_PASS }} + CONAN_LOGIN_USERNAME_CURA_CE: ${{ secrets.CONAN_USER }} + CONAN_PASSWORD_CURA_CE: ${{ secrets.CONAN_PASS }} + CONAN_LOG_RUN_TO_OUTPUT: 1 + CONAN_LOGGING_LEVEL: ${{ inputs.conan_logging_level }} + CONAN_NON_INTERACTIVE: 1 + CODESIGN_IDENTITY: ${{ secrets.CODESIGN_IDENTITY }} + NOTARIZE_USER: ${{ secrets.NOTARIZE_USER }} + NOTARIZE_PASSWORD: ${{ secrets.NOTARIZE_PASSWORD }} + +jobs: + cura-installer-create: + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + os: [ macos-10.15, windows-2022, ubuntu-20.04 ] + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Python and pip + uses: actions/setup-python@v4 + with: + python-version: '3.10.4' + cache: 'pip' + cache-dependency-path: .github/workflows/requirements-conan-package.txt + + - name: Install Python requirements and Create default Conan profile + run: | + pip install -r .github/workflows/requirements-conan-package.txt + conan profile new default --detect + + - name: Use Conan download cache (Bash) + if: ${{ runner.os != 'Windows' }} + run: conan config set storage.download_cache="$HOME/.conan/conan_download_cache" + + - name: Use Conan download cache (Powershell) + if: ${{ runner.os == 'Windows' }} + run: conan config set storage.download_cache="C:\Users\runneradmin\.conan\conan_download_cache" + + - name: Cache Conan local repository packages (Bash) + uses: actions/cache@v3 + if: ${{ runner.os != 'Windows' }} + with: + path: | + $HOME/.conan/data + $HOME/.conan/conan_download_cache + key: conan-${{ runner.os }}-${{ runner.arch }} + + - name: Cache Conan local repository packages (Powershell) + uses: actions/cache@v3 + if: ${{ runner.os == 'Windows' }} + with: + path: | + C:\Users\runneradmin\.conan\data + C:\.conan + C:\Users\runneradmin\.conan\conan_download_cache + key: conan-${{ runner.os }}-${{ runner.arch }} + + - name: Install MacOS system requirements + if: ${{ runner.os == 'Macos' }} + run: brew install autoconf automake ninja + + - 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 -y + + - name: Clean Conan local cache + if: ${{ inputs.conan_clean_local_cache }} + run: conan remove "*" -f + + - name: Get Conan configuration from branch + if: ${{ inputs.conan_config_branch != '' }} + run: conan config install https://github.com/Ultimaker/conan-config.git -a "-b ${{ inputs.conan_config_branch }}" + + - name: Get Conan configuration + if: ${{ inputs.conan_config_branch == '' }} + run: conan config install https://github.com/Ultimaker/conan-config.git + + - name: Create the Packages + run: conan install ${{ inputs.cura_conan_version }} --build=missing --update -c tools.env.virtualenv:powershell=True -if cura_inst -g VirtualPythonEnv -o cura:enterprise=${{ inputs.enterprise }} -o cura:staging=${{ inputs.staging }} + + - name: Upload the Package(s) + if: always() + run: | + conan upload "*" -r cura --all -c + conan upload "*" -r cura-ce -c + + - name: Set Environment variables for Cura (bash) + if: ${{ runner.os != 'Windows' }} + run: | + . ./cura_inst/bin/activate_github_actions_env.sh + . ./cura_inst/bin/activate_github_actions_version_env.sh + + - name: Set Environment variables for Cura (Powershell) + if: ${{ runner.os == 'Windows' }} + run: | + .\cura_inst\Scripts\activate_github_actions_env.ps1 + .\cura_inst\Scripts\activate_github_actions_version_env.ps1 + + - name: Create the Cura dist + run: pyinstaller ./cura_inst/Ultimaker-Cura.spec + + - 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/" + 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" + working-directory: dist + + - name: Create the Windows exe installer (Powershell) + if: ${{ github.event.inputs.installer == 'true' && runner.os == 'Windows' }} + run: | + python .\packaging\NSIS\nsis-configurator.py ".\Ultimaker-Cura" ".\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" ".\packaging\cura_license.txt" "LZMA" ".\packaging\NSIS\cura_banner_nsis.bmp" ".\packaging\icons\Cura.ico" "Ultimaker-Cura-$Env:CURA_VERSION_FULL-${{ runner.os }}-${{ runner.arch }}.exe" + makensis /V2 /P4 Ultimaker-Cura.nsi + working-directory: dist + + - name: Upload the artifacts + uses: actions/upload-artifact@v3 + with: + name: Ultimaker-Cura-${{ env.CURA_VERSION_FULL }}-${{ runner.os }}-${{ runner.arch }} + path: | + dist/*.tar.gz + dist/*.zip + dist/*.exe + dist/*.msi + dist/*.dmg + dist/*.AppImage + retention-days: 2 From 2fd1309bee6457940edd31154907e1c29fc702d5 Mon Sep 17 00:00:00 2001 From: "j.spijker@ultimaker.com" Date: Fri, 1 Jul 2022 10:50:08 +0200 Subject: [PATCH 3/6] Add missing file name Contributes to CURA-9365 --- conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/conanfile.py b/conanfile.py index 9bf3ac2cfa..a86cbe2901 100644 --- a/conanfile.py +++ b/conanfile.py @@ -322,7 +322,9 @@ echo "{{ CURA_VERSION_FULL }}={{ cura_version_full }}" >> ${{ env_prefix }}GITHU cura_version_build = cura_version.build, cura_version_full = self.version, env_prefix = env_prefix) - files.save(self, self._script_dir, activate_github_actions_version_env) + + ext = ".sh" if self.settings.os != "Windows" else ".ps1" + files.save(self, self._script_dir.joinpath(f"activate_github_actions_version_env{ext}"), activate_github_actions_version_env) self._generate_cura_version(Path(self._site_packages, "cura")) From cbedbbb0bd1c70eb26a54ca5a7d20eef239d1f7d Mon Sep 17 00:00:00 2001 From: "j.spijker@ultimaker.com" Date: Fri, 1 Jul 2022 11:33:18 +0200 Subject: [PATCH 4/6] Remove brackets around env var name Contributes to CURA-9365 --- conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/conanfile.py b/conanfile.py index a86cbe2901..179dc3fcfb 100644 --- a/conanfile.py +++ b/conanfile.py @@ -311,11 +311,11 @@ class CuraConan(ConanFile): # Generate the GitHub Action version info Environment cura_version = tools.Version(self.version) env_prefix = "Env:" if self.settings.os == "Windows" else "" - activate_github_actions_version_env = Template(r"""echo "{{ CURA_VERSION_MAJOR }}={{ cura_version_major }}" >> ${{ env_prefix }}GITHUB_ENV -echo "{{ CURA_VERSION_MINOR }}={{ cura_version_minor }}" >> ${{ env_prefix }}GITHUB_ENV -echo "{{ CURA_VERSION_PATCH }}={{ cura_version_patch }}" >> ${{ env_prefix }}GITHUB_ENV -echo "{{ CURA_VERSION_BUILD }}={{ cura_version_build }}" >> ${{ env_prefix }}GITHUB_ENV -echo "{{ CURA_VERSION_FULL }}={{ cura_version_full }}" >> ${{ env_prefix }}GITHUB_ENV + activate_github_actions_version_env = Template(r"""echo "CURA_VERSION_MAJOR={{ cura_version_major }}" >> ${{ env_prefix }}GITHUB_ENV +echo "CURA_VERSION_MINOR={{ cura_version_minor }}" >> ${{ env_prefix }}GITHUB_ENV +echo "CURA_VERSION_PATCH={{ cura_version_patch }}" >> ${{ env_prefix }}GITHUB_ENV +echo "CURA_VERSION_BUILD={{ cura_version_build }}" >> ${{ env_prefix }}GITHUB_ENV +echo "CURA_VERSION_FULL={{ cura_version_full }}" >> ${{ env_prefix }}GITHUB_ENV """).render(cura_version_major = cura_version.major, cura_version_minor = cura_version.minor, cura_version_patch = cura_version.patch, From f4cad7fdfbc30fca785d9d9dc63712f48353677b Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 1 Jul 2022 11:39:50 +0200 Subject: [PATCH 5/6] Update change log for 5.1 beta There will be more in here, but these are the ones we have for the beta. --- resources/texts/change_log.txt | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/resources/texts/change_log.txt b/resources/texts/change_log.txt index 33ac01743d..731a517c36 100644 --- a/resources/texts/change_log.txt +++ b/resources/texts/change_log.txt @@ -1,3 +1,42 @@ +[5.1] +* Improved toolpath simplification algorithm +The algorithm that reduces the resolution of the print has been rewritten, providing a more constant resolution to allow for greater precision without causing buffer underruns. + +* Adjusted combing boundaries to reduce scarring +Travel moves through the inside of the models are adjusted so that they should keep more distance from the model where possible, yet allowing travels through narrow parts without retractions. + +* Reduced acceleration and jerk commands for travel moves +We added the option to disable acceleration and jerk commands for travel moves. If disabled, they will take on the acceleration of the printed part of its destination. This greatly reduces file size and buffer underruns. + +* Project files know which packages they require +Newly created project files will now store which packages they require from the Ultimaker Marketplace. If a project needs a material from there, the user will be prompted to download it. + +* Other new features and improvements: +- Cura now links toolpaths to project files in the Digital Factory. +- Improved performance of loading STL files on Linux. +- Packages from the Marketplace can now contain intent profiles. +- The application now makes heavy use of Conan to make it easier and faster to build releases of Cura. +- Start and end g-code can now refer to the currently active profile with replacement keys. + +* Bug fixes: +- Fix resetting configuration if it gets corrupt. +- Monotonic ordering now works again for top surfaces. +- Fixed a bug where Remove Raft Inside Corners didn't always remove all corners. +- Fixed the position of the toolbar if the toolbar is too tall to fit. +- Intents in the Recommended Mode now show a description again. +- Remove Inside Corners and Raft Base Wall Count can now be changed per extruder, though they will affect the entire print. +- Fixed opening STL files with special characters in their header. + +* Printer definitions, profiles and materials: +- Improved profiles for PVA and support for Ultimaker printers. +- Adjust retraction speed and distance for Voron. +- Heat up extruder and build plate at the same time for Ender 3 Pro. +- Add new Tough PLA colours. +- Add DD0.4 print cores for Ultimaker printers. +- Add MakerGear M2 printer. +- Add Trimarker Nebula Plus printer. +- Various small profile improvements. + [5.0] Watch the launch event to learn more about Ultimaker Cura 5.0. From a9f4d7093d8d76b95f4606e3631466f9f9a06f0b Mon Sep 17 00:00:00 2001 From: "j.spijker@ultimaker.com" Date: Fri, 1 Jul 2022 11:42:22 +0200 Subject: [PATCH 6/6] Point to correct paths Contributes to CURA-9365 --- .github/workflows/cura-installer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cura-installer.yml b/.github/workflows/cura-installer.yml index 947e0a4084..5e35765610 100644 --- a/.github/workflows/cura-installer.yml +++ b/.github/workflows/cura-installer.yml @@ -153,7 +153,7 @@ jobs: - name: Create the Windows exe installer (Powershell) if: ${{ github.event.inputs.installer == 'true' && runner.os == 'Windows' }} run: | - python .\packaging\NSIS\nsis-configurator.py ".\Ultimaker-Cura" ".\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" ".\packaging\cura_license.txt" "LZMA" ".\packaging\NSIS\cura_banner_nsis.bmp" ".\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-${{ runner.os }}-${{ runner.arch }}.exe" makensis /V2 /P4 Ultimaker-Cura.nsi working-directory: dist