@@ -3,6 +3,7 @@ name: Release
33on :
44 release :
55 types : [published]
6+ pull_request :
67
78env :
89 CARGO_TERM_COLOR : always
@@ -12,10 +13,11 @@ permissions:
1213 contents : write
1314
1415jobs :
15- publish -bin-to-github :
16- name : Publish bin tool to Github
16+ build -bin :
17+ name : Build bin tool
1718 runs-on : ${{matrix.os}}
1819 strategy :
20+ max-parallel : 2
1921 matrix :
2022 include :
2123 - build : linux
@@ -66,23 +68,28 @@ jobs:
6668 sudo apt update
6769 sudo apt install ${{ matrix.linker }}
6870 cat .cargo/config.github >> .cargo/config
71+
6972 - name : Install Rust
7073 run : |
7174 rustup install ${{ matrix.rust }}
7275 rustup target add ${{ matrix.target }}
7376 rustup show
77+
7478 - name : Build
7579 run : cargo build --release --target ${{ matrix.target }}
80+
7681 - name : Copy and rename binary
82+ if : github.event_name == 'release'
7783 run : cp target/${{ matrix.target }}/release/esp_stacktrace_decoder esp_stacktrace_decoder_${{ matrix.bin_suffix }}
7884
79- - name : Release
85+ - name : Upload to GitHub Release
86+ if : github.event_name == 'release'
80878188 with :
8289 files : esp_stacktrace_decoder_${{ matrix.bin_suffix }}
8390
84- publish -exe-to-github :
85- name : Publish exe tool to Github
91+ build -exe :
92+ name : Build exe tool
8693 runs-on : ubuntu-latest
8794 steps :
8895 - name : Checkout repository
@@ -104,55 +111,77 @@ jobs:
104111 run : |
105112 sudo apt update
106113 sudo apt install mingw-w64
114+
107115 - name : Install Rust
108116 run : |
109117 rustup install stable
110118 rustup target add x86_64-pc-windows-gnu
111119 rustup show
120+
112121 - name : Build
113122 run : cargo build --release --target x86_64-pc-windows-gnu
114123
115- - name : Release
124+ - name : Upload to GitHub Release
125+ if : github.event_name == 'release'
116126117127 with :
118128 files : target/x86_64-pc-windows-gnu/release/esp_stacktrace_decoder.exe
119129
120- publish -web-to-github :
121- name : Publish web tool to GitHub
130+ build -web :
131+ name : Build web tool
122132 runs-on : ubuntu-latest
123- permissions :
124- pages : write
125- id-token : write
126- contents : write
127133
128134 steps :
129135136+
130137 - uses : actions-rs/toolchain@v1
131138 with :
132139 toolchain : stable
133140 target : wasm32-unknown-unknown
141+
134142 - uses : Swatinem/rust-cache@v2
135143
136144145+
137146 - name : Run wasm-pack
138147 run : wasm-pack build --target web --out-dir web/
148+
139149 - name : Make an archive for web deployment
150+ if : github.event_name == 'release'
140151 run : tar czf esp_stacktrace_decoder_wasm.tar.gz -C web index.html esp_stacktrace_decoder_rs.js esp_stacktrace_decoder_rs_bg.wasm
141152
142- - name : Release
153+ - name : Upload to GitHub Release
154+ if : github.event_name == 'release'
143155144156 with :
145157 files : esp_stacktrace_decoder_wasm.tar.gz
146158
147159 - name : Copy files for GitHub Pages deployment
160+ if : github.event_name == 'release'
148161 run : mkdir -p public; cp web/index.html web/esp_stacktrace_decoder_rs.js web/esp_stacktrace_decoder_rs_bg.wasm public/
149162
150163164+ if : github.event_name == 'release'
151165 with :
152166 path : public
153167 retention-days : 1
168+
169+ deploy-pages :
170+ name : Deploy to GitHub Pages
171+ runs-on : ubuntu-latest
172+ permissions :
173+ pages : write
174+ id-token : write
175+ contents : write
176+ if : github.event_name == 'release'
177+ needs :
178+ - build-web
179+ steps :
154180 - name : Setup Pages
181+ if : github.event_name == 'release'
155182183+
156184 - name : Deploy to GitHub Pages
185+ if : github.event_name == 'release'
157186 id : deployment
158187
0 commit comments