diff --git a/.github/workflows/buildService.yml b/.github/workflows/buildService.yml index c44bed7..f013351 100644 --- a/.github/workflows/buildService.yml +++ b/.github/workflows/buildService.yml @@ -20,16 +20,17 @@ jobs: uses: actions/checkout@v3 - name: Build the service package + id: build run: | git submodule update --init --recursive start-sdk init make PACKAGE_ID=$(yq -oy ".id" manifest.*) - mv ${PACKAGE_ID}*.s9pk ~/ + echo "::set-output name=package_id::$PACKAGE_ID" shell: bash - name: Upload .s9pk uses: actions/upload-artifact@v3 with: - name: ${{ env.PACKAGE_ID }}.s9pk - path: ~/*.s9pk + name: ${{ steps.build.outputs.package_id }}.s9pk + path: ./${{ steps.build.outputs.package_id }}.s9pk \ No newline at end of file diff --git a/.github/workflows/releaseService.yml b/.github/workflows/releaseService.yml index 40a7939..427d777 100644 --- a/.github/workflows/releaseService.yml +++ b/.github/workflows/releaseService.yml @@ -1,13 +1,12 @@ name: Release Service on: - workflow_dispatch: push: tags: - 'v*.*' jobs: - BuildPackage: + ReleasePackage: runs-on: ubuntu-latest permissions: contents: write @@ -24,27 +23,49 @@ jobs: start-sdk init make + - name: Setting package ID and title from the manifest + id: package + run: | + echo "::set-output name=package_id::$(yq -oy ".id" manifest.*)" + echo "::set-output name=package_title::$(yq -oy ".title" manifest.*)" + shell: bash + - name: Generate sha256 checksum run: | - sha256sum mutiny-wallet.s9pk > mutiny-wallet.s9pk.sha256 + PACKAGE_ID=${{ steps.package.outputs.package_id }} + sha256sum ${PACKAGE_ID}.s9pk > ${PACKAGE_ID}.s9pk.sha256 + shell: bash - name: Generate changelog run: | + PACKAGE_ID=${{ steps.package.outputs.package_id }} echo "## What's Changed" > change-log.txt - yq e '.release-notes' manifest.yaml >> change-log.txt + yq -oy '.release-notes' manifest.* >> change-log.txt echo "## SHA256 Hash" >> change-log.txt echo '```' >> change-log.txt - sha256sum mutiny-wallet.s9pk >> change-log.txt + sha256sum ${PACKAGE_ID}.s9pk >> change-log.txt echo '```' >> change-log.txt + shell: bash - - name: Create Release + - name: Create GitHub Release uses: softprops/action-gh-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref_name }} - name: Mutiny Wallet ${{ github.ref_name }} + name: ${{ steps.package.outputs.package_title }} ${{ github.ref_name }} + prerelease: true body_path: change-log.txt files: | - mutiny-wallet.s9pk - mutiny-wallet.s9pk.sha256 + ./${{ steps.package.outputs.package_id }}.s9pk + ./${{ steps.package.outputs.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 ${{ steps.package.outputs.package_id }}.s9pk + fi diff --git a/Dockerfile b/Dockerfile index 0c60031..159b223 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,7 +38,7 @@ ARG VITE_RGS ARG VITE_AUTH ARG VITE_STORAGE="/_services/vss/v2" ARG VITE_SELFHOSTED="true" -ARG VITE_COMMIT_HASH="dc239c1a47c2076e00c4f6c4f9f0aae810705802" +ARG VITE_COMMIT_HASH # Install dependencies RUN pnpm install --frozen-lockfile diff --git a/Makefile b/Makefile index 6ad0f48..192b0dc 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ PKG_ID := $(shell yq e ".id" manifest.yaml) PKG_VERSION := $(shell yq e ".version" manifest.yaml) TS_FILES := $(shell find ./ -name \*.ts) +COMMIT_HASH := $(shell cd mutiny-web && git rev-parse HEAD && cd ..) # delete the target of a rule if it has changed and its recipe exits with a nonzero exit status .DELETE_ON_ERROR: @@ -39,14 +40,14 @@ docker-images/aarch64.tar: Dockerfile docker_entrypoint.sh ifeq ($(ARCH),x86_64) else mkdir -p docker-images - docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --build-arg ARCH=aarch64 --platform=linux/arm64 -o type=docker,dest=docker-images/aarch64.tar . + docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --build-arg VITE_COMMIT_HASH=$(COMMIT_HASH) --platform=linux/arm64 -o type=docker,dest=docker-images/aarch64.tar . endif docker-images/x86_64.tar: Dockerfile docker_entrypoint.sh ifeq ($(ARCH),aarch64) else mkdir -p docker-images - docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --build-arg ARCH=x86_64 --platform=linux/amd64 -o type=docker,dest=docker-images/x86_64.tar . + docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --build-arg VITE_COMMIT_HASH=$(COMMIT_HASH) --platform=linux/amd64 -o type=docker,dest=docker-images/x86_64.tar . endif $(PKG_ID).s9pk: manifest.yaml instructions.md icon.png LICENSE scripts/embassy.js docker-images/aarch64.tar docker-images/x86_64.tar