|
1 | 1 | # Bazel Central Registry publication
|
2 | 2 |
|
3 |
| -The [Publish to BCR GitHub app](https://github.com/bazel-contrib/publish-to-bcr) |
4 |
| -uses these configuration files for publishing Bazel modules to the [Bazel |
5 |
| -Central Registry (BCR)](https://registry.bazel.build/). |
| 3 | +[.github/workflows/publish-to-bcr.yml](../.github/workflows/publish-to-bcr.yml) |
| 4 | +uses these files to configure the [Publish to BCR]( |
| 5 | +https://github.com/bazel-contrib/publish-to-bcr) workflow for publishing to the |
| 6 | +[Bazel Central Registry (BCR)](https://registry.bazel.build/). |
6 | 7 |
|
7 | 8 | - [Publish to BCR workflow setup](
|
8 |
| - https://github.com/bazel-contrib/publish-to-bcr/tree/main/README.md#setup) |
| 9 | + https://github.com/bazel-contrib/publish-to-bcr?tab=readme-ov-file#setup) |
9 | 10 | - [.bcr/ templates](
|
10 | 11 | https://github.com/bazel-contrib/publish-to-bcr/tree/main/templates)
|
| 12 | +- [.github/workflows/publish.yaml reusable workflow]( |
| 13 | + https://github.com/bazel-contrib/publish-to-bcr/blob/main/.github/workflows/publish.yaml) |
11 | 14 |
|
12 |
| -Related documentation: |
| 15 | +Notice that the setup instructions suggest saving the Personal Access Token as |
| 16 | +`PUBLISH_TOKEN`. We save it as `BCR_PUBLISH_TOKEN` instead, as inspired by |
| 17 | +aspect-build/rules_lint#529, to make this value more self documenting. |
| 18 | + |
| 19 | +## Provenance attestations |
| 20 | + |
| 21 | +This workflow also produces attestations required by the [Supply chain Levels |
| 22 | +for Software Artifacts (SLSA)](https://slsa.dev/) framework for secure supply |
| 23 | +chain provenance. |
| 24 | + |
| 25 | +Examples: |
| 26 | + |
| 27 | +<!-- Replace these with rules_scala examples once they're available. --> |
| 28 | +- [aspect-build/rules_lint v1.3.4 release and publish run with attestations]( |
| 29 | + https://github.com/aspect-build/rules_lint/actions/runs/14410869652/attempts/1) |
| 30 | +- [aspect-build/rules_lint v1.3.4 attestations]( |
| 31 | + https://github.com/aspect-build/rules_lint/attestations/6280291) |
| 32 | +- [aspect-build/rules_lint attestations]( |
| 33 | + https://github.com/aspect-build/rules_lint/attestations) |
| 34 | + |
| 35 | +## Related documentation |
13 | 36 |
|
14 | 37 | - [bazelbuild/bazel-central-registry](
|
15 | 38 | https://github.com/bazelbuild/bazel-central-registry)
|
| 39 | +- [SLSA: Provenance](https://slsa.dev/spec/v1.0/provenance) |
| 40 | +- [in-toto](https://in-toto.io/) |
16 | 41 | - [GitHub Actions](https://docs.github.com/actions)
|
| 42 | + - [Security for GitHub Actions]( |
| 43 | + https://docs.github.com/en/actions/security-for-github-actions) |
| 44 | + - [Using secrets in a workflow]( |
| 45 | + https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions#using-secrets-in-a-workflow) |
| 46 | + - [Using artifact attestations]( |
| 47 | + https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations) |
| 48 | + - [Writing Workflows]( |
| 49 | + https://docs.github.com/en/actions/writing-workflows) |
| 50 | + - [Accessing contextual information about workflow runs: 'secrets' context]( |
| 51 | + https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs#secrets-context) |
| 52 | + - [Workflow syntax for GitHub Action: 'on.workflow_call.secrets']( |
| 53 | + https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onworkflow_callsecrets) |
| 54 | + - [Sharing automations](https://docs.github.com/en/actions/sharing-automations) |
| 55 | + - [Passing inputs and secrets to a reusable workflow]( |
| 56 | + https://docs.github.com/en/actions/sharing-automations/reusing-workflows#passing-inputs-and-secrets-to-a-reusable-workflow) |
| 57 | +- [actions/attest-build-provenance]( |
| 58 | + https://github.com/actions/attest-build-provenance) |
| 59 | +- [in-toto/attestation](https://github.com/in-toto/attestation) |
| 60 | +- [slsa-framework/slsa-verifier]( |
| 61 | + https://github.com/slsa-framework/slsa-verifier) |
| 62 | + |
| 63 | +## Inspiration |
| 64 | + |
| 65 | +Originally based on the examples from aspect-build/rules_lint#498 and |
| 66 | +aspect-build/rules_lint#501. See also: |
| 67 | + |
| 68 | +- bazelbuild/bazel-central-registry#4060 |
| 69 | +- bazelbuild/bazel-central-registry#4146 |
| 70 | +- slsa-framework/slsa-verifier#840 |
0 commit comments