name: Alpha Release on: push: branches: [dev] workflow_dispatch: permissions: contents: write id-token: write attestations: write env: # Next version - update when releasing NEXT_VERSION: "0.0.4" jobs: build: strategy: matrix: include: - os: ubuntu-latest goos: linux goarch: amd64 - os: ubuntu-latest goos: linux goarch: arm64 - os: macos-latest goos: darwin goarch: arm64 - os: windows-latest goos: windows goarch: amd64 runs-on: ${{ matrix.os }} env: GOOS: ${{ matrix.goos }} GOARCH: ${{ matrix.goarch }} steps: - uses: actions/checkout@v6 # GUI build disabled until build action supports Wails v3 # - name: Wails Build Action # uses: host-uk/build@v4.0.0 # with: # build-name: core # build-platform: ${{ matrix.goos }}/${{ matrix.goarch }} # build: true # package: true # sign: false - name: Setup Go uses: host-uk/build/actions/setup/go@v4.0.0 with: go-version: "1.25" - name: Build CLI shell: bash run: | EXT="" if [ "$GOOS" = "windows" ]; then EXT=".exe"; fi go build -o "./bin/core${EXT}" . - name: Upload artifact uses: actions/upload-artifact@v4 with: name: core-${{ matrix.goos }}-${{ matrix.goarch }} path: ./bin/core* release: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Download artifacts uses: actions/download-artifact@v7 with: path: dist merge-multiple: true - name: Prepare release files run: | mkdir -p release cp dist/* release/ 2>/dev/null || true ls -la release/ - name: Create alpha release env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | VERSION="v${{ env.NEXT_VERSION }}-alpha.${{ github.run_number }}" gh release create "$VERSION" \ --title "Alpha: $VERSION" \ --notes "Canary build from dev branch. **Version:** $VERSION **Commit:** ${{ github.sha }} **Built:** $(date -u +'%Y-%m-%d %H:%M:%S UTC') **Run:** ${{ github.run_id }} ## Channel: Alpha (Canary) This is an automated pre-release for early testing. - Systems and early adopters can test breaking changes - Quality scoring determines promotion to beta - Use stable releases for production ## Installation \`\`\`bash # macOS/Linux curl -fsSL https://github.com/host-uk/core/releases/download/$VERSION/core-linux-amd64 -o core chmod +x core && sudo mv core /usr/local/bin/ \`\`\` " \ --prerelease \ --target dev \ release/*