Merge remote-tracking branch 'origin/main' into refactor_for_stream #266
This file contains 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: build | |
on: [push] | |
jobs: | |
build_linux: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build for linux | |
run: make docker-build-linux | |
- name: Upload binary artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: katzen | |
path: ./katzen | |
build_other_linuxes: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build for linux (alpine) | |
run: make distro=alpine docker-build-linux | |
- name: Upload binary artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: katzen.alpine | |
path: ./katzen | |
#- name: Build for Nix | |
# run: make docker-build-nix | |
#- name: Save output artifact name | |
# run: ls nix_build | head -1 > nixos.output | |
#- name: Upload binary artifact | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: nixos.output | |
# path: nixos.output | |
build_windows: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build for windows | |
run: make docker-build-windows | |
- name: Upload binary artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: katzen.exe | |
path: ./katzen.exe | |
build_macos: | |
strategy: | |
matrix: | |
go-version: [1.22.x] | |
os: [macos-15] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build for MacOS (amd64) | |
run: CGO_CFLAGS_ALLOW="-DPARAMS=sphincs-shake-256f" CGO_ENABLED=1 GOOS="darwin" GOARCH="amd64" go build -trimpath -ldflags=-buildid= -tags dynamic -o katzen-macos-amd64 | |
- name: Build for MacOS (arm64) | |
run: CGO_CFLAGS_ALLOW="-DPARAMS=sphincs-shake-256f" CGO_ENABLED=1 GOOS="darwin" GOARCH="arm64" go build -trimpath -ldflags=-buildid= -tags dynamic -o katzen-macos-arm64 | |
- name: Upload binary artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: katzen-macos-amd64 | |
path: ./katzen-macos-amd64 | |
- name: Upload binary artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: katzen-macos-arm64 | |
path: ./katzen-macos-arm64 | |
build_android: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Build for android | |
run: make KEYSTORE=reproducible.keystore KEYPASS=reproducible docker-build-android | |
- name: Upload binary artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: katzen.apk | |
path: ./katzen.apk | |
create_release: | |
runs-on: ubuntu-22.04 | |
needs: [build_linux, build_other_linuxes, build_windows, build_macos, build_android] | |
steps: | |
- name: Download katzen linux | |
uses: actions/download-artifact@v4 | |
with: | |
name: katzen | |
- name: Download katzen windows | |
uses: actions/download-artifact@v4 | |
with: | |
name: katzen.exe | |
- name: Download katzen android | |
uses: actions/download-artifact@v4 | |
with: | |
name: katzen.apk | |
- name: Download katzen macos | |
uses: actions/download-artifact@v4 | |
with: | |
name: katzen-macos-amd64 | |
- name: Download katzen macos | |
uses: actions/download-artifact@v4 | |
with: | |
name: katzen-macos-arm64 | |
#- name: Download nixos output name | |
# uses: actions/download-artifact@v4 | |
# with: | |
# name: nixos.output | |
- name: Hash and commit | |
run: | | |
sha256sum katzen katzen.apk katzen-macos-arm64 katzen-macos-amd64 katzen.exe > katzen.sha256 | |
# echo -n "# the nixos output was: " >> katzen.sha256 | |
# cat nixos.output >> katzen.sha256 | |
- name: Create release | |
id: create_release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: test_${{ github.sha}} | |
release_name: Testing ${{ github.sha}} | |
prerelease: true | |
- name: Upload katzen.sha256 | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: ./katzen.sha256 | |
asset_name: katzen.sha256 | |
asset_content_type: text/plain |