Release #12
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: 'go.mod' | |
| cache: true | |
| - name: Set up Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: | | |
| go mod download | |
| npm ci | |
| echo "$PWD/node_modules/.bin" >> $GITHUB_PATH | |
| - name: Build WASM | |
| run: make wasm | |
| - name: Run tests | |
| run: go test -v ./... | |
| - name: Build binaries | |
| run: make build-all | |
| - name: Generate standalone HTML files | |
| run: | | |
| ./dist/rememory-linux-amd64 html create > dist/maker.html | |
| ./dist/rememory-linux-amd64 html recover > dist/recover.html | |
| - name: Generate demo bundles | |
| run: | | |
| mkdir -p demo | |
| cd demo | |
| ../dist/rememory-linux-amd64 init --name "Demo Project" --threshold 2 \ | |
| --friend "Alice,alice@example.com" \ | |
| --friend "Bob,bob@example.com" \ | |
| --friend "Carol,carol@example.com" | |
| cd recovery | |
| echo "This is a demo secret file." > manifest/demo-secret.txt | |
| echo "Another example file with sensitive data." > manifest/passwords.txt | |
| ../../dist/rememory-linux-amd64 seal | |
| # Create a zip of all demo bundles | |
| cd output/bundles | |
| zip -r ../../../../dist/demo-bundles.zip *.zip | |
| - name: Create checksums | |
| run: | | |
| cd dist | |
| sha256sum * > checksums.txt | |
| - name: Create Release | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| # Create draft release with assets (drafts can be modified) | |
| gh release create ${{ github.ref_name }} \ | |
| dist/rememory-linux-amd64 \ | |
| dist/rememory-linux-arm64 \ | |
| dist/rememory-darwin-amd64 \ | |
| dist/rememory-darwin-arm64 \ | |
| dist/rememory-windows-amd64.exe \ | |
| dist/demo-bundles.zip \ | |
| dist/checksums.txt \ | |
| dist/maker.html \ | |
| dist/recover.html \ | |
| --generate-notes \ | |
| --draft | |
| # Publish the release (now it becomes immutable) | |
| gh release edit ${{ github.ref_name }} --draft=false |