mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-11-27 05:01:43 +08:00
139 lines
5.7 KiB
YAML
139 lines
5.7 KiB
YAML
name: Release
|
|
|
|
on:
|
|
release:
|
|
types: [ published ]
|
|
|
|
jobs:
|
|
update_versions_txt:
|
|
name: Update versions.txt
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout 🛎️
|
|
uses: actions/checkout@v3
|
|
- name: Get Download URL
|
|
run: |
|
|
curl 'https://api.github.com/repos/plan-player-analytics/plan/releases/${{ github.event.release.id }}/assets' | jq -r '.[] | {name: .name, url: .browser_download_url} | select(.url | strings | test("Fabric") | not)' > asset.txt
|
|
jq -r '.url' asset.txt > url.txt
|
|
echo "RELEASE_DOWNLOAD_URL=$(cat url.txt)" >> $GITHUB_ENV
|
|
- name: Write REL release line
|
|
if: ${{ github.event.release.prerelease == false }}
|
|
run: |
|
|
echo "REL|${{ github.event.release.tag_name }}|${{ env.RELEASE_DOWNLOAD_URL }}|https://github.com/plan-player-analytics/Plan/releases" > release_line.txt
|
|
- name: Write DEV release line
|
|
if: ${{ github.event.release.prerelease == true }}
|
|
run: |
|
|
echo "DEV|${{ github.event.release.tag_name }}|${{ env.RELEASE_DOWNLOAD_URL }}|${{ github.event.release.html_url }}" > release_line.txt
|
|
- name: Append to versions.txt
|
|
run: |
|
|
cat versions.txt > temp.txt
|
|
cat release_line.txt temp.txt > versions.txt
|
|
- name: Commit and push changes
|
|
uses: EndBug/add-and-commit@v9
|
|
with:
|
|
committer_name: GitHub Actions
|
|
committer_email: 41898282+github-actions[bot]@users.noreply.github.com
|
|
message: Update versions.txt ${{ github.event.release.name }}
|
|
add: versions.txt
|
|
push: origin HEAD:master
|
|
|
|
update_html:
|
|
name: Update html-branch
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout 🛎️
|
|
uses: actions/checkout@v3
|
|
- name: Get git TAG
|
|
id: tagName
|
|
uses: olegtarasov/get-tag@v2.1
|
|
- name: Copy assets 🔧
|
|
run: |
|
|
mkdir -p workingdir/Plan/src/main/resources/assets/plan
|
|
mkdir -p workingdir/react/dashboard
|
|
cp -r Plan/common/src/main/resources/assets/plan workingdir/Plan/src/main/resources/assets/plan
|
|
cp -r Plan/react/dashboard workingdir/react/dashboard
|
|
- name: Deploy 🚀
|
|
uses: JamesIves/github-pages-deploy-action@4.0.0
|
|
with:
|
|
branch: html # The branch the action should deploy to.
|
|
folder: workingdir # The folder the action should deploy.
|
|
commit-message: ${{ steps.tagName.outputs.tag }}
|
|
|
|
upload_release_ore:
|
|
name: Ore Upload
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Download release artifact for upload
|
|
run: |
|
|
curl 'https://api.github.com/repos/plan-player-analytics/plan/releases/${{ github.event.release.id }}/assets' | jq -r '.[] | {name: .name, url: .browser_download_url} | select(.url | strings | test("Fabric") | not)' > asset.txt
|
|
jq -r '.url' asset.txt > url.txt
|
|
jq -r '.name' asset.txt > name.txt
|
|
wget -i url.txt
|
|
echo "JAR_FILENAME=$(cat name.txt)" >> $GITHUB_ENV
|
|
- name: Upload artifact for ore upload
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: ${{ github.event.release.name }}
|
|
path: ${{ env.JAR_FILENAME }}
|
|
- name: Upload release to Ore 🚀
|
|
if: ${{ github.event.release.prerelease == false }}
|
|
uses: dualspiral/ore-upload-action@v2
|
|
with:
|
|
plugin: ${{ github.event.release.name }}
|
|
description: ${{ github.event.release.body }}
|
|
apiKey: ${{ secrets.ORE_API_TOKEN }}
|
|
channel: Release
|
|
pluginId: plan
|
|
createForumPost: true
|
|
- name: Upload DEV release to Ore 🚀
|
|
if: ${{ github.event.release.prerelease == true }}
|
|
uses: dualspiral/ore-upload-action@v1
|
|
with:
|
|
plugin: ${{ github.event.release.name }}
|
|
description: ${{ github.event.release.body }}
|
|
apiKey: ${{ secrets.ORE_API_TOKEN }}
|
|
channel: DEV
|
|
pluginId: plan
|
|
createForumPost: false
|
|
|
|
upload_release_curseforge:
|
|
name: CurseForge Upload
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Download release artifact for upload
|
|
run: |
|
|
curl 'https://api.github.com/repos/plan-player-analytics/plan/releases/${{ github.event.release.id }}/assets' | jq -r '.[] | {name: .name, url: .browser_download_url} | select(.url | strings | test("Fabric"))' > asset.txt
|
|
jq -r '.url' asset.txt > url.txt
|
|
jq -r '.name' asset.txt > name.txt
|
|
wget -i url.txt
|
|
echo "JAR_FILENAME=$(cat name.txt)" >> $GITHUB_ENV
|
|
- name: Upload release to CurseForge 🚀
|
|
if: ${{ github.event.release.prerelease == false }}
|
|
uses: itsmeow/curseforge-upload@master
|
|
with:
|
|
token: ${{ secrets.CF_API_TOKEN }}
|
|
project_id: 508727
|
|
game_endpoint: minecraft
|
|
file_path: ${{ env.JAR_FILENAME }}
|
|
changelog: ${{ github.event.release.body }}
|
|
changelog_type: markdown
|
|
display_name: ${{ github.event.release.name }}
|
|
game_versions: "2:Java 17,75125:1.20,Fabric"
|
|
release_type: release
|
|
relations: fabric-api:requiredDependency,luckperms:optionalDependency
|
|
- name: Upload prerelease to CurseForge 🚀
|
|
if: ${{ github.event.release.prerelease == true }}
|
|
uses: itsmeow/curseforge-upload@master
|
|
with:
|
|
token: ${{ secrets.CF_API_TOKEN }}
|
|
project_id: 508727
|
|
game_endpoint: minecraft
|
|
file_path: ${{ env.JAR_FILENAME }}
|
|
changelog: ${{ github.event.release.body }}
|
|
changelog_type: markdown
|
|
display_name: ${{ github.event.release.name }}
|
|
game_versions: "2:Java 17,75125:1.20,Fabric"
|
|
release_type: beta
|
|
relations: fabric-api:requiredDependency,luckperms:optionalDependency
|