slsa-framework/example-package

22

stars

2,457

commits

TypeScript

primary language

Jul 1, 2026

updated

README

Example project for SLSA

Example project builds a simple binary using a variety of SLSA-compliant builders.

The code is built using bazelisk build:

  • Bazelisk reads .bazelversion, fetches the correct version of Bazel, and then runs bazel build.
  • Bazel reads WORKSPACE, fetches the rules_go module, and then compiles the hello binary.

For GitHub Actions-based builds, the artifact is uploaded using actions/upload-artifact.

Builders

slsa-github-generator e2e test status

Project health

golangci-lint shellcheck yamllint actionlint

Node.js builder e2e tests

EventNameStatus
create.github/workflows/e2e.nodejs.create.main.default.slsa3.yml
pushdefault branch.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
custom publish.github/workflows/e2e.nodejs.push.main.custom_publish.slsa3.yml
Node 16.github/workflows/e2e.nodejs.push.main.node16.slsa3.yml
Node 18.github/workflows/e2e.nodejs.push.main.node18.slsa3.yml
npm dist-tag.github/workflows/e2e.nodejs.push.main.disttag.slsa3.yml
non-default branch.github/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
push to tag.github/workflows/e2e.nodejs.tag.main.default.slsa3.yml
push to tag (unscoped package).github/workflows/e2e.nodejs.tag.main.unscoped.slsa3.yml
release.github/workflows/e2e.nodejs.release.main.default.slsa3.yml
workflow_dispatch.github/workflows/e2e.nodejs.workflow_dispatch.main.default.slsa3.yml

BYOB generic permissions builder e2e tests

EventNameStatus
createdefault.github/workflows/e2e.delegator-generic.create.main.default.slsa3.yml
with sha1.github/workflows/e2e.delegator-generic.create.main.checkout.slsa3.yml
pushdefault branch.github/workflows/e2e.delegator-generic.push.main.default.slsa3.yml
push to tag.github/workflows/e2e.delegator-generic.tag.main.default.slsa3.yml
releasedefault.github/workflows/e2e.delegator-generic.release.main.default.slsa3.yml
With sha1.github/workflows/e2e.delegator-generic.release.main.checkout.slsa3.yml
workflow_dispatchdefault branch.github/workflows/e2e.delegator-generic.workflow_dispatch.main.default.slsa3.yml
default branch w/ sha1.github/workflows/e2e.delegator-generic.workflow_dispatch.main.checkout.slsa3.yml
non-default branch.github/workflows/e2e.delegator-generic.workflow_dispatch.branch1.default.slsa3.yml
non-default branch w/ sha1.github/workflows/e2e.delegator-generic.workflow_dispatch.branch1.checkout.slsa3.yml

BYOB low permissions builder e2e tests

EventStatus
workflow_dispatch.github/workflows/e2e.delegator-lowperms.workflow_dispatch.main.default.slsa3.yml
release.github/workflows/e2e.delegator-lowperms.release.main.default.slsa3.yml
create.github/workflows/e2e.delegator-lowperms.create.main.default.slsa3.yml
push.github/workflows/e2e.delegator-lowperms.push.main.default.slsa3.yml
tag.github/workflows/e2e.delegator-lowperms.tag.main.default.slsa3.yml

Contributors

laurentsimon

921 commits

ianlewis

641 commits

asraa

261 commits

mihaimaruseac

245 commits

slsa-framework/example-package

22

stars

2,457

commits

TypeScript

primary language

Jul 1, 2026

updated

README

Example project for SLSA

Example project builds a simple binary using a variety of SLSA-compliant builders.

The code is built using bazelisk build:

  • Bazelisk reads .bazelversion, fetches the correct version of Bazel, and then runs bazel build.
  • Bazel reads WORKSPACE, fetches the rules_go module, and then compiles the hello binary.

For GitHub Actions-based builds, the artifact is uploaded using actions/upload-artifact.

Builders

slsa-github-generator e2e test status

Project health

golangci-lint shellcheck yamllint actionlint

Node.js builder e2e tests

EventNameStatus
create.github/workflows/e2e.nodejs.create.main.default.slsa3.yml
pushdefault branch.github/workflows/e2e.nodejs.push.main.default.slsa3.yml
custom publish.github/workflows/e2e.nodejs.push.main.custom_publish.slsa3.yml
Node 16.github/workflows/e2e.nodejs.push.main.node16.slsa3.yml
Node 18.github/workflows/e2e.nodejs.push.main.node18.slsa3.yml
npm dist-tag.github/workflows/e2e.nodejs.push.main.disttag.slsa3.yml
non-default branch.github/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
push to tag.github/workflows/e2e.nodejs.tag.main.default.slsa3.yml
push to tag (unscoped package).github/workflows/e2e.nodejs.tag.main.unscoped.slsa3.yml
release.github/workflows/e2e.nodejs.release.main.default.slsa3.yml
workflow_dispatch.github/workflows/e2e.nodejs.workflow_dispatch.main.default.slsa3.yml

BYOB generic permissions builder e2e tests

EventNameStatus
createdefault.github/workflows/e2e.delegator-generic.create.main.default.slsa3.yml
with sha1.github/workflows/e2e.delegator-generic.create.main.checkout.slsa3.yml
pushdefault branch.github/workflows/e2e.delegator-generic.push.main.default.slsa3.yml
push to tag.github/workflows/e2e.delegator-generic.tag.main.default.slsa3.yml
releasedefault.github/workflows/e2e.delegator-generic.release.main.default.slsa3.yml
With sha1.github/workflows/e2e.delegator-generic.release.main.checkout.slsa3.yml
workflow_dispatchdefault branch.github/workflows/e2e.delegator-generic.workflow_dispatch.main.default.slsa3.yml
default branch w/ sha1.github/workflows/e2e.delegator-generic.workflow_dispatch.main.checkout.slsa3.yml
non-default branch.github/workflows/e2e.delegator-generic.workflow_dispatch.branch1.default.slsa3.yml
non-default branch w/ sha1.github/workflows/e2e.delegator-generic.workflow_dispatch.branch1.checkout.slsa3.yml

BYOB low permissions builder e2e tests

EventStatus
workflow_dispatch.github/workflows/e2e.delegator-lowperms.workflow_dispatch.main.default.slsa3.yml
release.github/workflows/e2e.delegator-lowperms.release.main.default.slsa3.yml
create.github/workflows/e2e.delegator-lowperms.create.main.default.slsa3.yml
push.github/workflows/e2e.delegator-lowperms.push.main.default.slsa3.yml
tag.github/workflows/e2e.delegator-lowperms.tag.main.default.slsa3.yml

Contributors

laurentsimon

921 commits

ianlewis

641 commits

asraa

261 commits

mihaimaruseac

245 commits

Languages

TypeScript

23.9%

Starlark

16.3%

Makefile

15.2%

Shell

14.6%

Python

13.7%

Go

10.5%

Java

3.5%

Dockerfile

2.4%