Skip to content

Provide shaders via artifact repo#3250

Merged
timon-schelling merged 4 commits intomasterfrom
provide-shaders-via-artifact-repo-prototype
Jan 2, 2026
Merged

Provide shaders via artifact repo#3250
timon-schelling merged 4 commits intomasterfrom
provide-shaders-via-artifact-repo-prototype

Conversation

@timon-schelling
Copy link
Copy Markdown
Member

@timon-schelling timon-schelling commented Oct 3, 2025

Build and upload graphene raster nodes shaders in a separate artifacts repo.
Needed for build environments were we can't use the rust gpu pinned rust nightly toolchain in. I'm most concerned about nixpkgs. Can also be used to significantly speed up builds (desktop on all platforms).

Currently running on every push we can think about doing this only on master, but runtime is <3m so should be fine for now.

Currently using my own repo, should preoby live in a GraphiteInfra org.
https://github.com/timon-schelling/graphite-artifacts
I have set the following for the repo.

vars:
ARTIFACTS_REPO_OWNER = timon-schelling
ARTIFACTS_REPO_NAME = graphite-artifacts
ARTIFACTS_REPO_BRANCH = main

secrets:
ARTIFACTS_REPO_TOKEN = github_pat_*** (access token limited to write on that one repo)

Also includes: desktop enable shader nodes

@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) October 3, 2025 13:46 Inactive
@github-actions

This comment was marked as off-topic.

@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) October 3, 2025 15:33 Inactive
@github-actions

This comment was marked as off-topic.

@timon-schelling timon-schelling force-pushed the provide-shaders-via-artifact-repo-prototype branch from 7e9b2d5 to c0bb106 Compare October 3, 2025 16:17
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) October 3, 2025 16:21 Inactive
@github-actions

This comment was marked as off-topic.

@Firestar99
Copy link
Copy Markdown
Collaborator

Firestar99 commented Oct 5, 2025

With @TrueDoctor adding the automatic switches between the GPU and CPU variants, end users shouldn't need to use GPU nodes directly. I assume if GPU nodes aren't build, we just default to the CPU variants. So for a typical end-user who doesn't build shaders, everything should still work as expected, at most they get a failing CI later cause the shaders don't compile. Now you'd have to make sure a regular contributor changing a shader node uses the CPU implementation and not the GPU implementation from cached master, without their changes.
(In general, I'm not a fan of caching things externally from your project, due to cache invalidation concerns.)

Or is this only for building desktop on some platforms? Couldn't we have a github job / nix thing to build the shaders and pass the artifacts to the next step, entering whatever build env doesn't support rust-gpu's separate toolchain?

@timon-schelling
Copy link
Copy Markdown
Member Author

timon-schelling commented Oct 5, 2025

Or is this only for building desktop on some platforms?

Yes and also only a PoC.

Couldn't we have a github job / nix thing to build the shaders and pass the artifacts to the next step, entering whatever build env doesn't support rust-gpu's separate toolchain?

This essentially dose that, but nixpkgs is not part of our ci thus we need to host the artifacts needed for that build statically somewhere (probably a bucket in the end).
The source for the build and shader are build from the exact same commit, this way we ensure that they are never out of sync.

@timon-schelling timon-schelling marked this pull request as draft October 17, 2025 10:06
@timon-schelling timon-schelling force-pushed the provide-shaders-via-artifact-repo-prototype branch from c0bb106 to 36a0795 Compare November 9, 2025 11:49
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) November 9, 2025 11:52 Inactive
@timon-schelling timon-schelling force-pushed the provide-shaders-via-artifact-repo-prototype branch from 36a0795 to 2112e97 Compare November 29, 2025 04:13
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) November 29, 2025 04:17 Inactive
@timon-schelling timon-schelling force-pushed the provide-shaders-via-artifact-repo-prototype branch from 2112e97 to 4aff0c6 Compare November 29, 2025 04:19
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) November 29, 2025 04:29 Inactive
@timon-schelling timon-schelling force-pushed the provide-shaders-via-artifact-repo-prototype branch from 4aff0c6 to 7963768 Compare November 30, 2025 23:41
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) November 30, 2025 23:44 Inactive
@timon-schelling timon-schelling force-pushed the provide-shaders-via-artifact-repo-prototype branch from 7963768 to 1a973e7 Compare November 30, 2025 23:53
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) November 30, 2025 23:57 Inactive
@TrueDoctor
Copy link
Copy Markdown
Member

What's the state on this? I'd prefer if we can start using this for a bit to have enough time to iron out any bugs we might encounter

@timon-schelling
Copy link
Copy Markdown
Member Author

I used this for all nixpkg PR updates so far, seems to work fine, just needs some cleanup, like renaming some stuff, limiting to master etc.

@timon-schelling timon-schelling marked this pull request as ready for review December 9, 2025 21:08
@timon-schelling
Copy link
Copy Markdown
Member Author

@TrueDoctor I guess a review from you would be helpfull.

@timon-schelling timon-schelling force-pushed the provide-shaders-via-artifact-repo-prototype branch from 1a973e7 to 9e42e81 Compare December 14, 2025 19:14
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) December 14, 2025 19:22 Inactive
@timon-schelling timon-schelling force-pushed the provide-shaders-via-artifact-repo-prototype branch from 9e42e81 to 5a36b5e Compare December 15, 2025 14:55
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) December 15, 2025 15:11 Inactive
Comment thread .github/workflows/scripts/artifact-upload.bash Outdated
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) January 2, 2026 15:37 Inactive
@timon-schelling timon-schelling force-pushed the provide-shaders-via-artifact-repo-prototype branch from c3ba69f to 26e1963 Compare January 2, 2026 16:13
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) January 2, 2026 16:17 Inactive
@timon-schelling timon-schelling force-pushed the provide-shaders-via-artifact-repo-prototype branch from 26e1963 to 4ac2658 Compare January 2, 2026 16:21
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) January 2, 2026 16:30 Inactive
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) January 2, 2026 16:43 Inactive
@timon-schelling timon-schelling changed the title Provide shaders via artifact repo (prototype) Provide shaders via artifact repo Jan 2, 2026
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) January 2, 2026 16:53 Inactive
@github-actions github-actions Bot temporarily deployed to graphite-dev (Preview) January 2, 2026 16:59 Inactive
@timon-schelling timon-schelling merged commit ee2e61f into master Jan 2, 2026
4 checks passed
@timon-schelling timon-schelling deleted the provide-shaders-via-artifact-repo-prototype branch January 2, 2026 17:17
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.

3 participants