Skip to content

Commit 868bf2b

Browse files
authored
feat(ci): add release github workflow (#252)
* feat(ci): add release github workflow Release-As: 0.2.0 * Address code review
1 parent 7bb6cea commit 868bf2b

File tree

4 files changed

+85
-2
lines changed

4 files changed

+85
-2
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: release-please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
release-please:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
issues: write
14+
pull-requests: write
15+
outputs:
16+
release_created: ${{ steps.release.outputs.release_created }}
17+
tag_name: ${{ steps.release.outputs.tag_name }}
18+
steps:
19+
- uses: googleapis/release-please-action@a02a34c4d625f9be7cb89156071d8567266a2445 #v4.2.0
20+
id: release
21+
with:
22+
token: ${{ secrets.GITHUB_TOKEN }}
23+
release-type: simple
24+
25+
build-and-upload:
26+
needs: release-please
27+
if: ${{ needs.release-please.outputs.release_created }}
28+
runs-on: ubuntu-latest
29+
permissions:
30+
contents: write
31+
strategy:
32+
matrix:
33+
rust-version: ['1.80.0']
34+
steps:
35+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
36+
37+
- name: Install Just
38+
uses: taiki-e/install-action@just
39+
40+
- name: Install Rust ${{ matrix.rust-version }}
41+
run: |
42+
rustup toolchain install ${{ matrix.rust-version }}
43+
rustup target add wasm32-wasip1 --toolchain ${{ matrix.rust-version }}
44+
45+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 #v4.4.0
46+
with:
47+
node-version: 'lts/*'
48+
49+
- name: Build All Variants
50+
run: |
51+
just mode=release builddir=build-release build
52+
just mode=relwithdebinfo builddir=build-debug build
53+
just mode=release builddir=build-weval build starling-ics.wevalcache -DUSE_WASM_OPT:BOOL=OFF -DWEVAL:BOOL=ON
54+
55+
- name: Prepare Artifacts
56+
run: |
57+
mkdir -p release-artifacts
58+
59+
cp build-release/starling-raw.wasm release-artifacts/starling.wasm
60+
cp build-weval/starling-raw.wasm release-artifacts/starling-weval.wasm
61+
cp build-debug/starling-raw.wasm release-artifacts/starling-debug.wasm
62+
cp build-release/preview1-adapter.wasm release-artifacts
63+
cp build-weval/starling-ics.wevalcache release-artifacts
64+
65+
echo "Release artifacts:"
66+
ls -la release-artifacts/
67+
68+
- name: Upload Release Assets
69+
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 #2.3.2
70+
with:
71+
tag_name: ${{ needs.release-please.outputs.tag_name }}
72+
files: release-artifacts/*

justfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ default:
1717
@just --list
1818

1919
# Build specified target or all otherwise
20-
build target="all" flags="":
20+
build target="all" *flags:
2121
#!/usr/bin/env bash
2222
set -euo pipefail
2323
echo 'Setting build directory to {{ builddir }}, build type {{ mode }}'
@@ -30,7 +30,7 @@ build target="all" flags="":
3030
fi
3131

3232
# Build target
33-
cmake --build {{ builddir }} --parallel {{ ncpus }} {{ if target == "" { target } else { "--target " + target } }}
33+
cmake --build {{ builddir }} --parallel {{ ncpus }} {{ if target == "" { "" } else { "--target " + target } }}
3434

3535
# Run clean target
3636
clean:

release-please-config.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"release-type": "simple",
3+
"bump-minor-pre-major": false,
4+
"bump-patch-for-minor-pre-major": false,
5+
"packages": {
6+
".": {
7+
"include-v-in-tag": true
8+
}
9+
}
10+
}

version.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.1.0

0 commit comments

Comments
 (0)