Skip to content

Commit 7ecdc71

Browse files
Update release.yml
1 parent 2e498a4 commit 7ecdc71

File tree

1 file changed

+26
-40
lines changed

1 file changed

+26
-40
lines changed

.github/workflows/release.yml

Lines changed: 26 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,31 @@
1-
name: Release
1+
name: Build & Release
22

33
on:
4+
workflow_dispatch:
45
push:
56
branches: [ main ]
6-
workflow_dispatch:
77

88
permissions:
99
contents: write
10-
pull-requests: write
1110

1211
concurrency:
1312
group: release-${{ github.ref }}
1413
cancel-in-progress: true
1514

1615
jobs:
17-
prepare-manifest:
16+
version:
1817
runs-on: ubuntu-latest
1918
outputs:
2019
version: ${{ steps.v.outputs.version }}
2120
steps:
2221
- uses: actions/checkout@v4
23-
2422
- id: v
2523
run: |
2624
V=$(grep '^version' Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/')
27-
echo "version=$V" >> $GITHUB_OUTPUT
28-
echo "{ \".\": \"$V\" }" > .release-please-manifest.json
29-
30-
- uses: actions/upload-artifact@v4
31-
with:
32-
name: manifest
33-
path: .release-please-manifest.json
34-
35-
release-please:
36-
needs: prepare-manifest
37-
runs-on: ubuntu-latest
38-
outputs:
39-
released: ${{ steps.release.outputs.release_created }}
40-
tag: ${{ steps.release.outputs.tag_name }}
41-
42-
steps:
43-
- uses: actions/checkout@v4
44-
45-
- uses: actions/download-artifact@v4
46-
with:
47-
name: manifest
48-
49-
- uses: googleapis/release-please-action@v4
50-
id: release
51-
with:
52-
config-file: .github/release-please-config.json
53-
manifest-file: .release-please-manifest.json
25+
echo "version=v$V" >> $GITHUB_OUTPUT
5426
5527
build:
56-
needs: release-please
57-
if: needs.release-please.outputs.released == 'true'
28+
needs: version
5829
strategy:
5930
matrix:
6031
include:
@@ -87,29 +58,44 @@ jobs:
8758
- name: Package
8859
shell: bash
8960
run: |
90-
VERSION=${{ needs.release-please.outputs.tag }}
61+
VERSION=${{ needs.version.outputs.version }}
9162
NAME=pyelevate-${VERSION}-${{ matrix.target }}
9263
9364
mkdir dist
9465
cp target/${{ matrix.target }}/release/${{ matrix.bin }} dist/
9566
9667
cd dist
97-
9868
if [ "${{ matrix.archive }}" = "zip" ]; then
9969
powershell Compress-Archive -Path * -DestinationPath ../$NAME.zip
10070
else
10171
tar -czf ../$NAME.tar.gz *
10272
fi
103-
10473
cd ..
74+
10575
sha256sum $NAME.* > $NAME.sha256
10676
107-
- uses: softprops/action-gh-release@v2
77+
- uses: actions/upload-artifact@v4
10878
with:
109-
tag_name: ${{ needs.release-please.outputs.tag }}
110-
files: |
79+
name: ${{ matrix.target }}
80+
path: |
11181
*.zip
11282
*.tar.gz
11383
*.sha256
84+
85+
release:
86+
needs: [version, build]
87+
runs-on: ubuntu-latest
88+
89+
steps:
90+
- uses: actions/download-artifact@v4
91+
with:
92+
path: artifacts
93+
94+
- uses: softprops/action-gh-release@v2
95+
with:
96+
tag_name: ${{ needs.version.outputs.version }}
97+
name: PyElevate ${{ needs.version.outputs.version }}
98+
files: artifacts/**/*
99+
generate_release_notes: true
114100
env:
115101
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)