|
4 | 4 | name: Build-and-Release
|
5 | 5 |
|
6 | 6 | on:
|
7 |
| - push: |
8 |
| - tags: |
9 |
| - - 'v*' # Runs only for tags that start with v (new versions) |
| 7 | + release: |
| 8 | + types: created |
10 | 9 |
|
11 | 10 | jobs:
|
12 |
| - build_and_publish: |
| 11 | + build_and_publish_to_pipy: |
13 | 12 | runs-on: ubuntu-latest
|
14 | 13 | permissions:
|
15 | 14 | id-token: write # This is required for requesting the JWT
|
|
36 | 35 | - name: Publish package to PyPi
|
37 | 36 | uses: pypa/gh-action-pypi-publish@release/v1
|
38 | 37 |
|
39 |
| - changelog: |
40 |
| - runs-on: ubuntu-latest |
41 |
| - needs: build_and_publish |
42 |
| - steps: |
43 |
| - - name: "Generate release changelog" |
44 |
| - uses: heinrichreimer/[email protected] |
45 |
| - with: |
46 |
| - token: ${{ secrets.GITHUB_TOKEN }} |
47 |
| - |
48 |
| - createrelease: |
49 |
| - name: Create Release |
50 |
| - runs-on: ubuntu-latest |
51 |
| - needs: changelog |
52 |
| - outputs: |
53 |
| - upload_url: ${{ steps.create_release.outputs.upload_url }} |
54 |
| - steps: |
55 |
| - - name: Create Release For Tag |
56 |
| - id: create_release |
57 |
| - uses: actions/create-release@v1 |
58 |
| - env: |
59 |
| - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
60 |
| - with: |
61 |
| - tag_name: ${{ github.ref_name }} |
62 |
| - release_name: Release ${{ github.ref_name }} |
63 |
| - body: ${{ needs.changelog.outputs.changelog }} |
64 |
| - draft: ${{ contains(github.ref_name, 'test') }} |
65 |
| - prerelease: ${{ contains(github.ref_name, 'beta') }} |
66 |
| - |
67 | 38 | buildassets:
|
68 | 39 | name: Build packages
|
69 |
| - needs: createrelease |
70 | 40 | runs-on: ${{ matrix.os }}
|
71 | 41 | strategy:
|
72 | 42 | fail-fast: true
|
@@ -113,32 +83,17 @@ jobs:
|
113 | 83 | run: ${{matrix.CMD_BUILD}}
|
114 | 84 | - name: Upload Release Asset
|
115 | 85 | id: upload-release-asset
|
116 |
| - uses: actions/upload-release-asset@v1 |
117 |
| - env: |
118 |
| - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 86 | + uses: svenstaro/upload-release-action@v2 |
119 | 87 | with:
|
120 |
| - upload_url: ${{ needs.createrelease.outputs.upload_url }} |
121 |
| - asset_path: ./dist/${{ matrix.OUT_FILE_NAME }} |
| 88 | + repo_token: ${{ secrets.GITHUB_TOKEN }} |
| 89 | + file: ./dist/${{ matrix.OUT_FILE_NAME }} |
122 | 90 | asset_name: ${{ matrix.OUT_FILE_NAME }}
|
123 |
| - asset_content_type: ${{ matrix.ASSET_MIME }} |
124 |
| - |
125 |
| - purge_release_if_failed: |
126 |
| - name: Delete release if build failed |
127 |
| - needs: buildassets |
128 |
| - runs-on: ubuntu-latest |
129 |
| - if: ${{ failure() || cancelled() }} |
130 |
| - steps: |
131 |
| - - uses: dev-drprasad/[email protected] |
132 |
| - env: |
133 |
| - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
134 |
| - with: |
135 |
| - delete_release: true |
136 |
| - tag_name: ${{ github.ref_name }} |
137 |
| - |
| 91 | + tag: ${{ github.ref }} |
| 92 | + overwrite: true |
138 | 93 |
|
139 | 94 | publish_release:
|
140 | 95 | name: Publish release
|
141 |
| - needs: buildassets |
| 96 | + needs: [buildassets, build_and_publish_to_pipy] |
142 | 97 | runs-on: ubuntu-latest
|
143 | 98 | permissions:
|
144 | 99 | contents: 'read'
|
|
0 commit comments