Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NP-637 conan v2 curaengine 5 9 #2183

Closed
wants to merge 17 commits into from
Closed

Conversation

jellespijker
Copy link
Member

@jellespijker jellespijker commented Dec 9, 2024

Publish a NPM package from a conan recipe.

Important

This branch is based on the 5.9 branch and does a very naive port of the workflows from main this is needed because we need a stable 5.9 version of the engine but the workflows and conan v2 as well.

Do not kill this branch after merge

Renamed the conan-package.yml workflow to package.yml since it is now also used for NPM packages

Added a conf to the recipe, which is used by the conan npm generator to generate a package.json. NPM packages are created on pushes to main, NP-* and 5.10 release branch and they will end up here: https://github.com/Ultimaker/CuraEngine/pkgs/npm/curaenginejs

Yes, the hardcoded 5.10 hurts.
Yes, the replacement of the + to - in the version of the package.json hurts, but NPM kept "sanitizing" the build-meta data away and the version needs to be unique.

See also:

Checklist:

  • My code follows the style guidelines of this project as described in UltiMaker Meta
  • I have read the Contribution guide
  • I have commented my code, particularly in hard-to-understand areas
  • I have uploaded any files required to test this change

Sorry, something went wrong.

Replaced outdated Conan v1 configurations with Conan v2 settings across several files, enhancing compatibility and performance. Revamped the GitHub workflows, including adding an NPM package workflow, and adjusted other YAML files to streamline the build and testing process. Also, updated `conanfile.py` with improved dependencies and removed some obsolete code for better maintainability.

Contribute to NP-637
This change adds a specific version of libsystemd as a requirement when building on Linux, especially to support Arch-based systems. The override ensures compatibility and resolution of dependency conflicts during compilation.

NP-637
This commit introduces a new configuration for Emscripten, generating a package.json file tailored for JavaScript/TypeScript bindings. The configuration includes metadata such as name, version, description, and repository information, ensuring seamless integration and deployment in JavaScript environments.

Contribute to NP-637
This update modifies the NPM package workflow to initiate upon completion of the conan-package workflow, enhancing integration between the workflows. The setup and dependency installation have been streamlined by using a shared build environment action. These changes aim to simplify the build process and reduce dependency management overhead.

Contribute to NP-637
Contribute to NP-637
The npm-package.yml file has been deleted, and its functionality is now integrated directly into the conan-package.yml process. This change aims to streamline the workflow by consolidating tasks, reducing redundancy, and ensuring all package-related actions are handled efficiently within a single workflow configuration.

Contribute to NP-637
Renamed the workflow from "conan-package.yml" to "package.yml" to better reflect its general purpose. Updated the associated file paths and variable references to align with the new naming convention, ensuring consistency across the configuration.

Contribute to NP-637
Contribute to NP-637
Copy link
Contributor

github-actions bot commented Dec 9, 2024

Test Results

27 tests   27 ✅  5s ⏱️
 1 suites   0 💤
 1 files     0 ❌

Results for commit 0bf1c78.

♻️ This comment has been updated with latest results.

Ensure that plus signs in version numbers are replaced with dashes to prevent npm from altering the version format. This change is necessary to maintain consistency and avoid unexpected behavior when publishing packages to npm.

Contribute to NP-637
Contribute to NP-637
Contribute to NP-637
Contribute to NP-637
Update the npm-package workflow condition to trigger only on 'push' events for branches 'main', branches containing 'NP-', or branch '5.10'. This ensures the workflow runs only for relevant branches, enhancing efficiency and control over the deployment process.

NP-637
@jellespijker jellespijker marked this pull request as ready for review December 9, 2024 16:40
Copy link
Contributor

@wawanbreton wawanbreton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small remarks, but overall looks lood

.github/workflows/gcodeanalyzer.yml Show resolved Hide resolved
.github/workflows/package.yml Outdated Show resolved Hide resolved
conanfile.py Outdated Show resolved Hide resolved
The libsystemd requirement for Linux builds has been removed from conanfile.py. This change may affect users on Arch-based systems who previously needed this library for successful compilation. Ensure your environment is configured properly to handle this update.
It is now solved in the profile: Ultimaker/conan-config@11b98fc

Contribute to NP-637
Contribute to NP-637
@jellespijker jellespijker mentioned this pull request Dec 10, 2024
4 tasks
@jellespijker
Copy link
Member Author

Closing this PR in favor of the one based on main #2184

Caution

DO NOT KILL THE BRANCH, since we need a 5.9 branch with the Conan v2 workflows

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants