Skip to content

Commit 2181242

Browse files
authored
Update main.yml
1 parent 50e0fc9 commit 2181242

File tree

1 file changed

+43
-10
lines changed

1 file changed

+43
-10
lines changed

.github/workflows/main.yml

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ on:
44
release:
55
types: [published]
66
workflow_dispatch:
7+
inputs:
8+
tag:
9+
description: 'Тег релиза (например, v0.5.0). Если пусто — будет использоваться текущий тег релиза.'
10+
required: false
711

812
jobs:
913
build-windows:
@@ -17,10 +21,10 @@ jobs:
1721
toolchain: stable
1822
override: true
1923

20-
- name: Build Netter.exe
24+
- name: Build netter.exe
2125
run: cargo build --release
2226

23-
- name: Build Netter_service.exe
27+
- name: Build netter_service.exe
2428
run: cargo build --release -p netter_service
2529

2630
- name: Prepare artifacts
@@ -29,15 +33,29 @@ jobs:
2933
copy target\release\netter.exe dist\
3034
copy target\release\netter_service.exe dist\
3135
36+
- name: Determine tag name
37+
id: get_tag
38+
run: |
39+
if ($env:GITHUB_EVENT_NAME -eq 'release') {
40+
$tag = "${env:GITHUB_REF_NAME}"
41+
} elseif ($env:GITHUB_EVENT_NAME -eq 'workflow_dispatch' -and "${{ github.event.inputs.tag }}") {
42+
$tag = "${{ github.event.inputs.tag }}"
43+
} else {
44+
Write-Host "ERROR: Тег релиза не определён!"
45+
exit 1
46+
}
47+
echo "tag=$tag" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
48+
3249
- name: Make zip archive
3350
run: |
34-
$tag = "${{ github.ref_name }}"
51+
$tag = "${{ steps.get_tag.outputs.tag }}"
3552
Compress-Archive -Path dist\* -DestinationPath "netter-$tag-windows-x86_64.zip"
3653
shell: pwsh
3754

38-
- name: Upload binaries
55+
- name: Upload binaries to release
3956
uses: softprops/action-gh-release@v2
4057
with:
58+
tag_name: ${{ steps.get_tag.outputs.tag }}
4159
files: netter-*-windows-x86_64.zip
4260
env:
4361
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -53,10 +71,10 @@ jobs:
5371
toolchain: stable
5472
override: true
5573

56-
- name: Build Netter
74+
- name: Build netter
5775
run: cargo build --release
5876

59-
- name: Build Netter_service
77+
- name: Build netter_service
6078
run: cargo build --release -p netter_service
6179

6280
- name: Prepare artifacts
@@ -65,14 +83,29 @@ jobs:
6583
cp target/release/netter dist/
6684
cp target/release/netter_service dist/
6785
86+
- name: Determine tag name
87+
id: get_tag
88+
run: |
89+
if [ "${GITHUB_EVENT_NAME}" = "release" ]; then
90+
tag="${GITHUB_REF_NAME}"
91+
elif [ "${GITHUB_EVENT_NAME}" = "workflow_dispatch" ] && [ -n "${{ github.event.inputs.tag }}" ]; then
92+
tag="${{ github.event.inputs.tag }}"
93+
else
94+
echo "ERROR: Тег релиза не определён!"
95+
exit 1
96+
fi
97+
echo "tag=$tag" >> $GITHUB_OUTPUT
98+
6899
- name: Make tar.gz archive
69100
run: |
70-
tag="${GITHUB_REF_NAME}"
71-
tar -czvf "netter-${tag}-linux-x86_64.tar.gz" -C dist netter netter_service
101+
tag="${{ steps.get_tag.outputs.tag }}"
102+
cd dist
103+
tar -czvf "../netter-${tag}-linux-x86_64.tar.gz" netter netter_service
72104
73-
- name: Upload binaries
105+
- name: Upload binaries to release
74106
uses: softprops/action-gh-release@v2
75107
with:
108+
tag_name: ${{ steps.get_tag.outputs.tag }}
76109
files: netter-*-linux-x86_64.tar.gz
77110
env:
78-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
111+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)