mirror of
https://github.com/Retropex/DeepSea-startos.git
synced 2025-05-12 13:40:41 +02:00
73 lines
2.2 KiB
YAML
73 lines
2.2 KiB
YAML
name: Release Service
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*.*'
|
|
|
|
jobs:
|
|
ReleasePackage:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- name: Prepare StartOS SDK
|
|
uses: Start9Labs/sdk@v1
|
|
|
|
- name: Checkout services repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Build the service package
|
|
run: |
|
|
git submodule update --init --recursive
|
|
start-sdk init
|
|
make
|
|
|
|
- name: Setting package ID and title from the manifest
|
|
id: package
|
|
run: |
|
|
echo "package_id=$(yq -oy ".id" manifest.*)" >> $GITHUB_ENV
|
|
echo "package_title=$(yq -oy ".title" manifest.*)" >> $GITHUB_ENV
|
|
shell: bash
|
|
|
|
- name: Generate sha256 checksum
|
|
run: |
|
|
PACKAGE_ID=${{ env.package_id }}
|
|
printf "\n SHA256SUM: $(sha256sum ${PACKAGE_ID}.s9pk) \n"
|
|
sha256sum ${PACKAGE_ID}.s9pk > ${PACKAGE_ID}.s9pk.sha256
|
|
shell: bash
|
|
|
|
- name: Generate changelog
|
|
run: |
|
|
PACKAGE_ID=${{ env.package_id }}
|
|
echo "## What's Changed" > change-log.txt
|
|
yq -oy '.release-notes' manifest.* >> change-log.txt
|
|
echo "## SHA256 Hash" >> change-log.txt
|
|
echo '```' >> change-log.txt
|
|
sha256sum ${PACKAGE_ID}.s9pk >> change-log.txt
|
|
echo '```' >> change-log.txt
|
|
shell: bash
|
|
|
|
- name: Create GitHub Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
tag_name: ${{ github.ref_name }}
|
|
name: ${{ env.package_title }} ${{ github.ref_name }}
|
|
prerelease: true
|
|
body_path: change-log.txt
|
|
files: |
|
|
./${{ env.package_id }}.s9pk
|
|
./${{ env.package_id }}.s9pk.sha256
|
|
|
|
- name: Publish to Registry
|
|
env:
|
|
S9USER: ${{ secrets.S9USER }}
|
|
S9PASS: ${{ secrets.S9PASS }}
|
|
S9REGISTRY: ${{ secrets.S9REGISTRY }}
|
|
run: |
|
|
if [[ -z "$S9USER" || -z "$S9PASS" || -z "$S9REGISTRY" ]]; then
|
|
echo "Publish skipped: missing registry credentials."
|
|
else
|
|
start-sdk publish https://$S9USER:$S9PASS@$S9REGISTRY ${{ env.package_id }}.s9pk
|
|
fi
|