From d2cf5dff528effbbc4c7e9faf04d0f549e8097ff Mon Sep 17 00:00:00 2001 From: Mariusz Kogen Date: Thu, 31 Oct 2024 15:13:15 +0100 Subject: [PATCH] Update buildService.yml Add missing files --- .github/workflows/buildService.yml | 65 +++++++++++++++++++++++------- 1 file changed, 50 insertions(+), 15 deletions(-) diff --git a/.github/workflows/buildService.yml b/.github/workflows/buildService.yml index ab6e729..6cf91f2 100644 --- a/.github/workflows/buildService.yml +++ b/.github/workflows/buildService.yml @@ -1,17 +1,15 @@ -name: Build Service +name: Release Service on: - workflow_dispatch: - pull_request: - paths-ignore: ['*.md'] - branches: ['main', 'master'] push: - paths-ignore: ['*.md'] - branches: ['main', 'master'] + tags: + - 'v*.*' jobs: - BuildPackage: + ReleasePackage: runs-on: ubuntu-latest + permissions: + contents: write steps: - name: Prepare StartOS SDK uses: Start9Labs/sdk@v1 @@ -20,18 +18,55 @@ jobs: uses: actions/checkout@v4 - name: Build the service package - id: build run: | git submodule update --init --recursive start-sdk init make - PACKAGE_ID=$(yq -oy ".id" manifest.*) - echo "package_id=$PACKAGE_ID" >> $GITHUB_ENV + + - 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: Upload .s9pk - uses: actions/upload-artifact@v4 + - 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: - name: ${{ env.package_id }}.s9pk - path: ./${{ env.package_id }}.s9pk + 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