ci: add deterministic tester to release workflow #3
Workflow file for this run
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: Release | |
on: | |
push: | |
tags: | |
- "v*" | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
- uses: actions/checkout@v4 | |
- name: Auto Changelog | |
uses: ardalanamini/[email protected] | |
id: changelog | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
commit-types: | | |
feat: New Features | |
fix: Bug Fixes | |
build: Build System & Dependencies | |
perf: Performance Improvements | |
docs: Documentation | |
test: Tests | |
refactor: Refactors | |
chore: Chores | |
ci: CI | |
cd: CD | |
style: Code Style | |
revert: Reverts | |
- name: Install dependencies | |
working-directory: src | |
run: go mod tidy | |
- name: Run tests | |
working-directory: src | |
run: go test ./... | |
- name: Build | |
working-directory: src | |
run: | | |
tag=$(git describe --tags --abbrev=0) | |
# Linux build | |
GOOS=linux GOARCH=amd64 go build -o bin/linux/aion-cli | |
release_name_linux="aion-cli-$tag-linux" | |
tar -czvf bin/linux/$release_name_linux.tar.gz bin/linux/aion-cli | |
cp bin/linux/aion-cli /testing/ | |
GOOS=darwin GOARCH=amd64 go build -o bin/darwin/aion-cli | |
release_name_macos="aion-cli-$tag-macos" | |
tar -czvf bin/darwin/$release_name_macos.tar.gz bin/darwin/aion-cli | |
GOOS=windows GOARCH=amd64 go build -o bin/windows/aion-cli.exe | |
release_name_windows="aion-cli-$tag-windows" | |
tar -czvf bin/windows/$release_name_windows.tar.gz bin/windows/aion-cli.exe | |
# Maybe create a arm build for macos | |
- name: Test deterministic outcome of solver | |
working-directory: testing | |
run: | | |
chmod +x aion-cli | |
chmod +x deterministic.sh | |
./deterministic.sh | |
- name: Release project | |
uses: softprops/action-gh-release@v2 | |
with: | |
body: ${{steps.changelog.outputs.changelog}} | |
files: "./src/bin/*.tar.gz" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |