fix(bugfix): fixed some issues
This commit is contained in:
105
.github/workflows/release.yml
vendored
105
.github/workflows/release.yml
vendored
@@ -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
|
- name: Rename binary for platform
|
||||||
sudo apt-get install -y build-essential zlib1g-dev
|
run: |
|
||||||
|
mv build/native/nativeCompile/notevc notevc-${{ matrix.platform }}
|
||||||
- name: Build native binary
|
|
||||||
run: gradle clean nativeCompile --info
|
- name: Upload binary as artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
- name: Package binary
|
with:
|
||||||
run: |
|
name: notevc-${{ matrix.platform }}
|
||||||
mkdir -p dist
|
path: notevc-${{ matrix.platform }}
|
||||||
cp build/native/nativeCompile/notevc dist/
|
|
||||||
cd dist
|
release:
|
||||||
tar -czf notevc-${{ matrix.platform }}.tar.gz notevc
|
needs: build
|
||||||
|
runs-on: ubuntu-latest
|
||||||
if [[ "${{ runner.os }}" == "Linux" ]]; then
|
permissions:
|
||||||
sha256sum notevc-${{ matrix.platform }}.tar.gz > notevc-${{ matrix.platform }}.tar.gz.sha256
|
contents: write
|
||||||
else
|
|
||||||
shasum -a 256 notevc-${{ matrix.platform }}.tar.gz > notevc-${{ matrix.platform }}.tar.gz.sha256
|
steps:
|
||||||
fi
|
- name: Download all artifacts
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
- name: Upload build artifacts
|
with:
|
||||||
uses: actions/upload-artifact@v4
|
path: binaries
|
||||||
with:
|
|
||||||
name: notevc-${{ matrix.platform }}
|
- name: Create Release
|
||||||
path: |
|
uses: softprops/action-gh-release@v1
|
||||||
dist/notevc-${{ matrix.platform }}.tar.gz
|
with:
|
||||||
dist/notevc-${{ matrix.platform }}.tar.gz.sha256
|
files: binaries/*/*
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
org.gradle.caching=true
|
org.gradle.caching=true
|
||||||
org.gradle.configuration-cache=true
|
org.gradle.configuration-cache=false
|
||||||
|
|||||||
@@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user