Update release changelog #16
Workflow file for this run
This file contains hidden or 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 and Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| 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: amd64 | |
| - os: macos-latest | |
| goos: darwin | |
| goarch: arm64 | |
| - os: windows-latest | |
| goos: windows | |
| goarch: amd64 | |
| - os: windows-latest | |
| goos: windows | |
| goarch: arm64 | |
| - os: windows-latest | |
| goos: windows | |
| goarch: 386 | |
| runs-on: ${{ matrix.os }} | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.22' | |
| - name: Build | |
| shell: bash | |
| run: | | |
| export GOOS=${{ matrix.goos }} | |
| export GOARCH=${{ matrix.goarch }} | |
| if [ "$GOOS" = "windows" ] && [ "$GOARCH" = "arm64" ]; then | |
| echo "Skipping unsupported windows/arm64" | |
| exit 0 | |
| fi | |
| go build -ldflags "-s -w" -o mhr-cfw-go-${{ matrix.goos }}-${{ matrix.goarch }} ./cmd/mhr-cfw | |
| - name: Rename Windows executable | |
| if: matrix.goos == 'windows' && matrix.goarch != 'arm64' | |
| shell: bash | |
| run: mv mhr-cfw-go-windows-${{ matrix.goarch }} mhr-cfw-go-windows-${{ matrix.goarch }}.exe | |
| - name: Upload artifact | |
| if: matrix.goos != 'windows' || matrix.goarch != 'arm64' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: mhr-cfw-go-${{ matrix.goos }}-${{ matrix.goarch }} | |
| path: mhr-cfw-go-${{ matrix.goos }}-${{ matrix.goarch }}* | |
| release: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| if: startsWith(github.ref, 'refs/tags/') | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: ./binaries | |
| pattern: mhr-cfw-go-* | |
| merge-multiple: true | |
| - name: List binaries | |
| run: ls -la ./binaries | |
| - name: Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: ./binaries/* | |
| body: | | |
| ## Bug Fixes | |
| - Updated version to 1.4.0. | |
| - Improved graceful shutdown by closing active client connections on stop. | |
| ## Improvements | |
| - Added startup prewarm to keep Apps Script containers hot for faster first requests. | |
| - Added periodic keepalive ping to reduce idle latency spikes. | |
| - Tuned HTTP/2 transport with idle and ping timeouts for more stable performance. | |
| - Enabled static asset cache fast-path to reduce repeated relay calls. | |
| 🦢 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |