Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
716b9e0
Add Windows executable builds to the CI workflow.
coco-314 Mar 19, 2026
fb1dd7f
Using version 3 of action "setup-ocaml"
coco-314 Mar 19, 2026
155a79c
Removing cf deps to check if it allows installing deps on Windows
panglesd Mar 20, 2026
0028f01
Windows: Check if preprocessing is not working on Windows
panglesd Mar 20, 2026
0c7faa4
Test ci on windows
panglesd Apr 5, 2026
6a0e50d
More windows tests
panglesd Apr 5, 2026
226ef3f
backslashes not as escapes
panglesd Apr 5, 2026
bee2215
Changes to path separator handling for the various target OS of the CI
coco-314 Apr 8, 2026
22faaad
Fixes the creation of a folder in the CI Windows job
coco-314 Apr 8, 2026
67ec52c
For debug
coco-314 Apr 8, 2026
cb093ac
New try
coco-314 Apr 8, 2026
aed85ed
Windows distribution via a ZIP file
coco-314 Apr 9, 2026
f40b490
Using native PowerShell to create the ZIP archive
coco-314 Apr 9, 2026
7a7bf33
Test to see what is responsible for the windows CI problem
panglesd Apr 9, 2026
b1f52bf
Windows CI: Only install x86_64 packages
panglesd Apr 9, 2026
dd78b12
Test
panglesd Apr 9, 2026
f01e576
Debugging
coco-314 Apr 10, 2026
02d6010
fix debug
coco-314 Apr 10, 2026
0a2b1eb
dune install
coco-314 Apr 10, 2026
9e4192a
CI: Add a cache to windows CI
panglesd Apr 10, 2026
d12df1e
Copy missing dlls inti bundle
coco-314 Apr 12, 2026
5e2ccf2
Instal opensll and zlib
coco-314 Apr 23, 2026
d9734d6
Fix Build installable artifacts
coco-314 Apr 23, 2026
9393f67
Test ntldd
coco-314 Apr 23, 2026
94b3fb8
Copy dlls
coco-314 Apr 23, 2026
e11736f
Copy dlls
coco-314 Apr 24, 2026
98303a0
Try installer Oui
coco-314 Apr 24, 2026
e9cc780
Try Wix installation witrh dotnet
coco-314 Apr 24, 2026
61bbca2
Fix oui installation
coco-314 Apr 24, 2026
a5fd3a9
Use WIX
coco-314 Apr 24, 2026
7f1d3a6
Comment version getter
coco-314 Apr 25, 2026
ea4a88f
Start from a simplified workflow file
panglesd Apr 25, 2026
2e9c5d0
Ignore promoted rules
panglesd Apr 25, 2026
496d77f
Test caching
panglesd Apr 25, 2026
9df40fd
Try installing wix, oui and running oui
panglesd Apr 25, 2026
d5e1ffc
Use 5.4 for windows builds
panglesd Apr 25, 2026
e701526
Windows CI: Execute oui in an opam environment
panglesd Apr 25, 2026
10aee21
Windows CI: generate a cache for 5.4
panglesd Apr 25, 2026
52e0b69
Windows CI: reacivate oui install and run
panglesd Apr 25, 2026
8bc2f9d
Windows CI: Check opam-client version
panglesd Apr 25, 2026
8e3f452
stop using punchagan's repository
panglesd Apr 25, 2026
92d3760
WIndows CI: invalidate cache
panglesd Apr 25, 2026
a3a30e7
Fix path
panglesd Apr 25, 2026
3f2742a
🤦 and let's populate the cache
panglesd Apr 25, 2026
099ddce
Reinvalidate cache?
panglesd Apr 25, 2026
9c26ecf
Win CI: Install depext only first
panglesd Apr 25, 2026
9eb016f
Install conf package first
panglesd Apr 25, 2026
b6d5ed2
reactivate oui install and run
panglesd Apr 25, 2026
02466f1
Add wix extension
panglesd Apr 25, 2026
3b272b0
Switch to wix 7
panglesd Apr 25, 2026
395b6fa
Windows CI: upload installer
panglesd Apr 25, 2026
9f3d810
Fix syntax error ?
panglesd Apr 25, 2026
8169d36
Trying to remove i686 version but without much hope
panglesd Apr 25, 2026
c127e04
Even less hope
panglesd Apr 25, 2026
10533db
Win CI: Installing opam by myself
panglesd Apr 25, 2026
facaffb
v5
panglesd Apr 25, 2026
978b0e1
Revert "Trying to remove i686 version but without much hope"
panglesd Apr 25, 2026
0aedf2d
typo
panglesd Apr 25, 2026
253eef6
Descend into madness
panglesd Apr 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
103 changes: 103 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,109 @@ jobs:
name: archives-${{ matrix.config.os }}-${{ matrix.config.arch }}
path: new_release/*

windows-build:
strategy:
fail-fast: false
matrix:
config:
- { name: "windows", os: "windows-2022", arch: "x86_64", target: "x64" }
ocaml-compiler:
- 4.14.x
runs-on: ${{ matrix.config.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Fetch tags
run: git fetch --tags --force origin

- uses: actions/cache@v5
id: wincache
with:
path: |
~/.opam
_opam
key: windows-${{ hashFiles('*.opam') }}-ocaml.5.4

- name: Install OCaml ${{ matrix.ocaml-compiler }}
uses: ocaml/setup-ocaml@v3
with:
cache-prefix: v4
ocaml-compiler: 5.4
opam-pin: false

- name: Install dependencies
if: steps.wincache.outputs.cache-hit != 'true'
run: opam install conf-gmp

- name: Install dependencies
if: steps.wincache.outputs.cache-hit != 'true'
run: opam install conf-libssl

- name: Install dependencies
if: steps.wincache.outputs.cache-hit != 'true'
run: opam install conf-pkg-config

- name: Install dependencies
if: steps.wincache.outputs.cache-hit != 'true'
run: opam install conf-gmp-powm-sec

- name: Install dependencies
if: steps.wincache.outputs.cache-hit != 'true'
run: opam install --deps-only --with-test --with-doc -y .

- name: Install dependencies
if: steps.wincache.outputs.cache-hit
run: opam install --deps-only --with-test --depext-only --with-doc -y . && opam upgrade
# Just to test caching
- name: Try building
run: opam exec -- dune build --ignore-promoted-rules

- name: Uninstall 32-bit packages
run: >
C:\.opam\.cygwin\setup-x86_64.exe
--root "C:\.opam\.cygwin\root"
--quiet-mode
--remove-packages mingw64-i686-gcc-core,mingw64-i686-gmp,mingw64-i686-libffi,mingw64-i686-openssl
#mingw64-x86_64-gmp,mingw64-x86_64-libffi,mingw64-x86_64-openssl,pkgconf

- name: Try depexts
run: opam list --required-by slipshow --external --recursive

- name: Nuke 32-bit cygwin dlls
run: |
$bad_path = "C:\.opam\.cygwin\root\usr\i686-w64-mingw32\sys-root\mingw\bin"
if (Test-Path $bad_path) {
Remove-Item -Path "$bad_path\*.dll" -Force
}

- name: Install 64-bit packages
run: >
C:\.opam\.cygwin\setup-x86_64.exe "--root" "C:\\.opam\\.cygwin\\root" "--quiet-mode" "noinput" "--no-shortcuts" "--no-startmenu" "--no-desktop" "--no-admin" "--no-version-check" "--no-write-registry" "--packages" "mingw64-x86_64-gcc-core" "--symlink-type" "native" "--upgrade-also" "--only-site" "--site" "https://cygwin.mirror.constant.com/" "--local-package-dir" "C:\\.opam\\.cygwin\\cache"

- name: Install WiX 6 (required by OUI for Windows MSI)
shell: pwsh
run: |
dotnet tool install --global wix --version 7.0.0
wix eula accept wix7
wix extension add WixToolset.UI.wixext
wix extension add WixToolset.Util.wixext

- name: install oui
run: opam install oui

- name: run installer
run: mkdir -p bundle/bin/slipshow/ && cp _build/install/default/bin/slipshow* bundle/bin && opam exec -- oui build oui.json bundle && mkdir -p installer-file && cp slipshow*.msi installer-file/

- name: upload archives
# if: startsWith(github.ref, 'refs/tags/')
uses: actions/upload-artifact@v4
with:
name: archives-windows
path: installer-file/*

release:
if: startsWith(github.ref, 'refs/tags/')
needs: [linux-build, mac-build]
Expand Down
1 change: 0 additions & 1 deletion dune-project
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
bos
lwt
(inotify (= :os "linux"))
(cf-lwt (>="0.4"))
astring
fmt
logs
Expand Down
9 changes: 9 additions & 0 deletions oui.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"name": "slipshow",
"fullname": "slipshow.org",
"version": "0.0.1",
"wix_description": "TODO slipshow.",
"wix_manufacturer": "peada@free.fr",
"exec_files": ["bin/slipshow"],
"unique_id": "slipshow"
}
1 change: 0 additions & 1 deletion slipshow.opam
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ depends: [
"bos"
"lwt"
"inotify" {os = "linux"}
"cf-lwt" {>= "0.4"}
"astring"
"fmt"
"logs"
Expand Down
2 changes: 0 additions & 2 deletions vendor/github.com/panglesd/lwd/lib/lwd/lwd_infix.ml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions vendor/github.com/panglesd/lwd/lib/lwd/lwd_infix.mli

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions vendor/github.com/panglesd/lwd/lib/lwd/lwd_seq.ml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 0 additions & 5 deletions vendor/github.com/panglesd/lwd/lib/lwd/lwd_seq.mli

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading