5252 uses : actions-rs/toolchain@v1
5353 with :
5454 profile : minimal
55- toolchain : stable
55+ toolchain : 1.93.0
5656 components : clippy,rustfmt
5757
5858 - name : Print Rust toolchain versions
@@ -113,21 +113,29 @@ jobs:
113113 target : x86_64-unknown-linux-gnu
114114 artifact_name : grimoire_css-linux-x86_64
115115 artifact_path : target/x86_64-unknown-linux-gnu/release/grimoire_css
116+ lsp_asset_name : grimoire_css_lsp-linux-x64
117+ lsp_artifact_path : target/x86_64-unknown-linux-gnu/release/grimoire_css_lsp
116118 - name : macos_x86_64
117119 runs-on : macos-latest
118120 target : x86_64-apple-darwin
119121 artifact_name : grimoire_css-macos-x86_64
120122 artifact_path : target/x86_64-apple-darwin/release/grimoire_css
123+ lsp_asset_name : grimoire_css_lsp-darwin-x64
124+ lsp_artifact_path : target/x86_64-apple-darwin/release/grimoire_css_lsp
121125 - name : macos_arm64
122126 runs-on : macos-latest
123127 target : aarch64-apple-darwin
124128 artifact_name : grimoire_css-macos-arm64
125129 artifact_path : target/aarch64-apple-darwin/release/grimoire_css
130+ lsp_asset_name : grimoire_css_lsp-darwin-arm64
131+ lsp_artifact_path : target/aarch64-apple-darwin/release/grimoire_css_lsp
126132 - name : windows_x86_64
127133 runs-on : windows-latest
128134 target : x86_64-pc-windows-msvc
129135 artifact_name : grimoire_css-windows-x86_64.exe
130136 artifact_path : target/x86_64-pc-windows-msvc/release/grimoire_css.exe
137+ lsp_asset_name : grimoire_css_lsp-win32-x64.exe
138+ lsp_artifact_path : target/x86_64-pc-windows-msvc/release/grimoire_css_lsp.exe
131139
132140 steps :
133141 - name : Checkout Code
@@ -139,7 +147,7 @@ jobs:
139147 uses : actions-rs/toolchain@v1
140148 with :
141149 profile : minimal
142- toolchain : stable
150+ toolchain : 1.93.0
143151 target : ${{ matrix.target }}
144152 components : clippy,rustfmt
145153
@@ -174,18 +182,19 @@ jobs:
174182 ${{ runner.os }}-build-${{ matrix.target }}-
175183
176184 - name : Build project
177- run : cargo build --release --target ${{ matrix.target }}
185+ run : cargo build --release --target ${{ matrix.target }} --features lsp --bin grimoire_css --bin grimoire_css_lsp
178186
179187 - name : Prepare artifact
180188 run : |
181189 mkdir -p artifacts
182190 cp "${{ matrix.artifact_path }}" "artifacts/${{ matrix.artifact_name }}"
191+ cp "${{ matrix.lsp_artifact_path }}" "artifacts/${{ matrix.lsp_asset_name }}"
183192
184193 - name : Upload artifacts
185194 uses : actions/upload-artifact@v4
186195 with :
187- name : ${{ matrix.artifact_name }}
188- path : artifacts/${{ matrix.artifact_name }}
196+ name : ${{ matrix.name }}
197+ path : artifacts/
189198
190199 publish :
191200 name : Publish to crates.io
@@ -200,7 +209,7 @@ jobs:
200209 uses : actions-rs/toolchain@v1
201210 with :
202211 profile : minimal
203- toolchain : stable
212+ toolchain : 1.93.0
204213 components : clippy,rustfmt
205214
206215 - name : Print Rust toolchain versions
@@ -243,6 +252,17 @@ jobs:
243252 with :
244253 fetch-depth : 0
245254
255+ - name : Verify release notes file exists
256+ shell : bash
257+ run : |
258+ TAG='${{ needs.determine_release.outputs.NEW_TAG }}'
259+ NOTES_FILE="releases/${TAG}.md"
260+ if [[ ! -f "$NOTES_FILE" ]]; then
261+ echo "Missing release notes: $NOTES_FILE" >&2
262+ echo "Add $NOTES_FILE (narrative release notes) before releasing." >&2
263+ exit 1
264+ fi
265+
246266 - name : Download artifacts
247267 uses : actions/download-artifact@v4
248268 with :
@@ -260,7 +280,7 @@ jobs:
260280 with :
261281 tag_name : ${{ needs.determine_release.outputs.NEW_TAG }}
262282 files : ./artifacts/**/*
263- body : " Release of Grimoire CSS version ${{ needs.determine_release.outputs.NEW_TAG }}"
283+ body_path : releases/ ${{ needs.determine_release.outputs.NEW_TAG }}.md
264284 draft : false
265285 prerelease : false
266286 env :
0 commit comments