Skip to content

vite config prepare vite8 #37

vite config prepare vite8

vite config prepare vite8 #37

name: Deterministic Build
on:
push:
tags: ['v*'] # Only auto-trigger on tagged releases
workflow_dispatch:
inputs:
ref:
description: 'Tag, branch, or commit to build (default: master)'
required: false
default: 'master'
jobs:
deterministic-build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.ref || github.ref }}
- name: Build deterministic packages
run: bash scripts/deterministic-build.sh
- name: Extract version
id: version
run: |
if [[ "${{ github.event.inputs.ref || github.ref }}" == refs/tags/* ]]; then
# For tags, use clean tag name
echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
elif [[ -n "${{ github.event.inputs.ref }}" ]]; then
# For manual builds, use specified ref
echo "version=${{ github.event.inputs.ref }}" >> $GITHUB_OUTPUT
else
# For branch builds, use branch name
echo "version=${{ github.ref_name }}" >> $GITHUB_OUTPUT
fi
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: deterministic-build-${{ steps.version.outputs.version }}
path: |
ssp-wallet-*.zip*
SHA256SUMS
- name: Create Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
files: |
ssp-wallet-chrome-${{ steps.version.outputs.version }}.zip
ssp-wallet-firefox-${{ steps.version.outputs.version }}.zip
SHA256SUMS
body: |
## Deterministic Build - ${{ steps.version.outputs.version }}
This release contains deterministic builds for both Chrome and Firefox.
**GPG Verification:** `gpg --verify SHA256SUMS.asc SHA256SUMS`
**Files Verification:** `sha256sum -c SHA256SUMS`
**Reproduction:** `git checkout ${{ github.event.inputs.ref || github.ref_name }} && npm run build:deterministic`
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}