Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
6393f87
wip
acharneski Apr 23, 2025
b04367c
wip
acharneski Apr 23, 2025
f05a750
wip
acharneski Apr 23, 2025
e633330
wip
acharneski Apr 23, 2025
864d7a8
wip
acharneski Apr 23, 2025
4de8417
misc
acharneski Apr 24, 2025
9b6e6a4
fix
acharneski Apr 24, 2025
fc0d732
readmes
acharneski Apr 24, 2025
c425167
wip
acharneski Apr 25, 2025
1d5be23
wip
acharneski Apr 25, 2025
3960e91
build cleanup
acharneski Apr 25, 2025
f8d101f
wip
acharneski Apr 25, 2025
b5f6d1b
wip
acharneski Apr 25, 2025
adba28e
wip
acharneski Apr 26, 2025
ab34570
wip
acharneski Apr 26, 2025
0f56fb1
wip
acharneski Apr 26, 2025
3981fea
Delete metadata.lck
acharneski Apr 26, 2025
d31fdc7
checkin
acharneski Apr 26, 2025
4142b30
Update .gitignore
acharneski Apr 26, 2025
fab5b3e
fixes
acharneski Apr 26, 2025
59c9fde
wip
acharneski Apr 26, 2025
fccbef5
wip
acharneski Apr 26, 2025
e1eda09
wip
acharneski Apr 26, 2025
fb3b625
wip
acharneski Apr 26, 2025
fc3c40d
wip
acharneski Apr 26, 2025
44bc245
wip
acharneski Apr 26, 2025
ffb090a
wip
acharneski Apr 26, 2025
e2d3538
wip
acharneski Apr 26, 2025
414bc6b
wip
acharneski Apr 26, 2025
1062336
wip
acharneski Apr 26, 2025
141f508
wip
acharneski Apr 26, 2025
d9f876d
wip
acharneski Apr 26, 2025
f52ea4a
wip
acharneski Apr 26, 2025
529f100
wip
acharneski Apr 26, 2025
28f2a95
wip
acharneski Apr 27, 2025
fff0b7f
wip
acharneski Apr 27, 2025
2a8865b
wip
acharneski Apr 27, 2025
be30e91
wip
acharneski Apr 27, 2025
19022c3
wip
acharneski Apr 27, 2025
faf9b92
wip
acharneski Apr 27, 2025
999b18d
wip
acharneski Apr 27, 2025
3916607
wip
acharneski Apr 27, 2025
aff7842
wip
acharneski Apr 27, 2025
caf22a1
wip
acharneski Apr 27, 2025
094ea54
wip
acharneski Apr 27, 2025
f0803c2
wip
acharneski Apr 27, 2025
22504b3
wip
acharneski Apr 27, 2025
d659460
wip
acharneski Apr 27, 2025
1b22f59
wip
acharneski Apr 27, 2025
87a622d
wip
acharneski Apr 27, 2025
56adc84
wip
acharneski Apr 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
181 changes: 137 additions & 44 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

defaults:
run:
working-directory: .

jobs:
build:
name: Build
Expand Down Expand Up @@ -53,40 +49,36 @@ jobs:
echo "JAVA_HOME=$JAVA_HOME"

- name: Make Gradle wrapper executable
run: chmod +x intellij/gradlew
run: chmod +x ./gradlew

- name: Print Gradle version
working-directory: intellij
run: ./gradlew --version

- name: Export Properties
working-directory: intellij
id: properties
shell: bash
run: |
echo "Starting properties export..."
PROPERTIES="$(./gradlew properties --console=plain -q)"
PROPERTIES="$(./gradlew :intellij:properties --console=plain -q)"
VERSION="$(echo "$PROPERTIES" | grep "^version:" | cut -f2- -d ' ')"
CHANGELOG="$(./gradlew getChangelog --unreleased --no-header --console=plain -q)"
CHANGELOG="$(./gradlew :intellij:getChangelog --unreleased --no-header --console=plain -q)"
echo "Detected version: $VERSION"

echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "pluginVerifierHomeDir=~/.pluginVerifier" >> $GITHUB_OUTPUT

echo "changelog<<EOF" >> $GITHUB_OUTPUT
echo "$CHANGELOG" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
echo "Properties export completed"

- name: Build plugin
working-directory: intellij
run: |
echo "Starting plugin build..."
./gradlew buildPlugin --info
./gradlew :intellij:buildPlugin --info
echo "Plugin build completed"

- name: Prepare Plugin Artifact
working-directory: intellij
id: artifact
shell: bash
run: |
Expand All @@ -100,7 +92,6 @@ jobs:
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
working-directory: intellij
name: ${{ steps.artifact.outputs.filename }}
path: intellij/build/distributions/*

Expand Down Expand Up @@ -135,42 +126,114 @@ jobs:
- name: Ensure App Image Directory Exists
shell: pwsh
run: |
if (-Not (Test-Path "build\\jpackage\\SkyenetApps")) {
New-Item -ItemType Directory -Force -Path "build\\jpackage\\SkyenetApps"
if (-Not (Test-Path "build\\jpackage\\Cognotik")) {
New-Item -ItemType Directory -Force -Path "build\\jpackage\\Cognotik"
}
- name: Update SkyenetApps Version
- name: Update Cognotik Version
shell: pwsh
run: |
$version = "${{ needs.build.outputs.version }}"
Write-Output "Setting SkyenetApps version to: $version"
$gradlePropertiesPath = "SkyenetApps/gradle.properties"
Write-Output "Setting Cognotik version to: $version"
$gradlePropertiesPath = "gradle.properties"
$content = Get-Content $gradlePropertiesPath -Raw
$updatedContent = $content -replace "libraryVersion\s*=\s*[0-9.]+", "libraryVersion = $version"
Set-Content -Path $gradlePropertiesPath -Value $updatedContent
Write-Output "Updated gradle.properties with new version"
- name: Make Gradle wrapper executable
working-directory: SkyenetApps
run: |
# Ensure the wrapper is executable on Windows
chmod +x ./gradlew.bat
- name: Build Windows MSI Installer
working-directory: SkyenetApps
run: ./gradlew.bat jpackage
run: ./gradlew.bat :desktop:package
- name: List MSI artifacts
working-directory: SkyenetApps
run: |
echo "MSI artifacts in jpackage directory:"
if (Test-Path "build/jpackage") {
Get-ChildItem -Path build/jpackage -Recurse -Filter *.msi | ForEach-Object { $_.FullName }
if (Test-Path "desktop/build/jpackage") {
Get-ChildItem -Path desktop/build/jpackage -Recurse -Filter *.msi | ForEach-Object { $_.FullName }
} else {
Write-Output "build/jpackage directory not found."
Write-Output "desktop/build/jpackage directory not found."
}
- name: Upload MSI artifact
uses: actions/upload-artifact@v4
with:
name: skyenet-windows-installer
path: SkyenetApps/build/jpackage/*.msi

path: desktop/build/jpackage/*.msi
build-linux-installer:
name: Build Linux Installer
runs-on: ubuntu-latest
needs: [ build ]
env:
GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.logging.level=info"
steps:
- name: Maximize Build Space
uses: jlumbroso/free-disk-space@main
with:
tool-cache: false
- name: Configure Git
run: |
git config --global init.defaultBranch main
git --version
echo "Git configuration:"
git config --list
- name: Fetch Sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 17
- name: Print Java version
run: |
java -version
echo "JAVA_HOME=$JAVA_HOME"
- name: Make Gradle wrapper executable
run: chmod +x ./gradlew
- name: Build Linux DEB Installer
run: ./gradlew :desktop:package
- name: List DEB artifacts
run: |
echo "DEB artifacts in jpackage directory:"
ls -la desktop/build/jpackage/*.deb || echo "No DEB files found"
- name: Upload DEB artifact
uses: actions/upload-artifact@v4
with:
name: skyenet-linux-installer
path: desktop/build/jpackage/*.deb
build-mac-installer:
name: Build Mac Installer
runs-on: macos-latest
needs: [ build ]
env:
GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.logging.level=info"
steps:
- name: Fetch Sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 17
- name: Print Java version
run: |
java -version
echo "JAVA_HOME=$JAVA_HOME"
- name: Make Gradle wrapper executable
run: chmod +x ./gradlew
- name: Build Mac DMG Installer
run: ./gradlew :desktop:package
- name: List DMG artifacts
run: |
echo "DMG artifacts in jpackage directory:"
ls -la desktop/build/jpackage/*.dmg || echo "No DMG files found"
- name: Upload DMG artifact
uses: actions/upload-artifact@v4
with:
name: skyenet-mac-installer
path: desktop/build/jpackage/*.dmg

test:
name: Test
Expand Down Expand Up @@ -209,17 +272,15 @@ jobs:
echo "JAVA_HOME=$JAVA_HOME"

- name: Make Gradle wrapper executable
run: chmod +x intellij/gradlew
run: chmod +x ./gradlew

- name: Print Gradle version
working-directory: intellij
run: ./gradlew --version

- name: Run Tests
working-directory: intellij
run: |
echo "Starting test execution..."
./gradlew check --info
./gradlew test check
echo "Test execution completed"

- name: Collect Tests Result
Expand Down Expand Up @@ -254,8 +315,6 @@ jobs:

- name: Gradle Wrapper Validation
uses: gradle/actions/wrapper-validation@v3
with:
working-directory: intellij

- name: Setup Java
uses: actions/setup-java@v4
Expand All @@ -277,7 +336,6 @@ jobs:
run: chmod +x ./gradlew

- name: Print Gradle version
working-directory: intellij
run: ./gradlew --version

- name: Setup Plugin Verifier IDEs Cache
Expand All @@ -287,8 +345,7 @@ jobs:
key: plugin-verifier-${{ hashFiles('intellij/build/listProductsReleases.txt') }}

- name: Run Plugin Verification tasks
working-directory: intellij
run: ./gradlew verifyPlugin
run: ./gradlew :intellij:verifyPlugin

- name: Collect Plugin Verifier Result
if: ${{ always() }}
Expand All @@ -297,10 +354,12 @@ jobs:
name: pluginVerifier-result
path: intellij/build/reports/pluginVerifier



releaseDraft:
name: Release draft
if: github.event_name != 'pull_request'
needs: [ build, test, verify, build-windows-installer ]
needs: [ build, test, verify, build-windows-installer, build-linux-installer, build-mac-installer ]
runs-on: ubuntu-latest
permissions:
contents: write
Expand All @@ -325,8 +384,6 @@ jobs:

- name: Gradle Wrapper Validation
uses: gradle/actions/wrapper-validation@v3
with:
working-directory: intellij

- name: Setup Java
uses: actions/setup-java@v4
Expand All @@ -348,7 +405,6 @@ jobs:
run: chmod +x ./gradlew

- name: Print Gradle version
working-directory: intellij
run: ./gradlew --version

- name: Remove Old Release Drafts
Expand Down Expand Up @@ -381,7 +437,16 @@ jobs:
with:
name: skyenet-windows-installer
path: ./windows-installer

- name: Download Linux Installer
uses: actions/download-artifact@v4
with:
name: skyenet-linux-installer
path: ./linux-installer
- name: Download Mac Installer
uses: actions/download-artifact@v4
with:
name: skyenet-mac-installer
path: ./mac-installer

- name: Upload Plugin Release Asset
env:
Expand All @@ -404,4 +469,32 @@ jobs:
fi
echo "Found MSI file: $MSI_FILE"
gh release upload "v${{ needs.build.outputs.version }}" \
"$MSI_FILE"
"$MSI_FILE"
- name: Upload Linux Installer Asset
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo "Uploading Linux installer asset..."
DEB_FILE=$(find ./linux-installer -name "*.deb" -type f)
if [ -z "$DEB_FILE" ]; then
echo "Error: No DEB file found in linux-installer directory"
ls -la ./linux-installer
exit 1
fi
echo "Found DEB file: $DEB_FILE"
gh release upload "v${{ needs.build.outputs.version }}" \
"$DEB_FILE"
- name: Upload Mac Installer Asset
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
echo "Uploading Mac installer asset..."
DMG_FILE=$(find ./mac-installer -name "*.dmg" -type f)
if [ -z "$DMG_FILE" ]; then
echo "Error: No DMG file found in mac-installer directory"
ls -la ./mac-installer
exit 1
fi
echo "Found DMG file: $DMG_FILE"
gh release upload "v${{ needs.build.outputs.version }}" \
"$DMG_FILE"
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Release
on:
release:
types: [prereleased, released]
types: [ prereleased, released ]

jobs:
release:
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ openai.key
*.log
*.log.*
client_secret_google_oauth.json
settings.gradle.kts
*.data
*.parsed.json
package-lock.json
Expand All @@ -18,3 +17,7 @@ tmp/
user-sessions/
metadata.properties
metadata.script
.websearch/
.intellijPlatform/
node_modules/
metadata.*
Loading