77 repository_dispatch :
88 types : [run_build]
99
10+ permissions :
11+ contents : write
12+
1013jobs :
1114 build :
1215 runs-on : ubuntu-latest
@@ -178,6 +181,7 @@ jobs:
178181 env :
179182 USERNAME : ${{ secrets.USERNAME }}
180183 PASSWORD : ${{ secrets.PASSWORD }}
184+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
181185 steps :
182186 - name : git checkout
183187 uses : actions/checkout@v6
@@ -204,56 +208,63 @@ jobs:
204208 cp -f OPNPS2LD-LANGS-${{ env.OPL_VERSION }}.7z OPNPS2LD-LANGS.7z
205209 cp -f OPNPS2LD/OPNPS2LD-${{ env.OPL_VERSION }}.ELF OPNPS2LD.ELF
206210
207- - name : Create prerelease
211+ - name : Create or update prerelease
208212 if : github.ref == 'refs/heads/master'
209- uses : softprops/action-gh-release@v2
210- with :
211- tag_name : latest
212- name : latest
213- prerelease : true
214- target_commitish : ${{ github.sha }}
215- generate_release_notes : false
216- make_latest : false
217- append_body : false
218- files : |
219- OPNPS2LD-${{ env.OPL_VERSION }}.7z
220- OPNPS2LD-VARIANTS-${{ env.OPL_VERSION }}.7z
221- OPNPS2LD-LANGS-${{ env.OPL_VERSION }}.7z
222- OPNPS2LD.7z
223- OPNPS2LD-VARIANTS.7z
224- OPNPS2LD-LANGS.7z
225- OPNPS2LD.ELF
226- env :
227- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
213+ run : |
214+ gh release view latest >/dev/null 2>&1 && EXISTS=1 || EXISTS=0
215+
216+ if [ "$EXISTS" -eq 1 ]; then
217+ gh release upload latest \
218+ OPNPS2LD-${{ env.OPL_VERSION }}.7z \
219+ OPNPS2LD-VARIANTS-${{ env.OPL_VERSION }}.7z \
220+ OPNPS2LD-LANGS-${{ env.OPL_VERSION }}.7z \
221+ OPNPS2LD.7z \
222+ OPNPS2LD-VARIANTS.7z \
223+ OPNPS2LD-LANGS.7z \
224+ OPNPS2LD.ELF \
225+ --clobber
226+ else
227+ gh release create latest \
228+ OPNPS2LD-${{ env.OPL_VERSION }}.7z \
229+ OPNPS2LD-VARIANTS-${{ env.OPL_VERSION }}.7z \
230+ OPNPS2LD-LANGS-${{ env.OPL_VERSION }}.7z \
231+ OPNPS2LD.7z \
232+ OPNPS2LD-VARIANTS.7z \
233+ OPNPS2LD-LANGS.7z \
234+ OPNPS2LD.ELF \
235+ --title "latest" \
236+ --notes "" \
237+ --prerelease
238+ fi
228239
229240 - name : Create release
230241 if : startsWith(github.ref, 'refs/tags/v')
231- uses : softprops/action-gh-release@v2
232- with :
233- tag_name : ${{ github.ref_name }}
234- name : ${{ env.OPL_VERSION }}
235- prerelease : ${{ contains(github.ref, '-rc') }}
236- target_commitish : ${{ github.sha }}
237- generate_release_notes : false
238- files : |
239- OPNPS2LD-${{ env.OPL_VERSION }}.7z
240- OPNPS2LD-VARIANTS -${{ env.OPL_VERSION }}.7z
241- OPNPS2LD-LANGS-${{ env.OPL_VERSION }}.7z
242- OPNPS2LD.7z
243- OPNPS2LD-VARIANTS .7z
244- OPNPS2LD-LANGS.7z
245- OPNPS2LD.ELF
246- env :
247- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN } }
248-
249- - name : Upload pre-release to Mega
250- if : github.ref == 'refs/heads/master' && env.USERNAME != null
251- uses : Difegue/action-megacmd@master
252- with :
253- args : put -c OPNPS2LD.7z /OPL/Pre-Release/${{ env.OPL_VERSION }}/run_${{ github.run_number }}/
254-
255- - name : Upload release to Mega
256- if : startsWith(github.ref, 'refs/tags/v') && env.USERNAME != null
257- uses : Difegue/action-megacmd@master
258- with :
259- args : put -c OPNPS2LD.7z /OPL/Release/${{ env.OPL_VERSION }}/
242+ run : |
243+ PRERELEASE_FLAG=""
244+ if [[ "${GITHUB_REF}" == *"-rc"* ]]; then
245+ PRERELEASE_FLAG="--prerelease"
246+ fi
247+
248+ gh release create "${{ github.ref_name }}" \
249+ OPNPS2LD-${{ env.OPL_VERSION }}.7z \
250+ OPNPS2LD-VARIANTS- ${{ env.OPL_VERSION }}.7z \
251+ OPNPS2LD-LANGS -${{ env.OPL_VERSION }}.7z \
252+ OPNPS2LD.7z \
253+ OPNPS2LD-VARIANTS .7z \
254+ OPNPS2LD-LANGS .7z \
255+ OPNPS2LD.ELF \
256+ --title "${{ env.OPL_VERSION }}" \
257+ --notes "" \
258+ ${PRERELEASE_FLAG }
259+
260+ # - name: Upload pre-release to Mega
261+ # if: github.ref == 'refs/heads/master' && env.USERNAME != null
262+ # uses: Difegue/action-megacmd@master
263+ # with:
264+ # args: put -c OPNPS2LD.7z /OPL/Pre-Release/${{ env.OPL_VERSION }}/run_${{ github.run_number }}/
265+ #
266+ # - name: Upload release to Mega
267+ # if: startsWith(github.ref, 'refs/tags/v') && env.USERNAME != null
268+ # uses: Difegue/action-megacmd@master
269+ # with:
270+ # args: put -c OPNPS2LD.7z /OPL/Release/${{ env.OPL_VERSION }}/
0 commit comments