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