76 Commits

Author SHA1 Message Date
916c5fec9f Download Zig automatically 2025-05-30 18:36:10 +00:00
bd1f70d554 Remove Windows 2019 runner (#884) 2025-05-13 03:24:32 +00:00
bc4fa91833 Publish to Sonatype Central Portal (#883) 2025-05-12 17:41:52 +00:00
f15cc39bfd Sanity check samples on all platforms (#881) 2025-05-12 14:23:21 +00:00
7b4e44ec94 Update jetbrains.compose to v1.8.0 (#875)
* Update dependency org.jetbrains.compose.collection-internal:collection to v1.8.0

* Target Java 11

* Update CHANGELOG.md

* Drop Java 8 build shards

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <github@jakewharton.com>
2025-05-08 18:49:53 +00:00
84988a8639 Update mlugg/setup-zig action to v2 (#876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 03:40:45 +00:00
584671cb51 Update dependency java to v24 (#813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 13:03:16 +00:00
3ff8a1f151 Add Windows ARM runner (#859)
For Java, at least. There is no Windows ARM native target.
2025-04-14 19:17:25 -04:00
0a3ce01912 Generate JNI header first during release 2025-04-11 23:25:52 -04:00
b03098026f Move JNI libraries to subdirectory (#832) 2025-03-25 23:38:45 -04:00
68cd0b281d Run shrinker tests on trunk (#821)
They pass now
2025-03-22 04:37:36 +00:00
cbcdc3487a Always go raw, but add a policy to skip TTY binding (#814) 2025-03-20 23:42:16 -04:00
e82432b11f Hide Kitty underline APIs which indirectly break native (#803)
Also disable partial linkage which hid this problem for two weeks.
2025-03-17 14:50:44 +00:00
4f5977231b Run samples in CI (#792) 2025-03-17 03:47:30 +00:00
6408b48440 Build with Zig 0.14.0 (#790)
BEFORE:

    ❯ ls -lR mosaic-tty/src/jvmMain/resources/jni/
    total 0
    drwxr-xr-x@ 5 jw  admin  160 Mar 10 12:07 aarch64/
    drwxr-xr-x@ 4 jw  admin  128 Mar 10 12:07 amd64/
    drwxr-xr-x@ 3 jw  admin   96 Mar 10 12:07 x86_64/

    mosaic-tty/src/jvmMain/resources/jni//aarch64:
    total 184
    -rwxr-xr-x@ 1 jw  admin  53712 Mar 10 12:07 libmosaic.dylib*
    -rwxr-xr-x@ 1 jw  admin  15056 Mar 10 12:07 libmosaic.so*
    -rwxr-xr-x@ 1 jw  admin  20480 Mar 10 12:07 mosaic.dll*

    mosaic-tty/src/jvmMain/resources/jni//amd64:
    total 80
    -rwxr-xr-x@ 1 jw  admin  14568 Mar 10 12:07 libmosaic.so*
    -rwxr-xr-x@ 1 jw  admin  22016 Mar 10 12:07 mosaic.dll*

    mosaic-tty/src/jvmMain/resources/jni//x86_64:
    total 56
    -rwxr-xr-x@ 1 jw  admin  24785 Mar 10 12:07 libmosaic.dylib*

AFTER:

    ❯ ls -lR mosaic-tty/src/jvmMain/resources/jni/
    total 0
    drwxr-xr-x@ 5 jw  admin  160 Mar 13 22:19 aarch64/
    drwxr-xr-x@ 4 jw  admin  128 Mar 13 22:19 amd64/
    drwxr-xr-x@ 3 jw  admin   96 Mar 13 22:19 x86_64/

    mosaic-tty/src/jvmMain/resources/jni//aarch64:
    total 184
    -rwxr-xr-x@ 1 jw  admin  54400 Mar 13 22:19 libmosaic.dylib*
    -rwxr-xr-x@ 1 jw  admin  15184 Mar 13 22:19 libmosaic.so*
    -rwxr-xr-x@ 1 jw  admin  19968 Mar 13 22:19 mosaic.dll*

    mosaic-tty/src/jvmMain/resources/jni//amd64:
    total 80
    -rwxr-xr-x@ 1 jw  admin  15120 Mar 13 22:19 libmosaic.so*
    -rwxr-xr-x@ 1 jw  admin  23040 Mar 13 22:19 mosaic.dll*

    mosaic-tty/src/jvmMain/resources/jni//x86_64:
    total 56
    -rwxr-xr-x@ 1 jw  admin  24954 Mar 13 22:19 libmosaic.dylib*
2025-03-13 23:11:14 -04:00
e17a8d8abf Sign snapshots (#787) 2025-03-13 17:42:29 +00:00
171793310e Use javac-generated JNI header (#779)
This ensures the Java and C signatures do not differ.
2025-03-10 16:18:23 +00:00
d10f924c90 Add Windows 2025, remove Ubuntu 20.04 (#769)
The latter is going away in a few weeks.
2025-03-04 19:11:19 +00:00
04643d58d7 Move .java-version into workflows folder (#748)
It's only used by workflows, after all.
2025-02-26 16:32:06 +00:00
761540b9f5 Fix ProGuard tests (#740) 2025-02-24 22:51:21 -05:00
7b5b47776a Switch to maintained setup-zig action (#733) 2025-02-24 10:28:13 -05:00
09c85ab524 Decouple TTY library from terminal (#732) 2025-02-24 14:46:59 +00:00
cc31d49df5 Switch to our own terminal library (#695)
* Switch to our own terminal library

This handles raw mode, VT parsing, and other system integration.

* Docs needs native libraries now

* API dump

* More test hacks

* Formatting
2025-02-14 14:44:52 -05:00
1d7cef0732 Do not run shrinker tests on trunk (#673)
They always fail, currently.
2025-01-29 20:01:29 +00:00
27f7f5faa0 Add R8 test run (#669)
Like ProGuard, it also is failing, but at least it's failing in the same way.
2025-01-27 23:31:03 -05:00
853945a08f Run ProGuard tests on CI (#668)
But in a very basic way for now. Also they are broken, so we do not require them in final-status yet.
2025-01-27 16:50:45 -05:00
4c8640bbcf Remove test tasks that vary the JVM (#652)
We cover this on CI now. It should be exceedingly rare you would need to test on an older JVM, and you can just switch your JAVA_HOME temporarily to do so.
2025-01-23 00:18:50 -05:00
486086d5e2 Add Linux ARM runners to CI (#649) 2025-01-17 23:56:50 -05:00
b8e6dda386 Build tests once and copy to other platforms to run (#650) 2025-01-17 23:34:52 -05:00
ecab69536d Enable stacktrace, disable incremental on CI (#648) 2025-01-16 11:06:15 -05:00
c5f4fb05ff Have Renovate bump the JDK (#642) 2025-01-09 19:32:25 +00:00
63f42b7027 Move Renovate configuration to GitHub folder (#640) 2025-01-09 19:01:07 +00:00
f51ffcaa13 Extract JDK version from actions (#639) 2025-01-09 18:56:45 +00:00
75dd748b12 Fail PR builds at end (#638)
We want to see if multiple tasks fail, not just the first.
2025-01-09 18:50:38 +00:00
efd3c519ca Revert Dokka v2 (#631)
Reason: https://github.com/JakeWharton/mosaic/issues/627
2025-01-06 17:25:40 -05:00
164500ff5e Migrate to Dokka Gradle plugin v2 (#604)
* Migrate to Dokka Gradle plugin v2

Solution for https://github.com/JakeWharton/mosaic/issues/580

* Tabs

---------

Co-authored-by: Jake Wharton <jw@squareup.com>
2025-01-05 06:06:39 +00:00
327e046d5d Test on LTS + latest JDKs (#530) 2024-11-18 20:17:26 +00:00
6e1accd80e Use a separate wait handle from the read handle (#523)
* Use a separate wait handle from the read handle

This allows our test writer to use an anonymous pipe plus a separate event to send data. Using only the pipe does not work, as it is always in the signaled state.

* Remove Gradle caching
2024-11-12 23:54:18 -05:00
db46d6609b Enable Windows testing 2024-11-11 23:06:39 -05:00
f2bca28e18 Remove test report upload (#515) 2024-11-04 14:08:35 +00:00
fca4ca8fe7 Enable Ubuntu testing (#511) 2024-11-02 02:47:10 +00:00
d69b1de9ed Run on more Mac runners (#509) 2024-11-01 21:48:12 +00:00
96bb1c7997 Prepare to run CI on Mac, Linux, and Windows (#503)
Only Mac works right now.
2024-11-01 13:29:02 -04:00
2b4cb8a69c Add rudimentary key handling (#442)
This forces all usages into raw mode, regardless of whether you are listening for keys or not.
2024-09-10 18:11:15 -04:00
fbd6b8f0b4 Start a terminal project for low-level utilities (#457)
Up first is a mechanism to enable raw mode.
2024-08-30 10:54:56 -04:00
187071f4db Update gradle/actions action to v4 (#423)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 14:47:33 -04:00
d45953b22d Update gradle/gradle-build-action action to v3 (#344)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-12 22:16:05 -04:00
3c6e69890f Update gradle/wrapper-validation-action action to v3 (#343)
* Update gradle/wrapper-validation-action action to v3

* Update gradle-wrapper.yaml

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <github@jakewharton.com>
2024-04-13 01:39:45 +00:00
eb8d0c3aae Add PR template 2024-02-29 13:19:52 -05:00
caf9bd48cc Update gradle/wrapper-validation-action action to v2 (#307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-29 19:27:51 -05:00