fix(bugfix): fixed some issues

This commit is contained in:
darwincereska
2025-11-10 15:18:55 -05:00
parent 3ae428ba8d
commit a3c1489125
4 changed files with 58 additions and 69 deletions

View File

@@ -1,27 +1,17 @@
name: Release name: Build and Release Native Binaries
on: on:
push: push:
tags: tags:
- 'v*' - 'v*'
workflow_dispatch:
inputs:
version:
description: 'Version to release (e.g., 1.0.0)'
required: true
type: string
jobs: jobs:
build: build:
name: Build ${{ matrix.platform }}
strategy: strategy:
fail-fast: false
matrix: matrix:
include: include:
- os: ubuntu-latest - os: ubuntu-latest
platform: linux-x64 platform: linux-x64
- os: macos-15-intel
platform: macos-x64
- os: macos-latest - os: macos-latest
platform: macos-arm64 platform: macos-arm64
@@ -34,40 +24,43 @@ jobs:
- name: Setup GraalVM - name: Setup GraalVM
uses: graalvm/setup-graalvm@v1 uses: graalvm/setup-graalvm@v1
with: with:
java-version: '21' java-version: '24'
distribution: 'graalvm' distribution: 'graalvm'
github-token: ${{ secrets.GITHUB_TOKEN }} github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Gradle - name: Setup Gradle
uses: gradle/actions/setup-gradle@v3 uses: gradle/actions/setup-gradle@v3
- name: Install native build tools (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y build-essential zlib1g-dev
- name: Build native binary - name: Build native binary
run: gradle clean nativeCompile --info run: ./gradlew nativeCompile
- name: Package binary - name: Rename binary for platform
run: | run: |
mkdir -p dist mv build/native/nativeCompile/notevc notevc-${{ matrix.platform }}
cp build/native/nativeCompile/notevc dist/
cd dist
tar -czf notevc-${{ matrix.platform }}.tar.gz notevc
if [[ "${{ runner.os }}" == "Linux" ]]; then - name: Upload binary as artifact
sha256sum notevc-${{ matrix.platform }}.tar.gz > notevc-${{ matrix.platform }}.tar.gz.sha256
else
shasum -a 256 notevc-${{ matrix.platform }}.tar.gz > notevc-${{ matrix.platform }}.tar.gz.sha256
fi
- name: Upload build artifacts
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: notevc-${{ matrix.platform }} name: notevc-${{ matrix.platform }}
path: | path: notevc-${{ matrix.platform }}
dist/notevc-${{ matrix.platform }}.tar.gz
dist/notevc-${{ matrix.platform }}.tar.gz.sha256
release:
needs: build
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: binaries
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: binaries/*/*
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -6,11 +6,11 @@ plugins {
application application
id("com.github.gmazzo.buildconfig") version "4.1.2" id("com.github.gmazzo.buildconfig") version "4.1.2"
id("com.gradleup.shadow") version "9.2.2" id("com.gradleup.shadow") version "9.2.2"
id("org.graalvm.buildtools.native") version "0.9.28" id("org.graalvm.buildtools.native") version "0.10.3"
} }
group = "io.notevc" group = "io.notevc"
version = "1.0.0" version = "1.0.1"
buildConfig { buildConfig {
buildConfigField("String", "VERSION", "\"${project.version}\"") buildConfigField("String", "VERSION", "\"${project.version}\"")
@@ -35,10 +35,8 @@ application {
mainClass.set("io.notevc.NoteVCKt") mainClass.set("io.notevc.NoteVCKt")
} }
tasks.shadowJar { tasks.shadowJar {
archiveClassifier.set("") // This should remove the -all suffix archiveClassifier.set("")
manifest { manifest {
attributes(mapOf("Main-Class" to "io.notevc.NoteVCKt")) attributes(mapOf("Main-Class" to "io.notevc.NoteVCKt"))
} }
@@ -50,9 +48,6 @@ graalvmNative {
imageName.set("notevc") imageName.set("notevc")
mainClass.set("io.notevc.NoteVCKt") mainClass.set("io.notevc.NoteVCKt")
// Force it to use the shadowJar
classpath.from(tasks.shadowJar.get().outputs.files)
buildArgs.addAll(listOf( buildArgs.addAll(listOf(
"--no-fallback", "--no-fallback",
"-H:+ReportExceptionStackTraces", "-H:+ReportExceptionStackTraces",
@@ -74,9 +69,10 @@ tasks.withType<Test> {
useJUnitPlatform() useJUnitPlatform()
} }
tasks.nativeCompile { // Remove this line - let GraalVM use the default classpath
dependsOn(tasks.shadowJar) // tasks.nativeCompile {
} // dependsOn(tasks.shadowJar)
// }
tasks.build { tasks.build {
dependsOn(tasks.shadowJar) dependsOn(tasks.shadowJar)

View File

@@ -1,2 +1,2 @@
org.gradle.caching=true org.gradle.caching=true
org.gradle.configuration-cache=true org.gradle.configuration-cache=false

View File

@@ -128,7 +128,7 @@ class StatusCommand {
grouped[FileStatusType.UNTRACKED]?.let { untrackedFiles -> grouped[FileStatusType.UNTRACKED]?.let { untrackedFiles ->
output.appendLine(ColorUtils.bold("Untracked files:")) output.appendLine(ColorUtils.bold("Untracked files:"))
untrackedFiles.forEach { fileStatus -> untrackedFiles.forEach { fileStatus ->
output.appendLine(" ${ColorUtils.untracked(fileStatus.path)} ${ColorUtils.dim("${fileStatus.blockCount} blocks)")}") output.appendLine(" ${ColorUtils.untracked(fileStatus.path)} ${ColorUtils.dim("(${fileStatus.blockCount} blocks)")}")
} }
output.appendLine() output.appendLine()
} }