diff --git a/.cz.toml b/.cz.toml index b09874d..0f278b5 100644 --- a/.cz.toml +++ b/.cz.toml @@ -2,6 +2,6 @@ name = "cz_conventional_commits" tag_format = "$version" version_scheme = "semver2" -version = "0.0.1" +version = "0.1.0" update_changelog_on_bump = true major_version_zero = true diff --git a/.forgejo/workflows/build-release.yml b/.forgejo/workflows/build-release.yml new file mode 100644 index 0000000..ad1fb78 --- /dev/null +++ b/.forgejo/workflows/build-release.yml @@ -0,0 +1,76 @@ +name: Build and Release + +on: + push: + tags: + - 'v*' + workflow_dispatch: + +jobs: + build: + runs-on: 9950x + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.21' + + - name: Install UPX + run: | + sudo apt update + sudo apt install -y upx-ucl + + - name: Build normal binary + run: | + go build -o fps-go-brr . + + - name: Build compact binary + run: | + ./build-compact.sh + + - name: Get version + id: version + run: | + if [[ $GITHUB_REF == refs/tags/* ]]; then + echo "version=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + else + echo "version=dev-$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + fi + + - name: Create release directory + run: | + mkdir -p release + cp fps-go-brr release/fps-go-brr-${{ steps.version.outputs.version }} + cp fps-go-brr-compact release/fps-go-brr-compact-${{ steps.version.outputs.version }} + + - name: Upload normal binary + uses: actions/upload-artifact@v4 + with: + name: fps-go-brr-normal-${{ steps.version.outputs.version }} + path: release/fps-go-brr-${{ steps.version.outputs.version }} + + - name: Upload compact binary + uses: actions/upload-artifact@v4 + with: + name: fps-go-brr-compact-${{ steps.version.outputs.version }} + path: release/fps-go-brr-compact-${{ steps.version.outputs.version }} + + - name: Create Release + if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v1 + with: + files: | + release/fps-go-brr-${{ steps.version.outputs.version }} + release/fps-go-brr-compact-${{ steps.version.outputs.version }} + body: | + ## fps-go-brr ${{ steps.version.outputs.version }} + + ### Downloads + - `fps-go-brr-${{ steps.version.outputs.version }}` - Normal build + - `fps-go-brr-compact-${{ steps.version.outputs.version }}` - Compact build (optimized with UPX compression) + + The compact build is smaller but may have slightly slower startup time due to decompression. \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f492585 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,14 @@ +## 0.1.0 (2025-06-14) + +### Feat + +- **forgejo**: add a workflow for building binaries +- **build-compact.sh**: add build script that outputs a heavily compacted binary +- massive additions to output csv +- Get claude AI to generate and debug FPS measurement functionality +- allow selecting diff checker type and min diff +- first wave of tests + +### Fix + +- **gitignore**: add compiled binary to gitignore