Forge
yamldeeb25a2
1# WinExe win-x64. Зависимости — NuGet (в т.ч. AIGuiders.DotNetBuildTestParsers).
2name Release
3
4on
5 push:
6 tags:
7 - 'v*'
8 workflow_dispatch:
9 inputs:
10 tag:
11 description: 'Тег для GitHub Release. Пусто — ZIP …-manual-<run_id>-… без релиза.'
12 required: false
13 type: string
14
15permissions
16 contents: write
17
18env
19 DOTNET_VERSION: '10.0.x'
20 RID: win-x64
21 ARTIFACT_PREFIX: CascadeIDE
22 ZIP_LABEL: ${{ github.ref_type == 'tag' && github.ref_name || ((github.event.inputs.tag || '') != '' && github.event.inputs.tag || format('manual-{0}', github.run_id)) }}
23
24jobs
25 publish:
26 runs-on: ubuntu-latest
27 steps:
28 - uses: actions/checkout@v4
29 with:
30 path: cascade-ide
31
32 - uses: actions/setup-dotnet@v4
33 with:
34 dotnet-version: ${{ env.DOTNET_VERSION }}
35
36 - name: Publish (self-contained win-x64)
37 working-directory: cascade-ide
38 run: |
39 set -euo pipefail
40 mkdir -p ../dist
41 out="../publish/${{ env.RID }}"
42 dotnet publish CascadeIDE.csproj -c Release -r ${{ env.RID }} --self-contained true -o "$out"
43 (cd "$out" && zip -r "../../dist/${ARTIFACT_PREFIX}-${ZIP_LABEL}-${{ env.RID }}.zip" .)
44 (cd "$GITHUB_WORKSPACE/dist" && sha256sum *.zip > SHA256SUMS)
45
46 - name: GitHub Release
47 if: ${{ github.ref_type == 'tag' || (github.event_name == 'workflow_dispatch' && (github.event.inputs.tag || '') != '') }}
48 uses: softprops/action-gh-release@v2
49 with:
50 tag_name: ${{ github.ref_type == 'tag' && github.ref_name || github.event.inputs.tag }}
51 generate_release_notes: true
52 files: |
53 dist/*.zip
54 dist/SHA256SUMS
55 env:
56 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57
View only · write via MCP/CIDE