Skip to content

Commit 0255845

Browse files
hpehlclaude
andcommitted
Add Windows native build debug workflow
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 979304c commit 0255845

File tree

1 file changed

+99
-0
lines changed

1 file changed

+99
-0
lines changed

.github/workflows/windows.yml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: Windows Native Build Debug
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
contents: write
8+
9+
jobs:
10+
build-native-binary-windows:
11+
runs-on: windows-latest
12+
steps:
13+
- id: get-version
14+
uses: battila7/get-version-action@v2.3.0
15+
16+
- uses: actions/checkout@v6
17+
18+
- uses: graalvm/setup-graalvm@v1
19+
with:
20+
java-version: 25
21+
distribution: graalvm
22+
github-token: ${{ secrets.GITHUB_TOKEN }}
23+
components: native-image
24+
cache: maven
25+
26+
- name: Diagnostic - Java and GraalVM info
27+
run: |
28+
java -version
29+
native-image --version
30+
echo "JAVA_HOME=$env:JAVA_HOME"
31+
echo "GRAALVM_HOME=$env:GRAALVM_HOME"
32+
33+
- name: Build native binary
34+
run: .\\mvnw.cmd --show-version --batch-mode --no-transfer-progress install "-P" "prod,op,standalone,native" "-Dquarkus.native.container-build=false"
35+
36+
- name: Diagnostic - List op directory structure
37+
if: always()
38+
run: |
39+
echo "=== op/standalone directory ==="
40+
if (Test-Path "op\standalone") {
41+
Get-ChildItem -Path op\standalone -Recurse -Depth 2 | Format-Table FullName, Length
42+
} else {
43+
echo "op\standalone does not exist!"
44+
}
45+
46+
- name: Diagnostic - List op/standalone/target contents
47+
if: always()
48+
run: |
49+
echo "=== op/standalone/target ==="
50+
if (Test-Path "op\standalone\target") {
51+
Get-ChildItem -Path op\standalone\target | Format-Table Name, Length, LastWriteTime
52+
} else {
53+
echo "op\standalone\target does not exist!"
54+
}
55+
echo ""
56+
echo "=== Looking for any runner files ==="
57+
if (Test-Path "op\standalone\target") {
58+
Get-ChildItem -Path op\standalone\target -Filter "*runner*" -Recurse | Format-Table FullName, Length
59+
}
60+
echo ""
61+
echo "=== Looking for any .exe files ==="
62+
if (Test-Path "op\standalone\target") {
63+
Get-ChildItem -Path op\standalone\target -Filter "*.exe" -Recurse | Format-Table FullName, Length
64+
}
65+
66+
- name: Diagnostic - List all target directories in project
67+
if: always()
68+
run: |
69+
echo "=== All target directories ==="
70+
Get-ChildItem -Path . -Directory -Filter "target" -Recurse -Depth 4 | Format-Table FullName
71+
echo ""
72+
echo "=== Looking for runner files anywhere ==="
73+
Get-ChildItem -Path . -Filter "*runner*" -Recurse -File -ErrorAction SilentlyContinue | Where-Object { $_.FullName -like "*target*" } | Format-Table FullName, Length
74+
75+
- name: Diagnostic - Check Maven build output
76+
if: always()
77+
run: |
78+
echo "=== Quarkus build output ==="
79+
if (Test-Path "op\standalone\target\quarkus-artifact.properties") {
80+
Get-Content "op\standalone\target\quarkus-artifact.properties"
81+
} else {
82+
echo "quarkus-artifact.properties not found"
83+
}
84+
85+
- name: Rename native binary
86+
if: success()
87+
run: |
88+
$APP_NAME = "hal-op"
89+
$VERSION = "${{ steps.get-version.outputs.version-without-v }}"
90+
echo "Looking for runner exe..."
91+
$runner = Get-ChildItem -Path op\standalone\target\*-runner.exe | Select-Object -First 1
92+
if ($runner) {
93+
echo "Found: $($runner.FullName)"
94+
Move-Item $runner.FullName "${APP_NAME}-${VERSION}-windows.exe"
95+
} else {
96+
echo "No *-runner.exe found in op\standalone\target\"
97+
exit 1
98+
}
99+
shell: pwsh

0 commit comments

Comments
 (0)