Skip to content

WIP: feat(cpp-client,csharp/client,py/client,py/client-ticking): DH-20077: Github workflows for building C++, Py Static, Py ticking, C# on Windows#7146

Open
kosak wants to merge 3 commits intodeephaven:mainfrom
kosak:kosak_client-build-workflow
Open

WIP: feat(cpp-client,csharp/client,py/client,py/client-ticking): DH-20077: Github workflows for building C++, Py Static, Py ticking, C# on Windows#7146
kosak wants to merge 3 commits intodeephaven:mainfrom
kosak:kosak_client-build-workflow

Conversation

@kosak
Copy link
Copy Markdown
Contributor

@kosak kosak commented Sep 3, 2025

This GitHub workflow is designed to build the following clients on Windows:

  • C++
  • Python Static
  • Python Ticking
  • C#

It is WIP because:

  1. We need to agree on the overall approach
  2. It's possible GH_PACKAGES_USERNAME is wrong and needs to forced to be a specific user
  3. If we want to do code and NuGet package signing for C#, we need to add CODE_SIGNING_CERT_PFX_BASE64 as a repository secret. This is discussed here: https://docs.google.com/document/d/1NifmHCYkqXSTwz732JpTyGMEJhpxbkgK_IMNSD7-MlA/edit?usp=sharing
  4. We need to make sure it actually works. (It works for my repo; will it work in deephaven/deephaven-core?)

The other problem is build times:

  1. A cold build (unpopulated NuPkg cache) is 60-90 minutes
  2. A lukewarm build (NuPkg cache but no C++ cache) is 10 minutes
  3. A hot build (all caches present) is < 2 minutes

Developers who fork this repository may be paying for steps 1 and 2 more than they would like to.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Sep 3, 2025

Pull Request titles must follow the Conventional Commits specification.
Breaking changes that are expected to impact users must include "BREAKING CHANGE: " at the end of the PR description.

Details:

Unknown release type "WIP" found in pull request title "WIP: feat(cpp-client,csharp/client,py/client,py/client-ticking): DH-20077: Github workflows for building C++, Py Static, Py ticking, C# on Windows". 

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit

@kosak kosak force-pushed the kosak_client-build-workflow branch from ab77c6b to 99ef59f Compare September 3, 2025 00:06
@kosak kosak added NoDocumentationNeeded NoReleaseNotesNeeded No release notes are needed. labels Sep 3, 2025
@kosak kosak self-assigned this Sep 3, 2025
… Github workflows for building C++, Py Static, Py ticking, C# on Windows
@kosak kosak force-pushed the kosak_client-build-workflow branch from 99ef59f to 9160247 Compare September 3, 2025 02:01
jcferretti
jcferretti previously approved these changes Sep 17, 2025
@mofojed mofojed removed their request for review March 25, 2026 19:31
@github-actions
Copy link
Copy Markdown
Contributor

No docs changes detected for 27883ce

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants