Skip to content

Commit ecfca48

Browse files
authored
Merge pull request #1 from astroidmc/copilot/fix-github-actions-auto-release
[WIP] Fix workflow permissions for automatic release job
2 parents bba6dea + 2968687 commit ecfca48

File tree

1 file changed

+63
-8
lines changed

1 file changed

+63
-8
lines changed

.github/workflows/build-and-release.yml

Lines changed: 63 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ on:
1414

1515
permissions:
1616
contents: write
17+
packages: write
18+
issues: read
19+
pull-requests: read
20+
actions: read
1721

1822
jobs:
1923
build:
@@ -155,14 +159,65 @@ jobs:
155159
id: commit_count
156160
run: echo "COUNT=$(git rev-list --count HEAD)" >> $GITHUB_OUTPUT
157161

158-
- name: Create automatic release
159-
uses: marvinpinto/action-automatic-releases@latest
162+
- name: Delete existing latest release
163+
continue-on-error: true
164+
run: |
165+
gh release delete latest --yes --cleanup-tag
166+
env:
167+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
168+
169+
- name: Create latest release
170+
id: create_release
171+
uses: actions/create-release@v1
172+
env:
173+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
160174
with:
161-
repo_token: ${{ secrets.GITHUB_TOKEN }}
162-
automatic_release_tag: "latest"
175+
tag_name: latest
176+
release_name: "Development Build (${{ steps.date.outputs.DATE }}-${{ steps.commit_count.outputs.COUNT }})"
177+
draft: false
163178
prerelease: true
164-
title: "Development Build (${{ steps.date.outputs.DATE }}-${{ steps.commit_count.outputs.COUNT }})"
165-
files: |
166-
networkdataapi-paper/target/NetworkDataAPI-Paper-*.jar
167-
networkdataapi-bungee/target/NetworkDataAPI-Bungee-*.jar
179+
180+
- name: Find Paper JAR
181+
id: find_paper
182+
run: |
183+
PAPER_JAR=$(find networkdataapi-paper/target -name 'NetworkDataAPI-Paper-*.jar' -type f | head -n 1)
184+
if [ -n "$PAPER_JAR" ]; then
185+
echo "PAPER_JAR_PATH=$PAPER_JAR" >> $GITHUB_OUTPUT
186+
echo "PAPER_JAR_FOUND=true" >> $GITHUB_OUTPUT
187+
else
188+
echo "PAPER_JAR_FOUND=false" >> $GITHUB_OUTPUT
189+
fi
190+
191+
- name: Find Bungee JAR
192+
id: find_bungee
193+
run: |
194+
BUNGEE_JAR=$(find networkdataapi-bungee/target -name 'NetworkDataAPI-Bungee-*.jar' -type f | head -n 1)
195+
if [ -n "$BUNGEE_JAR" ]; then
196+
echo "BUNGEE_JAR_PATH=$BUNGEE_JAR" >> $GITHUB_OUTPUT
197+
echo "BUNGEE_JAR_FOUND=true" >> $GITHUB_OUTPUT
198+
else
199+
echo "BUNGEE_JAR_FOUND=false" >> $GITHUB_OUTPUT
200+
fi
201+
202+
- name: Upload Paper Release Asset
203+
if: steps.find_paper.outputs.PAPER_JAR_FOUND == 'true'
204+
uses: actions/upload-release-asset@v1
205+
env:
206+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
207+
with:
208+
upload_url: ${{ steps.create_release.outputs.upload_url }}
209+
asset_path: ${{ steps.find_paper.outputs.PAPER_JAR_PATH }}
210+
asset_name: NetworkDataAPI-Paper-${{ steps.date.outputs.DATE }}-${{ steps.commit_count.outputs.COUNT }}.jar
211+
asset_content_type: application/java-archive
212+
213+
- name: Upload Bungee Release Asset
214+
if: steps.find_bungee.outputs.BUNGEE_JAR_FOUND == 'true'
215+
uses: actions/upload-release-asset@v1
216+
env:
217+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
218+
with:
219+
upload_url: ${{ steps.create_release.outputs.upload_url }}
220+
asset_path: ${{ steps.find_bungee.outputs.BUNGEE_JAR_PATH }}
221+
asset_name: NetworkDataAPI-Bungee-${{ steps.date.outputs.DATE }}-${{ steps.commit_count.outputs.COUNT }}.jar
222+
asset_content_type: application/java-archive
168223

0 commit comments

Comments
 (0)