linuxcraft/.forgejo/workflows/publish-release.yml
2025-07-13 22:11:09 +02:00

72 lines
1.8 KiB
YAML

name: Build Application
on:
push:
tags:
- 'v*'
jobs:
build-packs:
runs-on: docker
container:
image: codeberg.org/astreaprtcl/linuxcraft/alpine-packwiz:latest
steps:
- name: Checkout the repo
uses: actions/checkout@v4
- name: Build Package
run: |
packwiz mr export
packwiz cf export -s server
mv Linuxcraft-$GITHUB_REF_NAME.zip Linuxcraft-$GITHUB_REF_NAME-server.zip
packwiz cf export
- name: Upload binary artifact
uses: actions/upload-artifact@v3
with:
name: Linuxcraft-${{ env.GITHUB_REF_NAME }}
path: ./Linuxcraft-${{ env.GITHUB_REF_NAME }}.*
publish-artifacts:
runs-on: docker
steps:
- name: Checkout the repo
uses: actions/checkout@v4
- name: Get Release Notes
id: releasenotes
run: |
RELEASE_NOTES=$(sed -n "/$GITHUB_REF_NAME/,/^### /{s/$GITHUB_REF_NAME/Changelog/;/# v/d;s/###/#/;p}" README.md)
echo -e "Release Notes: \n$RELEASE_NOTES"
{
echo 'releasenotes<<EOF'
echo "${RELEASE_NOTES}"
echo EOF
} >> $GITHUB_OUTPUT
- name: Download Binaries
uses: actions/download-artifact@v3
with:
merge_multiple: true
path: artifacts
- name: Prepare release
run: |
mkdir release
mv artifacts/*/* release
- name: Upload binaries
uses: actions/forgejo-release@v2.6.0
with:
direction: upload
url: ${{ env.GITHUB_SERVER_URL }}
repo: ${{ env.GITHUB_REPOSITORY }}
token: ${{ secrets.TOKEN }}
release-dir: release
release-notes: ${{ steps.releasenotes.outputs.releasenotes }}
tag: "${{ github.ref_name }}"
sha: "${{ github.sha }}"
override: true
hide-archive-link: true