Skip to content
This repository was archived by the owner on May 30, 2026. It is now read-only.
This repository was archived by the owner on May 30, 2026. It is now read-only.

[Bug]: Non-idepoment Builds #94

Closed

Description

Details

There is newish bug in the cli system that builds a GitHub Action. When you run pnpm github-action-builder build against the same source code and same config twice. The compiled code in the output folders(s) changes each time. The code will be functionally the same, I think some sort of identifier is changing each time. We do not want this behavior as compiled code is committed to directly to GitHub, which can be large and we want to avoid noise in the repo.

Additionally, the rslib system is outputing files in the dist folders like: main.js.LICENSE.txt. This is a nicety for compiled code in an npm module, but because the source code and compiled code are present in the repo, this is also unnecessary noises.

We recently switched from using vercel/ncc to rsbuild in the internal build systems, and have have to do some hacks to get work around some cjs compilation issues. It may be worth taking the time to investigate if switching to the tsdown bundler, which is a more modern system would be beneficial. The goal of our builder is to bundle the smallest ECMA files possible that will be compatible with GitHub's Node24 action runners. Ideally, we perform strong treeshaking. Each action ends up being 1-3 files (pre.js, main.js, post.js). In our own experience, it is best compile each into single files and avoid library beatures like treeshaking.

Let's fix this. We can make changes to our code locally, pnpm build and then test in a local action such as ../silk-release-action by linking out local dist/npm folder the action repo to test.

Version

Reproduce link

No response

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions