From 993d81a1366e4b2a1f2f62a49e037677e79b6619 Mon Sep 17 00:00:00 2001 From: m1ngsama Date: Wed, 19 Nov 2025 17:56:01 +0800 Subject: [PATCH] feat: Add GitHub Actions workflow for automated build and source-only release --- .github/workflows/release.yml | 51 +++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..ba4ce62 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,51 @@ +name: Build and Release + +on: + push: + tags: + - 'v*.*.*' # Trigger on pushes to tags like v1.0.0 + workflow_dispatch: # Allows manual trigger + +jobs: + build_and_release: + runs-on: macos-latest # Using macOS due to existing brew dependencies + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + brew update + brew install cmake ncurses curl + + - name: Configure CMake + run: | + mkdir -p build + cd build + cmake .. + + - name: Build project + run: | + cd build + cmake --build . + + - name: Get executable path + id: get_exe_path + run: | + echo "EXECUTABLE_NAME=$(find build -name 'nbtca_tui' -type f | head -n 1)" >> $GITHUB_OUTPUT + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + body: | + Automated release for ${{ github.ref }} + See the [README](https://github.com/${{ github.repository }}/blob/${{ github.ref }}/README.md) for build and usage instructions. + draft: false + prerelease: false +