release maybe
This commit is contained in:
116
.github/workflows/release.yml
vendored
116
.github/workflows/release.yml
vendored
@@ -9,6 +9,9 @@ on:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
|
||||||
|
env:
|
||||||
|
BUILD_TYPE: Release
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
homebrew:
|
homebrew:
|
||||||
name: Bump Homebrew formula
|
name: Bump Homebrew formula
|
||||||
@@ -34,4 +37,115 @@ jobs:
|
|||||||
|
|
||||||
Created by https://github.com/mislav/bump-homebrew-formula-action
|
Created by https://github.com/mislav/bump-homebrew-formula-action
|
||||||
env:
|
env:
|
||||||
COMMITTER_TOKEN: ${{ secrets.GH_CPAT }}
|
COMMITTER_TOKEN: ${{ secrets.GH_CPAT }}
|
||||||
|
linux-build:
|
||||||
|
name: Build Linux ${{ matrix.arch }}
|
||||||
|
runs-on: ${{ matrix.runner }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- arch: amd64
|
||||||
|
runner: ubuntu-latest
|
||||||
|
- arch: arm64
|
||||||
|
runner: ubuntu-24.04-arm64
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install deps
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y build-essential cmake pkg-config \
|
||||||
|
libncurses5-dev libncursesw5-dev \
|
||||||
|
libsdl2-dev libfreetype6-dev mesa-common-dev
|
||||||
|
|
||||||
|
- name: Configure (CMake, GUI ON)
|
||||||
|
run: |
|
||||||
|
cmake -S . -B build -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_GUI=ON
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake --build build --config ${BUILD_TYPE} -j
|
||||||
|
|
||||||
|
- name: Prepare dist
|
||||||
|
run: |
|
||||||
|
mkdir -p dist/linux-${{ matrix.arch }}
|
||||||
|
cp build/kte dist/linux-${{ matrix.arch }}/
|
||||||
|
cp build/kge dist/linux-${{ matrix.arch }}/
|
||||||
|
strip dist/linux-${{ matrix.arch }}/kte || true
|
||||||
|
strip dist/linux-${{ matrix.arch }}/kge || true
|
||||||
|
|
||||||
|
- name: Upload artifact (linux-${{ matrix.arch }})
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: linux-${{ matrix.arch }}
|
||||||
|
path: dist/linux-${{ matrix.arch }}/*
|
||||||
|
|
||||||
|
macos-build:
|
||||||
|
name: Build macOS arm64 (.app)
|
||||||
|
runs-on: macos-14
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install deps (brew)
|
||||||
|
run: |
|
||||||
|
brew update
|
||||||
|
brew install cmake ncurses sdl2 freetype
|
||||||
|
|
||||||
|
- name: Configure (CMake, GUI ON, arm64)
|
||||||
|
run: |
|
||||||
|
cmake -S . -B build -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_GUI=ON -DCMAKE_OSX_ARCHITECTURES=arm64
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cmake --build build --config ${BUILD_TYPE} -j
|
||||||
|
|
||||||
|
- name: Zip kge.app
|
||||||
|
run: |
|
||||||
|
mkdir -p dist/macos-arm64
|
||||||
|
cd build
|
||||||
|
ditto -c -k --sequesterRsrc --keepParent kge.app ../dist/macos-arm64/kge.app.zip
|
||||||
|
|
||||||
|
- name: Upload artifact (macos-arm64)
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: macos-arm64
|
||||||
|
path: dist/macos-arm64/kge.app.zip
|
||||||
|
|
||||||
|
release:
|
||||||
|
name: Create GitHub Release
|
||||||
|
needs: [ linux-build, macos-build ]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Download artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
path: dist
|
||||||
|
|
||||||
|
- name: Reshape artifact layout
|
||||||
|
run: |
|
||||||
|
ls -R dist
|
||||||
|
# Actions download-artifact places each named artifact in a subfolder
|
||||||
|
# Move into the expected dist structure for GoReleaser
|
||||||
|
mkdir -p dist/linux-amd64 dist/linux-arm64 dist/macos-arm64
|
||||||
|
if [ -d dist/linux-amd64/linux-amd64 ]; then mv dist/linux-amd64/linux-amd64/* dist/linux-amd64/; fi
|
||||||
|
if [ -d dist/linux-arm64/linux-arm64 ]; then mv dist/linux-arm64/linux-arm64/* dist/linux-arm64/; fi
|
||||||
|
if [ -d dist/macos-arm64/macos-arm64 ]; then mv dist/macos-arm64/macos-arm64/* dist/macos-arm64/; fi
|
||||||
|
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '1.22.x'
|
||||||
|
|
||||||
|
- name: Run GoReleaser
|
||||||
|
uses: goreleaser/goreleaser-action@v6
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
args: release --clean --config .goreleaser.yaml
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GH_CPAT }}
|
||||||
|
|||||||
69
.goreleaser.yaml
Normal file
69
.goreleaser.yaml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
# GoReleaser configuration for kte/kge (C++ project)
|
||||||
|
# We use GoReleaser only for releasing: changelog, checksums, and uploading
|
||||||
|
# prebuilt artifacts that are produced by the CI workflow.
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
|
||||||
|
project_name: kte
|
||||||
|
|
||||||
|
before:
|
||||||
|
hooks:
|
||||||
|
# No build here; artifacts are produced by the CI jobs and placed into dist/
|
||||||
|
- echo "GoReleaser: using prebuilt artifacts from dist/"
|
||||||
|
|
||||||
|
builds:
|
||||||
|
# No Go builds; this is a C++ project.
|
||||||
|
- id: noop
|
||||||
|
skip: true
|
||||||
|
|
||||||
|
checksum:
|
||||||
|
name_template: "checksums.txt"
|
||||||
|
algorithm: sha256
|
||||||
|
|
||||||
|
release:
|
||||||
|
# Rely on GITHUB_TOKEN from the workflow.
|
||||||
|
draft: false
|
||||||
|
prerelease: auto
|
||||||
|
mode: replace
|
||||||
|
footer: |
|
||||||
|
Built with CMake. See README for platform dependencies.
|
||||||
|
extra_files:
|
||||||
|
# Linux binaries (amd64, arm64)
|
||||||
|
- glob: dist/linux-amd64/kte
|
||||||
|
- glob: dist/linux-amd64/kge
|
||||||
|
- glob: dist/linux-arm64/kte
|
||||||
|
- glob: dist/linux-arm64/kge
|
||||||
|
# macOS Apple Silicon app bundle (zipped)
|
||||||
|
- glob: dist/macos-arm64/kge.app.zip
|
||||||
|
|
||||||
|
changelog:
|
||||||
|
sort: asc
|
||||||
|
use: github
|
||||||
|
filters:
|
||||||
|
exclude:
|
||||||
|
- '^docs: '
|
||||||
|
- '^chore: '
|
||||||
|
- '^ci: '
|
||||||
|
|
||||||
|
announce:
|
||||||
|
skip: true
|
||||||
|
|
||||||
|
signs:
|
||||||
|
# No signing by default.
|
||||||
|
- artifacts: none
|
||||||
|
|
||||||
|
archives:
|
||||||
|
# We are uploading raw binaries / zip created by CI, so no archives here.
|
||||||
|
- id: none
|
||||||
|
formats: [binary]
|
||||||
|
builds: [noop]
|
||||||
|
|
||||||
|
blobs: []
|
||||||
|
|
||||||
|
brews: []
|
||||||
|
|
||||||
|
snapcrafts: []
|
||||||
|
|
||||||
|
nfpm: []
|
||||||
|
|
||||||
|
publishers: []
|
||||||
20
.idea/workspace.xml
generated
20
.idea/workspace.xml
generated
@@ -33,8 +33,9 @@
|
|||||||
</configurations>
|
</configurations>
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e1fe3ab0-3650-4fca-8664-a247d5dfa457" name="Changes" comment="Add buffer position display and documentation improvements. - Display buffer position prefix "[x/N]" in GUI and terminal renderers. - Improve `kte` and `kge` man pages with frontend usage details and project homepage. - Update README with GUI invocation instructions. - Bump version to 1.0.0.">
|
<list default="true" id="e1fe3ab0-3650-4fca-8664-a247d5dfa457" name="Changes" comment="Actually add the screenshot.">
|
||||||
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.github/workflows/release.yml" beforeDir="false" afterPath="$PROJECT_DIR$/.github/workflows/release.yml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@@ -168,7 +169,7 @@
|
|||||||
<workItem from="1764539556448" duration="156000" />
|
<workItem from="1764539556448" duration="156000" />
|
||||||
<workItem from="1764539725338" duration="1075000" />
|
<workItem from="1764539725338" duration="1075000" />
|
||||||
<workItem from="1764542392763" duration="3512000" />
|
<workItem from="1764542392763" duration="3512000" />
|
||||||
<workItem from="1764548345516" duration="9362000" />
|
<workItem from="1764548345516" duration="9962000" />
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00001" summary="Add undo/redo infrastructure and buffer management additions.">
|
<task id="LOCAL-00001" summary="Add undo/redo infrastructure and buffer management additions.">
|
||||||
<option name="closed" value="true" />
|
<option name="closed" value="true" />
|
||||||
@@ -274,7 +275,15 @@
|
|||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1764556854788</updated>
|
<updated>1764556854788</updated>
|
||||||
</task>
|
</task>
|
||||||
<option name="localTasksCounter" value="14" />
|
<task id="LOCAL-00014" summary="Actually add the screenshot.">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1764557759844</created>
|
||||||
|
<option name="number" value="00014" />
|
||||||
|
<option name="presentableId" value="LOCAL-00014" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1764557759844</updated>
|
||||||
|
</task>
|
||||||
|
<option name="localTasksCounter" value="15" />
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TypeScriptGeneratedFilesManager">
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
@@ -301,7 +310,8 @@
|
|||||||
<MESSAGE value="Add horizontal scrolling support and refactor mouse click handling in GUI. - Introduce horizontal scrolling with column offset synchronization in GUI. - Refactor mouse click handling for improved accuracy and viewport alignment. - Enhance tab expansion and cursor rendering logic for better user experience. - Replace redundant variable declarations in `Buffer` for cleaner code." />
|
<MESSAGE value="Add horizontal scrolling support and refactor mouse click handling in GUI. - Introduce horizontal scrolling with column offset synchronization in GUI. - Refactor mouse click handling for improved accuracy and viewport alignment. - Enhance tab expansion and cursor rendering logic for better user experience. - Replace redundant variable declarations in `Buffer` for cleaner code." />
|
||||||
<MESSAGE value="Introduce file picker and GUI configuration with enhancements. - Add visual file picker for GUI with toggle support. - Introduce `GUIConfig` class for loading GUI settings from configuration file. - Refactor window initialization to support dynamic sizing based on configuration. - Add macOS-specific handling for fullscreen behavior. - Improve header inclusion order and minor code cleanup." />
|
<MESSAGE value="Introduce file picker and GUI configuration with enhancements. - Add visual file picker for GUI with toggle support. - Introduce `GUIConfig` class for loading GUI settings from configuration file. - Refactor window initialization to support dynamic sizing based on configuration. - Add macOS-specific handling for fullscreen behavior. - Improve header inclusion order and minor code cleanup." />
|
||||||
<MESSAGE value="Add buffer position display and documentation improvements. - Display buffer position prefix "[x/N]" in GUI and terminal renderers. - Improve `kte` and `kge` man pages with frontend usage details and project homepage. - Update README with GUI invocation instructions. - Bump version to 1.0.0." />
|
<MESSAGE value="Add buffer position display and documentation improvements. - Display buffer position prefix "[x/N]" in GUI and terminal renderers. - Improve `kte` and `kge` man pages with frontend usage details and project homepage. - Update README with GUI invocation instructions. - Bump version to 1.0.0." />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="Add buffer position display and documentation improvements. - Display buffer position prefix "[x/N]" in GUI and terminal renderers. - Improve `kte` and `kge` man pages with frontend usage details and project homepage. - Update README with GUI invocation instructions. - Bump version to 1.0.0." />
|
<MESSAGE value="Actually add the screenshot." />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" value="Actually add the screenshot." />
|
||||||
</component>
|
</component>
|
||||||
<component name="XSLT-Support.FileAssociations.UIState">
|
<component name="XSLT-Support.FileAssociations.UIState">
|
||||||
<expand />
|
<expand />
|
||||||
|
|||||||
Reference in New Issue
Block a user