From dade79b6b50353b9f380d1ca789fabebadf5b386 Mon Sep 17 00:00:00 2001 From: aria Date: Sat, 14 Jun 2025 02:31:42 +1000 Subject: [PATCH 1/2] feat(forgejo): add a workflow for building binaries --- .forgejo/workflows/build-release.yml | 76 ++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .forgejo/workflows/build-release.yml 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 From d5bd82a6ba4e20604ef16c78ca207dc0ae80f67b Mon Sep 17 00:00:00 2001 From: aria Date: Sat, 14 Jun 2025 02:32:00 +1000 Subject: [PATCH 2/2] =?UTF-8?q?bump:=20version=200.0.1=20=E2=86=92=200.1.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cz.toml | 2 +- CHANGELOG.md | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md 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/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