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,73 +1,66 @@
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
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- 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) - name: Build native binary
if: runner.os == 'Linux' run: ./gradlew nativeCompile
run: |
sudo apt-get update
sudo apt-get install -y build-essential zlib1g-dev
- name: Build native binary - name: Rename binary for platform
run: gradle clean nativeCompile --info run: |
mv build/native/nativeCompile/notevc notevc-${{ matrix.platform }}
- name: Package binary - name: Upload binary as artifact
run: | uses: actions/upload-artifact@v4
mkdir -p dist with:
cp build/native/nativeCompile/notevc dist/ name: notevc-${{ matrix.platform }}
cd dist path: notevc-${{ matrix.platform }}
tar -czf notevc-${{ matrix.platform }}.tar.gz notevc
if [[ "${{ runner.os }}" == "Linux" ]]; then release:
sha256sum notevc-${{ matrix.platform }}.tar.gz > notevc-${{ matrix.platform }}.tar.gz.sha256 needs: build
else runs-on: ubuntu-latest
shasum -a 256 notevc-${{ matrix.platform }}.tar.gz > notevc-${{ matrix.platform }}.tar.gz.sha256 permissions:
fi contents: write
- name: Upload build artifacts steps:
uses: actions/upload-artifact@v4 - name: Download all artifacts
with: uses: actions/download-artifact@v4
name: notevc-${{ matrix.platform }} with:
path: | path: binaries
dist/notevc-${{ matrix.platform }}.tar.gz
dist/notevc-${{ matrix.platform }}.tar.gz.sha256
- 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()
} }