Skip to content

Commit 447bbe2

Browse files
committed
add pr-build workflow: build+pack without publishing, upload .b3 artifact
1 parent e86c3c8 commit 447bbe2

1 file changed

Lines changed: 54 additions & 0 deletions

File tree

.github/workflows/pr-build.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: pr-build
2+
3+
# Build, test, pack, and index every plugin in this repo WITHOUT publishing, so a pull request or a
4+
# branch push gets a downloadable preview of exactly what would ship. Same pipeline as release, driven
5+
# by the one reusable Bespok3d build Action (b3-builder) with publish: 'false': it still builds the bake
6+
# payloads, packs the .b3 set, assembles the sub-list index, and runs each plugin's tests, but cuts no
7+
# GitHub release and registers nothing in the main index. The produced .b3 (plus atoms and the assembled
8+
# index.json) upload as a run artifact, downloadable from the PR's Checks tab and the Actions run page.
9+
# Publishing stays main-only, in release.yml.
10+
on:
11+
pull_request:
12+
push:
13+
branches-ignore: [main]
14+
paths:
15+
- '*/manifest.json'
16+
- '*/files/**'
17+
- '*/doc/**'
18+
- '*/src/**'
19+
- '*/toolchain/**'
20+
- '*/tests/**'
21+
- .github/workflows/pr-build.yml
22+
23+
# A branch push and the pull_request for the same head would otherwise build twice; collapse them into
24+
# one run per head branch and cancel a superseded build when a newer commit lands.
25+
concurrency:
26+
group: pr-build-${{ github.event.pull_request.head.ref || github.ref }}
27+
cancel-in-progress: true
28+
29+
jobs:
30+
pr-build:
31+
runs-on: ubuntu-latest
32+
permissions:
33+
contents: read # build only: no release, no index commit, no registration
34+
steps:
35+
- uses: actions/checkout@v4
36+
37+
- uses: Bespok3d/b3-builder@main
38+
with:
39+
unit: repo
40+
bake: 'true'
41+
publish: 'false'
42+
atom-repo: ${{ github.repository }}
43+
list-name: 'Reference Python Plugins'
44+
list-publisher: 'PLACEHOLDER'
45+
list-ref-name: 'Reference Python Plugins'
46+
47+
- uses: actions/upload-artifact@v4
48+
with:
49+
name: b3-packages
50+
path: |
51+
dist/*.b3
52+
dist/*.atom.json
53+
dist/index.json
54+
if-no-files-found: error

0 commit comments

Comments
 (0)