aboutsummaryrefslogtreecommitdiff
path: root/vendor/libghostty-vt/.github
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-10 21:51:57 +0300
committerGitHub <noreply@github.com>2026-09-10 21:51:57 +0300
commit425c86179791cd32e2d4ce0ae7f269940b4b0663 (patch)
treee52c4383a6d69216cbe2a32638bf90841d7e2189 /vendor/libghostty-vt/.github
parent90e947a6e26e02f10ec7f1694c4eb5b78a86406b (diff)
chore: upgrade libghostty and preserve terminal behavior (#3906)
Diffstat (limited to 'vendor/libghostty-vt/.github')
-rw-r--r--vendor/libghostty-vt/.github/DISCUSSION_TEMPLATE/issue-triage.yml2
-rw-r--r--vendor/libghostty-vt/.github/ISSUE_TEMPLATE/config.yml5
-rw-r--r--vendor/libghostty-vt/.github/ISSUE_TEMPLATE/preapproved.md9
-rw-r--r--vendor/libghostty-vt/.github/VOUCHED.td61
-rwxr-xr-xvendor/libghostty-vt/.github/scripts/check-apple-libghostty-vt.nu131
-rw-r--r--vendor/libghostty-vt/.github/workflows/clean-artifacts.yml2
-rw-r--r--vendor/libghostty-vt/.github/workflows/flatpak.yml2
-rw-r--r--vendor/libghostty-vt/.github/workflows/milestone.yml4
-rw-r--r--vendor/libghostty-vt/.github/workflows/nix.yml8
-rw-r--r--vendor/libghostty-vt/.github/workflows/publish-tag.yml2
-rw-r--r--vendor/libghostty-vt/.github/workflows/release-tag.yml26
-rw-r--r--vendor/libghostty-vt/.github/workflows/release-tip.yml227
-rw-r--r--vendor/libghostty-vt/.github/workflows/snap.yml2
-rw-r--r--vendor/libghostty-vt/.github/workflows/test.yml663
-rw-r--r--vendor/libghostty-vt/.github/workflows/update-colorschemes.yml10
-rw-r--r--vendor/libghostty-vt/.github/workflows/vouch-check-issue.yml4
-rw-r--r--vendor/libghostty-vt/.github/workflows/vouch-manage-by-discussion.yml2
-rw-r--r--vendor/libghostty-vt/.github/workflows/vouch-manage-by-issue.yml2
-rw-r--r--vendor/libghostty-vt/.github/workflows/vouch-sync-codeowners.yml2
19 files changed, 895 insertions, 269 deletions
diff --git a/vendor/libghostty-vt/.github/DISCUSSION_TEMPLATE/issue-triage.yml b/vendor/libghostty-vt/.github/DISCUSSION_TEMPLATE/issue-triage.yml
index 270bb86f..a29e6f17 100644
--- a/vendor/libghostty-vt/.github/DISCUSSION_TEMPLATE/issue-triage.yml
+++ b/vendor/libghostty-vt/.github/DISCUSSION_TEMPLATE/issue-triage.yml
@@ -156,6 +156,8 @@ body:
options:
- label: I have reviewed the FAQ and confirm that my issue is NOT among them.
required: true
+ - label: I have searched the Ghostty documentation and confirm there doesn't exist a configuration option that solves my issue.
+ required: true
- label: I have searched the Ghostty repository (both open and closed Discussions and Issues) and confirm this is not a duplicate of an existing issue or discussion.
required: true
- label: I have checked the "Preview" tab on all text fields to ensure that everything looks right, and have wrapped all configuration and code in code blocks with a group of three backticks (` ``` `) on separate lines.
diff --git a/vendor/libghostty-vt/.github/ISSUE_TEMPLATE/config.yml b/vendor/libghostty-vt/.github/ISSUE_TEMPLATE/config.yml
deleted file mode 100644
index 9c4455c4..00000000
--- a/vendor/libghostty-vt/.github/ISSUE_TEMPLATE/config.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-blank_issues_enabled: false
-contact_links:
- - name: Features, Bug Reports, Questions
- url: https://github.com/ghostty-org/ghostty/discussions/new/choose
- about: Our preferred starting point if you have any questions or suggestions about configuration, features or behavior.
diff --git a/vendor/libghostty-vt/.github/ISSUE_TEMPLATE/preapproved.md b/vendor/libghostty-vt/.github/ISSUE_TEMPLATE/preapproved.md
deleted file mode 100644
index 485e727e..00000000
--- a/vendor/libghostty-vt/.github/ISSUE_TEMPLATE/preapproved.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-name: Pre-Discussed and Approved Topics
-about: |-
- Only for topics already discussed and approved in the GitHub Discussions section.
----
-
-**DO NOT OPEN A NEW ISSUE. PLEASE USE THE DISCUSSIONS SECTION.**
-
-**I DIDN'T READ THE ABOVE LINE. PLEASE CLOSE THIS ISSUE.**
diff --git a/vendor/libghostty-vt/.github/VOUCHED.td b/vendor/libghostty-vt/.github/VOUCHED.td
index e6d365c8..3c2c7e2c 100644
--- a/vendor/libghostty-vt/.github/VOUCHED.td
+++ b/vendor/libghostty-vt/.github/VOUCHED.td
@@ -23,8 +23,10 @@
00jciv00
04cb
0xdvc
+12ya
-4rh1t3ct0r7
52dyd
+a-lang
aalhendi
aaron-ang
abdurrahmanski
@@ -38,23 +40,29 @@ akimiojr
alaasdk
alanmoyano
alaviss
+alex19ep
alexbathome
alexfeijoo44
alexjuca
alosarjos
amadeus
+and-rs
andrejdaskalov
anhthang
anmitalidev
anthonyzhoon
+aprilnea
+arneshbanerjee
arvin7liu
athaapa
atomk
+aurelleb
aymanbagabas
b0uks
b1nar10
balazs-szucs
barutsrb
+basteez
bch
bennettp123
benodiwal
@@ -64,9 +72,13 @@ bitigchi
bkircher
bleikurr
bo2themax
+bousii
brentschroeter
brianc442
+by-nelson
c0x0o
+carldaws
+carlvillads
cespare
charliie-dev
chernetskyi
@@ -83,14 +95,20 @@ damyanbogoev
danneu
danulqua
dariogriffo
+dave92082
davidsanchez222
deblasis
dervedro
devsunb
diaaeddin
+-didouougha slingshotting LLM output
+diego-moment
+diegoarmstrong
dkinzler
dmehala
+dmunozv04
dobbylee
+dolzenko
doprz
douglance
douglas
@@ -99,6 +117,7 @@ drepper
dzhlobo
ekaterinepapava
elias8
+elitex45
-enkr1
enzowilliam
ephemera
@@ -109,18 +128,23 @@ escalonc
eunos-1128
exlee
-f1813483-netizen
+fallintoplace
faukah
+figelwump
filip7
flou
fornwall
francescarpi
fru1tworld
+gadgetman6
gagbo
ghokun
gmile
gordonbondon
+gotenksin
gpanders
guilhermetk
+-guysoft LLM communication (likely automated)
h3nock
hakonhagland
halosatrio
@@ -133,10 +157,12 @@ hulet
i999rri
icodesign
illiakrauchanka
+j-c-m
j0hnm4r5
jacobsandlund
jake-stewart
-jamesarch
+jakeriksen
+-jamesarch Bad AI etiquette
jamylak
jarred-sumner
jcollie
@@ -150,6 +176,7 @@ josephmart
jparise
juniqlim
justonia
+jzillmann
karesansui-u
kataokatsuki
kawarimidoll
@@ -159,10 +186,12 @@ khipp
kierancanter
kirwiisp
kjvdven
+kleshzz
kloneets
knu
-kody-w
koranir
+korikhin
kostich
kristina8888
kristofersoler
@@ -173,6 +202,7 @@ lepips
liby
linustalacko
lonsagisawa
+lotheac
louisunlimited
luisnquin
lynicis
@@ -186,6 +216,7 @@ marrocco-simone
masterflitzer
matkotiric
mattn
+mgsloan
micaeljarniac
michielvk
miguelelgallo
@@ -209,6 +240,7 @@ mustafa0x
nagato-yuzuru
natesmyth
neo773
+neoto
neurosnap
nicholas-ochoa
nicosuave
@@ -220,6 +252,7 @@ nolinmcfarland
nouritsu
nwehg
ocean6954
+ollioddi
oshdubh
otomn
paaloeye
@@ -236,11 +269,15 @@ pluiedev
pouwerkerk
poweruser64
prakhar54-byte
+preiter93
+prihlop
priyans-hu
+pssalman
puzza007
qappell
quinnypig
qwerasd205
+ragnoroct
raphamorim
reo101
rewdy
@@ -248,39 +285,59 @@ rgehan
rhodes-b
rightaditya
rjwittams
+rkoten
rmengelbrecht
rmunn
rockorager
+ronijacobson
rpfaeffle
ruoyouz
+ruseel
sahilkmishra
samasaur1
sandydoo
+sanjj1
-schickling-assistant NHITL
secrus
seruman
seyoungjeong
+sghng
+shorsher
silveirapf
+simonbcn
+slowdub
slsrepo
+steven-tk
sunshine-syz
+svector-anu
+svmhdvn
+tacherasasi
+-tangivis
tasselx
tbrundige
tdgroot
tdslot
thirstycrow
+-thomas-trijindev No human in the loop
thoutbeckers
ticclick
tnagatomi
+tothedarktowercame
trag1c
tristan957
+tsacha
+tuananh
turbolent
tweedbeetle
uhojin
unphased
+unsaltedscholar
uzaaft
vancluever
+vasilmytsyk
vaughanandrews
-vectorpeak Stupid bot cosplaying as a maintainer
+vegerot
viruslobster
vlsi
voidnv
@@ -291,6 +348,8 @@ yak3d
yamshta
ydah
-zaviro
+zenangst
zenyr
zeshi09
+zlitus
zubb
diff --git a/vendor/libghostty-vt/.github/scripts/check-apple-libghostty-vt.nu b/vendor/libghostty-vt/.github/scripts/check-apple-libghostty-vt.nu
new file mode 100755
index 00000000..9b3174d6
--- /dev/null
+++ b/vendor/libghostty-vt/.github/scripts/check-apple-libghostty-vt.nu
@@ -0,0 +1,131 @@
+#!/usr/bin/env nu
+
+def fail [message: string] {
+ print -e $message
+ exit 1
+}
+
+def main [
+ binary: path
+ --expect-platform: int # LC_BUILD_VERSION platform value
+ --expect-arch: string # Mach-O architecture name
+ --expect-encryption # Require LC_ENCRYPTION_INFO_64
+] {
+ if not ($binary | path exists) {
+ fail $"dylib not found: ($binary)"
+ }
+
+ # Verify the dylib contains exactly the architecture requested by the build
+ # matrix before interpreting any target-specific Mach-O load commands.
+ let actual_arch = (^lipo -archs $binary | str trim)
+ if $actual_arch != $expect_arch {
+ fail $"expected architecture ($expect_arch), found ($actual_arch)"
+ }
+
+ # Framework consumers load this dylib through @rpath. Keep this stable even
+ # though the installed file also has versioned compatibility symlinks.
+ let install_names = (^otool -D $binary | lines | skip 1)
+ if ($install_names | length) != 1 {
+ fail "expected exactly one dylib install name"
+ }
+
+ let install_name = ($install_names | first | str trim)
+ if $install_name != "@rpath/libghostty-vt.dylib" {
+ fail $"unexpected install name: ($install_name)"
+ }
+
+ let load_command_lines = (^otool -l $binary | lines)
+ let command_names = (
+ $load_command_lines
+ | parse --regex '^\s*cmd\s+(?<name>\S+)$'
+ | get name
+ )
+
+ # LC_BUILD_VERSION distinguishes macOS, physical iOS, and the iOS Simulator.
+ # Checking the numeric platform value catches an SDK or target-triple mixup.
+ if ($command_names | where $it == "LC_BUILD_VERSION" | length) != 1 {
+ fail "expected exactly one LC_BUILD_VERSION load command"
+ }
+
+ let platforms = (
+ $load_command_lines
+ | parse --regex '^\s*platform\s+(?<value>\d+)$'
+ | get value
+ )
+ if ($platforms | length) != 1 {
+ fail "expected exactly one LC_BUILD_VERSION platform field"
+ }
+
+ let actual_platform = ($platforms | first | into int)
+ if $actual_platform != $expect_platform {
+ fail $"expected platform ($expect_platform), found ($actual_platform)"
+ }
+
+ let encryption_commands = (
+ $command_names
+ | where { str starts-with "LC_ENCRYPTION_INFO" }
+ )
+
+ if $expect_encryption {
+ # App Store processing requires physical iOS dylibs to reserve an
+ # encryption range. cryptid remains zero until Apple encrypts the binary.
+ if $encryption_commands != ["LC_ENCRYPTION_INFO_64"] {
+ fail "missing or invalid LC_ENCRYPTION_INFO_64 load command"
+ }
+
+ let encryption_fields = (
+ $load_command_lines
+ | parse --regex '^\s*(?<name>cryptoff|cryptsize|cryptid)\s+(?<value>\d+)$'
+ )
+ if ($encryption_fields | length) != 3 {
+ fail "missing or invalid LC_ENCRYPTION_INFO_64 fields"
+ }
+
+ let cryptoff = (
+ $encryption_fields
+ | where name == "cryptoff"
+ | get 0.value
+ | into int
+ )
+ let cryptsize = (
+ $encryption_fields
+ | where name == "cryptsize"
+ | get 0.value
+ | into int
+ )
+ let cryptid = (
+ $encryption_fields
+ | where name == "cryptid"
+ | get 0.value
+ | into int
+ )
+ if $cryptoff <= 0 or $cryptsize <= 0 or $cryptid != 0 {
+ fail "missing or invalid LC_ENCRYPTION_INFO_64 fields"
+ }
+ } else {
+ # Apple does not emit an encryption load command for macOS or Simulator
+ # dylibs, so its presence would indicate the wrong platform was linked.
+ if not ($encryption_commands | is-empty) {
+ fail "unexpected LC_ENCRYPTION_INFO load command"
+ }
+ }
+
+ # nm -gjU lists defined external symbols without addresses. The export list
+ # passed to Apple's linker should leave only libghostty-vt's public C API.
+ let exports = (
+ ^nm -gjU $binary
+ | lines
+ | where { not ($in | is-empty) }
+ )
+ if ($exports | is-empty) {
+ fail "dylib has no exported symbols"
+ }
+
+ let unexpected_exports = (
+ $exports
+ | where { not ($in | str starts-with "_ghostty_") }
+ )
+ if not ($unexpected_exports | is-empty) {
+ fail $"unexpected exported symbols:\n($unexpected_exports | str join "\n")"
+ }
+}
diff --git a/vendor/libghostty-vt/.github/workflows/clean-artifacts.yml b/vendor/libghostty-vt/.github/workflows/clean-artifacts.yml
index 69cb74ae..3290693f 100644
--- a/vendor/libghostty-vt/.github/workflows/clean-artifacts.yml
+++ b/vendor/libghostty-vt/.github/workflows/clean-artifacts.yml
@@ -10,7 +10,7 @@ jobs:
timeout-minutes: 10
steps:
- name: Remove old artifacts
- uses: c-hive/gha-remove-artifacts@44fc7acaf1b3d0987da0e8d4707a989d80e9554b # v1.4.0
+ uses: c-hive/gha-remove-artifacts@62c2fbea931baa7dd4a6b73ea5a799984a818f61 # v1.8.0
with:
age: "1 week"
skip-tags: true
diff --git a/vendor/libghostty-vt/.github/workflows/flatpak.yml b/vendor/libghostty-vt/.github/workflows/flatpak.yml
index da1e6653..b3cbc8e3 100644
--- a/vendor/libghostty-vt/.github/workflows/flatpak.yml
+++ b/vendor/libghostty-vt/.github/workflows/flatpak.yml
@@ -41,7 +41,7 @@ jobs:
mkdir dist
tar --verbose --extract --strip-components 1 --directory dist --file ghostty-source.tar.gz
- - uses: flatpak/flatpak-github-actions/flatpak-builder@401fe28a8384095fc1531b9d320b292f0ee45adb # v6.7
+ - uses: flatpak/flatpak-github-actions/flatpak-builder@79327416609af08178ad73b352877e51450790b3 # v6.8
with:
bundle: com.mitchellh.ghostty
manifest-path: dist/flatpak/com.mitchellh.ghostty.yml
diff --git a/vendor/libghostty-vt/.github/workflows/milestone.yml b/vendor/libghostty-vt/.github/workflows/milestone.yml
index 34e7652a..725c6642 100644
--- a/vendor/libghostty-vt/.github/workflows/milestone.yml
+++ b/vendor/libghostty-vt/.github/workflows/milestone.yml
@@ -18,7 +18,7 @@ jobs:
name: Milestone Update
steps:
- name: Set Milestone for PR
- uses: hustcer/milestone-action@ebed8d5daafd855a600d7e665c1b130f06d24130 # v3.1
+ uses: hustcer/milestone-action@2f38355153344ccaaa44b5b5fcff9f604dff1b45 # v3.2
if: github.event.pull_request.merged == true && !contains(github.event.pull_request.title, 'VOUCHED') && !startsWith(github.event.pull_request.title, 'ci:')
with:
action: bind-pr # `bind-pr` is the default action
@@ -26,7 +26,7 @@ jobs:
# Bind milestone to closed issue that has a merged PR fix
- name: Set Milestone for Issue
- uses: hustcer/milestone-action@ebed8d5daafd855a600d7e665c1b130f06d24130 # v3.1
+ uses: hustcer/milestone-action@2f38355153344ccaaa44b5b5fcff9f604dff1b45 # v3.2
if: github.event.issue.state == 'closed'
with:
action: bind-issue
diff --git a/vendor/libghostty-vt/.github/workflows/nix.yml b/vendor/libghostty-vt/.github/workflows/nix.yml
index 0a3ebdc5..3b481c29 100644
--- a/vendor/libghostty-vt/.github/workflows/nix.yml
+++ b/vendor/libghostty-vt/.github/workflows/nix.yml
@@ -39,18 +39,18 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- name: Setup Nix
- uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
diff --git a/vendor/libghostty-vt/.github/workflows/publish-tag.yml b/vendor/libghostty-vt/.github/workflows/publish-tag.yml
index acb1ab1f..f9e19573 100644
--- a/vendor/libghostty-vt/.github/workflows/publish-tag.yml
+++ b/vendor/libghostty-vt/.github/workflows/publish-tag.yml
@@ -64,7 +64,7 @@ jobs:
mkdir blob
mv appcast.xml blob/appcast.xml
- name: Upload Appcast to R2
- uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c # v1.4
+ uses: ryand56/r2-upload-action@33ebb7a494b3a8a3c5ed2ea6bbdc72e707090317 # v1.5
with:
r2-account-id: ${{ secrets.CF_R2_RELEASE_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.CF_R2_RELEASE_AWS_KEY }}
diff --git a/vendor/libghostty-vt/.github/workflows/release-tag.yml b/vendor/libghostty-vt/.github/workflows/release-tag.yml
index 3fd92990..e8fa8e45 100644
--- a/vendor/libghostty-vt/.github/workflows/release-tag.yml
+++ b/vendor/libghostty-vt/.github/workflows/release-tag.yml
@@ -56,7 +56,7 @@ jobs:
fi
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
# Important so that build number generation works
fetch-depth: 0
@@ -80,20 +80,20 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -134,10 +134,10 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -147,20 +147,20 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: XCode Select
- run: sudo xcode-select -s /Applications/Xcode_26.3.app
+ run: sudo xcode-select -s /Applications/Xcode_26.6.app
- name: Xcode Version
run: xcodebuild -version
- name: Setup Sparkle
env:
- SPARKLE_VERSION: 2.9.0
+ SPARKLE_VERSION: 2.9.6
run: |
mkdir -p .action/sparkle
cd .action/sparkle
@@ -319,7 +319,7 @@ jobs:
GHOSTTY_COMMIT_LONG: ${{ needs.setup.outputs.commit_long }}
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Download macOS Artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
@@ -328,7 +328,7 @@ jobs:
- name: Setup Sparkle
env:
- SPARKLE_VERSION: 2.9.0
+ SPARKLE_VERSION: 2.9.6
run: |
mkdir -p .action/sparkle
cd .action/sparkle
@@ -400,7 +400,7 @@ jobs:
mv Ghostty.dmg blob/${GHOSTTY_VERSION}/Ghostty.dmg
mv appcast.xml blob/${GHOSTTY_VERSION}/appcast-staged.xml
- name: Upload to R2
- uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c # v1.4
+ uses: ryand56/r2-upload-action@33ebb7a494b3a8a3c5ed2ea6bbdc72e707090317 # v1.5
with:
r2-account-id: ${{ secrets.CF_R2_RELEASE_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.CF_R2_RELEASE_AWS_KEY }}
diff --git a/vendor/libghostty-vt/.github/workflows/release-tip.yml b/vendor/libghostty-vt/.github/workflows/release-tip.yml
index 721057a1..5201a29c 100644
--- a/vendor/libghostty-vt/.github/workflows/release-tip.yml
+++ b/vendor/libghostty-vt/.github/workflows/release-tip.yml
@@ -33,19 +33,19 @@ jobs:
commit: ${{ steps.extract_build_info.outputs.commit }}
commit_long: ${{ steps.extract_build_info.outputs.commit_long }}
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
# Important so that build number generation works
fetch-depth: 0
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -66,7 +66,7 @@ jobs:
- name: Detect changes since last tip
id: changes
if: github.event_name == 'workflow_run'
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
+ uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
with:
token: ""
base: tip
@@ -119,7 +119,7 @@ jobs:
needs: [setup, build-macos]
if: needs.setup.outputs.should_skip != 'true'
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Tip Tag
run: |
git config user.name "github-actions[bot]"
@@ -134,7 +134,7 @@ jobs:
env:
GHOSTTY_COMMIT_LONG: ${{ needs.setup.outputs.commit_long }}
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install sentry-cli
run: |
@@ -157,7 +157,7 @@ jobs:
env:
GHOSTTY_COMMIT_LONG: ${{ needs.setup.outputs.commit_long }}
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install sentry-cli
run: |
@@ -180,7 +180,7 @@ jobs:
env:
GHOSTTY_COMMIT_LONG: ${{ needs.setup.outputs.commit_long }}
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install sentry-cli
run: |
@@ -212,17 +212,17 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -239,7 +239,7 @@ jobs:
nix develop -c minisign -S -m ghostty-source.tar.gz -s minisign.key < minisign.password
- name: Update Release
- uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
+ uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
with:
name: 'Ghostty Tip ("Nightly")'
prerelease: true
@@ -267,17 +267,17 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -294,7 +294,7 @@ jobs:
nix develop -c minisign -S -m libghostty-vt-source.tar.gz -s minisign.key < minisign.password
- name: Update Release
- uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
+ uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
with:
name: 'Ghostty Tip ("Nightly")'
prerelease: true
@@ -310,7 +310,7 @@ jobs:
mkdir -p blob/${GHOSTTY_COMMIT_LONG}
cp libghostty-vt-source.tar.gz blob/${GHOSTTY_COMMIT_LONG}/libghostty-vt-source.tar.gz
- name: Upload to R2
- uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c # v1.4
+ uses: ryand56/r2-upload-action@33ebb7a494b3a8a3c5ed2ea6bbdc72e707090317 # v1.5
with:
r2-account-id: ${{ secrets.CF_R2_TIP_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.CF_R2_TIP_AWS_KEY }}
@@ -342,10 +342,10 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -356,13 +356,13 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Xcode Select
- run: sudo xcode-select -s /Applications/Xcode_26.3.app
+ run: sudo xcode-select -s /Applications/Xcode_26.6.app
- name: Build XCFramework
run: nix develop -c zig build -Demit-lib-vt -Doptimize=ReleaseFast
@@ -379,7 +379,7 @@ jobs:
nix develop -c minisign -S -m ghostty-vt.xcframework.zip -s minisign.key < minisign.password
- name: Update Release
- uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
+ uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
with:
name: 'Ghostty Tip ("Nightly")'
prerelease: true
@@ -395,7 +395,7 @@ jobs:
mkdir -p blob/${GHOSTTY_COMMIT_LONG}
cp ghostty-vt.xcframework.zip blob/${GHOSTTY_COMMIT_LONG}/ghostty-vt.xcframework.zip
- name: Upload to R2
- uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c # v1.4
+ uses: ryand56/r2-upload-action@33ebb7a494b3a8a3c5ed2ea6bbdc72e707090317 # v1.5
with:
r2-account-id: ${{ secrets.CF_R2_TIP_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.CF_R2_TIP_AWS_KEY }}
@@ -409,6 +409,135 @@ jobs:
echo "Release URLs:"
echo " XCFramework: https://tip.files.ghostty.org/${GHOSTTY_COMMIT_LONG}/ghostty-vt.xcframework.zip"
+ build-lib-vt-wasm:
+ needs: [setup]
+ if: |
+ needs.setup.outputs.should_skip != 'true' &&
+ (
+ github.event_name == 'workflow_dispatch' ||
+ (
+ github.repository_owner == 'ghostty-org' &&
+ github.ref_name == 'main'
+ )
+ )
+ runs-on: namespace-profile-ghostty-sm
+ env:
+ GHOSTTY_COMMIT_LONG: ${{ needs.setup.outputs.commit_long }}
+ ZIG_LOCAL_CACHE_DIR: /zig/local-cache
+ ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+
+ - name: Setup Cache
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
+ with:
+ path: |
+ /nix
+ /zig
+
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
+ with:
+ nix_path: nixpkgs=channel:nixos-unstable
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
+ with:
+ name: ghostty
+ authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
+
+ - name: Build ReleaseFast WASM
+ run: |
+ nix develop -c zig build \
+ -Demit-lib-vt \
+ -Dtarget=wasm32-freestanding \
+ -Doptimize=ReleaseFast
+
+ - name: Optimize ReleaseFast WASM
+ run: |
+ nix develop -c wasm-opt -O3 --strip-dwarf \
+ --enable-simd \
+ --enable-bulk-memory \
+ --enable-sign-ext \
+ --enable-nontrapping-float-to-int \
+ --enable-multivalue \
+ --enable-reference-types \
+ zig-out/bin/ghostty-vt.wasm \
+ -o ghostty-vt.wasm
+
+ - name: Build ReleaseSmall WASM
+ run: |
+ nix develop -c zig build \
+ -Demit-lib-vt \
+ -Dtarget=wasm32-freestanding \
+ -Doptimize=ReleaseSmall
+
+ - name: Optimize ReleaseSmall WASM
+ run: |
+ nix develop -c wasm-opt -O3 \
+ --enable-simd \
+ --enable-bulk-memory \
+ --enable-sign-ext \
+ --enable-nontrapping-float-to-int \
+ --enable-multivalue \
+ --enable-reference-types \
+ zig-out/bin/ghostty-vt.wasm \
+ -o ghostty-vt-small.wasm
+
+ - name: Verify WASM simd128
+ run: |
+ # wasm-tools names the simd128 proposal "simd". The artifact must
+ # fail validation when that feature is disabled.
+ for artifact in ghostty-vt.wasm ghostty-vt-small.wasm; do
+ nix develop -c wasm-tools validate "${artifact}"
+ if nix develop -c wasm-tools validate \
+ --features=-simd "${artifact}"; then
+ echo "${artifact} unexpectedly validates with simd128 disabled" >&2
+ exit 1
+ fi
+ echo "Verified ${artifact} requires simd128"
+ done
+
+ - name: Sign WASM
+ run: |
+ echo -n "${{ secrets.MINISIGN_KEY }}" > minisign.key
+ echo -n "${{ secrets.MINISIGN_PASSWORD }}" > minisign.password
+ nix develop -c minisign -S -m ghostty-vt.wasm -s minisign.key < minisign.password
+ nix develop -c minisign -S -m ghostty-vt-small.wasm -s minisign.key < minisign.password
+
+ - name: Update Release
+ uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
+ with:
+ name: 'Ghostty Tip ("Nightly")'
+ prerelease: true
+ tag_name: tip
+ target_commitish: ${{ github.sha }}
+ files: |
+ ghostty-vt.wasm
+ ghostty-vt.wasm.minisig
+ ghostty-vt-small.wasm
+ ghostty-vt-small.wasm.minisig
+ token: ${{ secrets.GH_RELEASE_TOKEN }}
+
+ - name: Prep R2 Storage
+ run: |
+ mkdir -p blob/${GHOSTTY_COMMIT_LONG}
+ cp ghostty-vt.wasm blob/${GHOSTTY_COMMIT_LONG}/ghostty-vt.wasm
+ cp ghostty-vt-small.wasm blob/${GHOSTTY_COMMIT_LONG}/ghostty-vt-small.wasm
+ - name: Upload to R2
+ uses: ryand56/r2-upload-action@33ebb7a494b3a8a3c5ed2ea6bbdc72e707090317 # v1.5
+ with:
+ r2-account-id: ${{ secrets.CF_R2_TIP_ACCOUNT_ID }}
+ r2-access-key-id: ${{ secrets.CF_R2_TIP_AWS_KEY }}
+ r2-secret-access-key: ${{ secrets.CF_R2_TIP_SECRET_KEY }}
+ r2-bucket: ghostty-tip
+ source-dir: blob
+ destination-dir: ./
+
+ - name: Echo Release URLs
+ run: |
+ echo "Release URLs:"
+ echo " WASM (ReleaseFast): https://tip.files.ghostty.org/${GHOSTTY_COMMIT_LONG}/ghostty-vt.wasm"
+ echo " WASM (ReleaseSmall): https://tip.files.ghostty.org/${GHOSTTY_COMMIT_LONG}/ghostty-vt-small.wasm"
+
build-macos:
needs: [setup]
if: |
@@ -431,13 +560,13 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
# Important so that build number generation works
fetch-depth: 0
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -448,13 +577,13 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: XCode Select
- run: sudo xcode-select -s /Applications/Xcode_26.3.app
+ run: sudo xcode-select -s /Applications/Xcode_26.6.app
- name: Xcode Version
run: xcodebuild -version
@@ -462,7 +591,7 @@ jobs:
# Setup Sparkle
- name: Setup Sparkle
env:
- SPARKLE_VERSION: 2.9.0
+ SPARKLE_VERSION: 2.9.6
run: |
mkdir -p .action/sparkle
cd .action/sparkle
@@ -581,7 +710,7 @@ jobs:
# Update Release
- name: Release
- uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
+ uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
with:
name: 'Ghostty Tip ("Nightly")'
prerelease: true
@@ -616,7 +745,7 @@ jobs:
cp Ghostty.dmg blob/${GHOSTTY_COMMIT_LONG}/Ghostty.dmg
- name: Upload to R2
- uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c # v1.4
+ uses: ryand56/r2-upload-action@33ebb7a494b3a8a3c5ed2ea6bbdc72e707090317 # v1.5
with:
r2-account-id: ${{ secrets.CF_R2_TIP_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.CF_R2_TIP_AWS_KEY }}
@@ -640,7 +769,7 @@ jobs:
if: |
github.repository_owner == 'ghostty-org' &&
github.ref_name == 'main'
- uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c # v1.4
+ uses: ryand56/r2-upload-action@33ebb7a494b3a8a3c5ed2ea6bbdc72e707090317 # v1.5
with:
r2-account-id: ${{ secrets.CF_R2_TIP_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.CF_R2_TIP_AWS_KEY }}
@@ -659,7 +788,7 @@ jobs:
EOF
- name: Upload Release URLs
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v6.0
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: release-urls-${{ inputs.pr || '0' }}
path: release-urls.txt
@@ -687,13 +816,13 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
# Important so that build number generation works
fetch-depth: 0
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -704,13 +833,13 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: XCode Select
- run: sudo xcode-select -s /Applications/Xcode_26.3.app
+ run: sudo xcode-select -s /Applications/Xcode_26.6.app
- name: Xcode Version
run: xcodebuild -version
@@ -718,7 +847,7 @@ jobs:
# Setup Sparkle
- name: Setup Sparkle
env:
- SPARKLE_VERSION: 2.9.0
+ SPARKLE_VERSION: 2.9.6
run: |
mkdir -p .action/sparkle
cd .action/sparkle
@@ -830,7 +959,7 @@ jobs:
# Update Release
- name: Release
- uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
+ uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
with:
name: 'Ghostty Tip ("Nightly")'
prerelease: true
@@ -847,7 +976,7 @@ jobs:
cp ghostty-macos-universal-debug-slow.zip blob/${GHOSTTY_COMMIT_LONG}/ghostty-macos-universal-debug-slow.zip
cp ghostty-macos-universal-debug-slow-dsym.zip blob/${GHOSTTY_COMMIT_LONG}/ghostty-macos-universal-debug-slow-dsym.zip
- name: Upload to R2
- uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c # v1.4
+ uses: ryand56/r2-upload-action@33ebb7a494b3a8a3c5ed2ea6bbdc72e707090317 # v1.5
with:
r2-account-id: ${{ secrets.CF_R2_TIP_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.CF_R2_TIP_AWS_KEY }}
@@ -884,13 +1013,13 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
# Important so that build number generation works
fetch-depth: 0
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -901,13 +1030,13 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: XCode Select
- run: sudo xcode-select -s /Applications/Xcode_26.3.app
+ run: sudo xcode-select -s /Applications/Xcode_26.6.app
- name: Xcode Version
run: xcodebuild -version
@@ -915,7 +1044,7 @@ jobs:
# Setup Sparkle
- name: Setup Sparkle
env:
- SPARKLE_VERSION: 2.9.0
+ SPARKLE_VERSION: 2.9.6
run: |
mkdir -p .action/sparkle
cd .action/sparkle
@@ -1027,7 +1156,7 @@ jobs:
# Update Release
- name: Release
- uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
+ uses: softprops/action-gh-release@efb35369e0ad2afab669f228072c1b0d510eae64 # v3.0.3
with:
name: 'Ghostty Tip ("Nightly")'
prerelease: true
@@ -1044,7 +1173,7 @@ jobs:
cp ghostty-macos-universal-debug-fast.zip blob/${GHOSTTY_COMMIT_LONG}/ghostty-macos-universal-debug-fast.zip
cp ghostty-macos-universal-debug-fast-dsym.zip blob/${GHOSTTY_COMMIT_LONG}/ghostty-macos-universal-debug-fast-dsym.zip
- name: Upload to R2
- uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c # v1.4
+ uses: ryand56/r2-upload-action@33ebb7a494b3a8a3c5ed2ea6bbdc72e707090317 # v1.5
with:
r2-account-id: ${{ secrets.CF_R2_TIP_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.CF_R2_TIP_AWS_KEY }}
diff --git a/vendor/libghostty-vt/.github/workflows/snap.yml b/vendor/libghostty-vt/.github/workflows/snap.yml
index 3108d583..1deef5d1 100644
--- a/vendor/libghostty-vt/.github/workflows/snap.yml
+++ b/vendor/libghostty-vt/.github/workflows/snap.yml
@@ -38,7 +38,7 @@ jobs:
tar --verbose --extract --strip-components 1 --directory dist --file ghostty-source.tar.gz
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
diff --git a/vendor/libghostty-vt/.github/workflows/test.yml b/vendor/libghostty-vt/.github/workflows/test.yml
index 05787c18..45d2002e 100644
--- a/vendor/libghostty-vt/.github/workflows/test.yml
+++ b/vendor/libghostty-vt/.github/workflows/test.yml
@@ -30,8 +30,8 @@ jobs:
zig: ${{ steps.filter_any.outputs.zig }}
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+ - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
id: filter_every
with:
token: ""
@@ -40,7 +40,7 @@ jobs:
code:
- '**'
- '!.github/VOUCHED.td'
- - uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
+ - uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
id: filter_any
with:
token: ""
@@ -86,6 +86,7 @@ jobs:
- build-bench
- build-dist
- build-dist-lib-vt
+ - build-example-zig-vt-macos-no-sdk
- build-examples-zig
- build-examples-cmake
- build-examples-cmake-windows
@@ -93,6 +94,9 @@ jobs:
- build-cmake
- build-flatpak
- build-libghostty-vt
+ - build-libghostty-vt-freestanding
+ - build-libghostty-vt-wasm
+ - build-libghostty-vt-features
- build-libghostty-vt-android
- build-libghostty-vt-macos
- build-libghostty-vt-windows
@@ -102,6 +106,7 @@ jobs:
- build-nix
# - build-nix-macos
- build-macos
+ - build-macos-xcode-27
- build-macos-freetype
- build-snap
- test
@@ -110,6 +115,7 @@ jobs:
- test-sentry-linux
- test-i18n
- test-fuzz-libghostty
+ - test-kaitai
- test-lib-vt
- test-lib-vt-pkgconfig
- test-macos
@@ -156,20 +162,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -187,7 +193,7 @@ jobs:
swift: ${{ steps.list.outputs.swift }}
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- id: list
name: List example directories
run: |
@@ -214,20 +220,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -237,6 +243,38 @@ jobs:
cd example/${{ matrix.dir }}
nix develop -c zig build
+ build-example-zig-vt-macos-no-sdk:
+ name: Example zig-vt (macOS, no SDK)
+ runs-on: namespace-profile-ghostty-macos-tahoe
+ needs: test
+ env:
+ ZIG_LOCAL_CACHE_DIR: /Users/runner/zig/local-cache
+ ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+
+ - name: Setup Cache
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
+ with:
+ cache: |
+ xcode
+ path: |
+ /Users/runner/zig
+
+ # TODO(tahoe): https://github.com/NixOS/nix/issues/13342
+ - uses: DeterminateSystems/nix-installer-action@main
+ with:
+ determinate: true
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
+ with:
+ name: ghostty
+ authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
+
+ - name: Build Example without SDK
+ working-directory: example/zig-vt
+ run: nix develop -c env DEVELOPER_DIR=/nonexistent zig build
+
build-examples-cmake:
strategy:
fail-fast: false
@@ -250,20 +288,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -290,7 +328,7 @@ jobs:
needs: [test, list-examples]
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install zig
uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1
@@ -315,10 +353,10 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -329,13 +367,13 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Xcode Select
- run: sudo xcode-select -s /Applications/Xcode_26.3.app
+ run: sudo xcode-select -s /Applications/Xcode_26.6.app
- name: Build XCFramework
run: nix develop -c zig build -Demit-lib-vt
@@ -356,20 +394,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -394,20 +432,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -511,20 +549,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -545,20 +583,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -581,7 +619,6 @@ jobs:
x86_64-windows-gnu,
# doesn't work yet, we need a way to find msvc libc/c++ headers
# x86_64-windows-msvc
- wasm32-freestanding,
]
runs-on: namespace-profile-ghostty-sm
needs: test
@@ -590,20 +627,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -613,11 +650,201 @@ jobs:
nix develop -c zig build -Demit-lib-vt \
-Dtarget=${{ matrix.target }}
+ build-libghostty-vt-freestanding:
+ strategy:
+ matrix:
+ include:
+ - target: riscv32-freestanding-eabi
+ cpu: baseline
+ - target: thumb-freestanding-eabi
+ cpu: cortex_m4
+ runs-on: namespace-profile-ghostty-sm
+ needs: test
+ env:
+ ZIG_LOCAL_CACHE_DIR: /zig/local-cache
+ ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+
+ - name: Setup Cache
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
+ with:
+ path: |
+ /nix
+ /zig
+
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
+ with:
+ nix_path: nixpkgs=channel:nixos-unstable
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
+ with:
+ name: ghostty
+ authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
+
+ - name: Build
+ run: |
+ nix develop -c zig build -Demit-lib-vt \
+ -Dtarget=${{ matrix.target }} \
+ -Dcpu=${{ matrix.cpu }} \
+ -Doptimize=ReleaseSafe
+
+ build-libghostty-vt-wasm:
+ runs-on: namespace-profile-ghostty-sm
+ needs: test
+ env:
+ ZIG_LOCAL_CACHE_DIR: /zig/local-cache
+ ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+
+ - name: Setup Cache
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
+ with:
+ path: |
+ /nix
+ /zig
+
+ # Install Nix and use that to run our tests so our environment matches exactly.
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
+ with:
+ nix_path: nixpkgs=channel:nixos-unstable
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
+ with:
+ name: ghostty
+ authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
+
+ - name: Build ReleaseFast WASM
+ run: |
+ nix develop -c zig build \
+ -Demit-lib-vt \
+ -Dtarget=wasm32-freestanding \
+ -Doptimize=ReleaseFast
+
+ - name: Optimize ReleaseFast WASM
+ run: |
+ nix develop -c wasm-opt -O3 --strip-dwarf \
+ --enable-simd \
+ --enable-bulk-memory \
+ --enable-sign-ext \
+ --enable-nontrapping-float-to-int \
+ --enable-multivalue \
+ --enable-reference-types \
+ zig-out/bin/ghostty-vt.wasm \
+ -o ghostty-vt.wasm
+
+ - name: Build ReleaseSmall WASM
+ run: |
+ nix develop -c zig build \
+ -Demit-lib-vt \
+ -Dtarget=wasm32-freestanding \
+ -Doptimize=ReleaseSmall
+
+ - name: Validate WASM ABI manifest
+ run: |
+ nix develop -c zig build test-lib-vt-schema \
+ -Dtarget=wasm32-freestanding \
+ -Doptimize=ReleaseSmall
+
+ - name: Optimize ReleaseSmall WASM
+ run: |
+ nix develop -c wasm-opt -O3 \
+ --enable-simd \
+ --enable-bulk-memory \
+ --enable-sign-ext \
+ --enable-nontrapping-float-to-int \
+ --enable-multivalue \
+ --enable-reference-types \
+ zig-out/bin/ghostty-vt.wasm \
+ -o ghostty-vt-small.wasm
+
+ - name: Verify WASM simd128
+ run: |
+ # wasm-tools names the simd128 proposal "simd". The artifact must
+ # fail validation when that feature is disabled.
+ for artifact in ghostty-vt.wasm ghostty-vt-small.wasm; do
+ nix develop -c wasm-tools validate "${artifact}"
+ if nix develop -c wasm-tools validate \
+ --features=-simd "${artifact}"; then
+ echo "${artifact} unexpectedly validates with simd128 disabled" >&2
+ exit 1
+ fi
+ echo "Verified ${artifact} requires simd128"
+ done
+
+ - name: Test WASM allocator
+ run: |
+ nix develop -c node test/wasm-alloc.mjs ghostty-vt.wasm
+ nix develop -c node test/wasm-alloc.mjs ghostty-vt-small.wasm
+
+ # Compile-only checks for the -Dvt-features flags so that future changes
+ # don't regress any feature combination.
+ build-libghostty-vt-features:
+ runs-on: namespace-profile-ghostty-sm
+ needs: test
+ env:
+ ZIG_LOCAL_CACHE_DIR: /zig/local-cache
+ ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+
+ - name: Setup Cache
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
+ with:
+ path: |
+ /nix
+ /zig
+
+ # Install Nix and use that to run our tests so our environment matches exactly.
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
+ with:
+ nix_path: nixpkgs=channel:nixos-unstable
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
+ with:
+ name: ghostty
+ authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
+
+ - name: Compile feature flag matrix
+ run: |
+ features="snapshot formatter selection render_state input_encode color grid_introspection glyph_protocol kitty_graphics"
+ configs="-all"
+ for f in $features; do configs="$configs -all,+$f"; done
+
+ for cfg in $configs; do
+ echo "::group::-Dvt-features=$cfg"
+ # The wasm lib build compiles the C API export block; the
+ # test build compiles every module test without running any.
+ nix develop -c zig build -Demit-lib-vt \
+ "-Dvt-features=$cfg" \
+ -Dtarget=wasm32-freestanding
+ nix develop -c zig build test-lib-vt-build \
+ "-Dvt-features=$cfg"
+ echo "::endgroup::"
+ done
+
# lib-vt requires macOS runner for macOS/iOS builds because it requires the `apple_sdk` path
build-libghostty-vt-macos:
strategy:
matrix:
- target: [aarch64-macos, x86_64-macos, aarch64-ios]
+ include:
+ - target: aarch64-macos
+ platform: 1
+ arch: arm64
+ expect_encryption: false
+ - target: x86_64-macos
+ platform: 1
+ arch: x86_64
+ expect_encryption: false
+ - target: aarch64-ios
+ platform: 2
+ arch: arm64
+ expect_encryption: true
+ - target: aarch64-ios-simulator
+ platform: 7
+ arch: arm64
+ expect_encryption: false
runs-on: namespace-profile-ghostty-macos-tahoe
needs: test
env:
@@ -625,10 +852,10 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -639,19 +866,27 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Xcode Select
- run: sudo xcode-select -s /Applications/Xcode_26.3.app
+ run: sudo xcode-select -s /Applications/Xcode_26.6.app
- name: Build
run: |
nix develop -c zig build -Demit-lib-vt \
-Dtarget=${{ matrix.target }}
+ - name: Verify Apple dylib
+ run: |
+ nix develop -c nu .github/scripts/check-apple-libghostty-vt.nu \
+ zig-out/lib/libghostty-vt.dylib \
+ --expect-platform ${{ matrix.platform }} \
+ --expect-arch ${{ matrix.arch }} \
+ ${{ matrix.expect_encryption && '--expect-encryption' || '' }}
+
# lib-vt requires the Android NDK for Android builds
build-libghostty-vt-android:
strategy:
@@ -666,20 +901,20 @@ jobs:
ANDROID_NDK_VERSION: r29
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -706,7 +941,7 @@ jobs:
needs: test
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Zig
uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1
@@ -717,13 +952,17 @@ jobs:
- name: Build libghostty-vt
run: zig build -Demit-lib-vt
+ - name: Test static linking
+ working-directory: example/c-vt-static
+ run: zig build
+
build-libghostty-windows-gnu:
runs-on: namespace-profile-ghostty-windows
timeout-minutes: 45
needs: test
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Zig
uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1
@@ -743,20 +982,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -772,20 +1011,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -805,20 +1044,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -887,20 +1126,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -927,20 +1166,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -967,7 +1206,7 @@ jobs:
needs: [build-dist, build-snap]
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Trigger Snap workflow
run: |
@@ -985,7 +1224,7 @@ jobs:
needs: [build-dist, build-flatpak]
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Trigger Flatpak workflow
run: |
@@ -1002,13 +1241,13 @@ jobs:
# needs: test
# steps:
# - name: Checkout code
- # uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ # uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# # Install Nix and use that to run our tests so our environment matches exactly.
- # - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ # - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
# with:
# nix_path: nixpkgs=channel:nixos-unstable
- # - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ # - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
# with:
# name: ghostty
# authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1057,10 +1296,10 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -1071,13 +1310,13 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Xcode Select
- run: sudo xcode-select -s /Applications/Xcode_26.3.app
+ run: sudo xcode-select -s /Applications/Xcode_26.6.app
- name: Xcode Version
run: xcodebuild -version
@@ -1101,13 +1340,45 @@ jobs:
COMPILATION_CACHE_CAS_PATH=/Users/runner/Library/Developer/Xcode/DerivedData/CompilationCache.noindex \
COMPILATION_CACHE_KEEP_CAS_DIRECTORY=YES
- # Build the iOS target without code signing just to verify it works.
- - name: Build Ghostty iOS
- run: |
- cd macos
- xcodebuild -target Ghostty-iOS "CODE_SIGNING_ALLOWED=NO" \
- COMPILATION_CACHE_CAS_PATH=/Users/runner/Library/Developer/Xcode/DerivedData/CompilationCache.noindex \
- COMPILATION_CACHE_KEEP_CAS_DIRECTORY=YES
+ build-macos-xcode-27:
+ runs-on: namespace-profile-ghostty-macos-tahoe
+ needs: test
+ env:
+ ZIG_LOCAL_CACHE_DIR: /Users/runner/zig/local-cache
+ ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+
+ - name: Setup Cache
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
+ with:
+ cache: |
+ xcode
+ path: |
+ /Users/runner/zig
+
+ # TODO(tahoe): https://github.com/NixOS/nix/issues/13342
+ - uses: DeterminateSystems/nix-installer-action@main
+ with:
+ determinate: true
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
+ with:
+ name: ghostty
+ authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
+
+ - name: Xcode Select
+ run: sudo xcode-select -s /Applications/Xcode_27.app
+
+ - name: Xcode Version
+ run: xcodebuild -version
+
+ - name: get the Zig deps
+ id: deps
+ run: nix build -L .#deps && echo "deps=$(readlink ./result)" >> $GITHUB_OUTPUT
+
+ - name: Build with Xcode 27
+ run: nix develop -c zig build --system ${{ steps.deps.outputs.deps }} -Demit-macos-app=false
build-macos-freetype:
runs-on: namespace-profile-ghostty-macos-tahoe
@@ -1117,10 +1388,10 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -1131,13 +1402,13 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Xcode Select
- run: sudo xcode-select -s /Applications/Xcode_26.3.app
+ run: sudo xcode-select -s /Applications/Xcode_26.6.app
- name: Xcode Version
run: xcodebuild -version
@@ -1167,7 +1438,7 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Get required Zig version
id: zig
@@ -1175,17 +1446,17 @@ jobs:
echo "version=$(sed -n -E 's/^\s*\.?minimum_zig_version\s*=\s*"([^"]+)".*/\1/p' build.zig.zon)" >> $GITHUB_OUTPUT
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1196,9 +1467,29 @@ jobs:
- name: Test GTK Build
run: nix develop -c zig build -Dapp-runtime=gtk -Demit-docs -Demit-webdata
- # This relies on the cache being populated by the commands above.
+ # NOTE: This used to point to the Zig global cache directory before
+ # 0.16.0. Now, the cache directory exclusively stores "minified"
+ # archives of each dependency (i.e., only the paths defined in
+ # build.zig.zon), and an uncompressed, working copy is stored in
+ # PROJECT_ROOT/zig-pkg. The zig-pkg directory is warmed up during the
+ # regular fetching process from the global cache directory if
+ # possible.
+ #
+ # Nothing else should change; zon2nix's store path mimics what a
+ # zig-pkg directory should look like, so actual build steps should be
+ # fine, it's just here where we assume that all dependencies have been
+ # downloaded, and we want to test the validity of the package
+ # directory, do we need to have it pointing to zig-pkg and not the
+ # zon2nix store path.
+ #
+ # Note that this can also be attempted by running:
+ # zig build --fetch=needed
+ #
+ # Note that --system PKGDIR should not be added to this invocation as
+ # it disables fetching altogether (even, seemingly, from the local
+ # cache).
- name: Test System Build
- run: nix develop -c zig build --system ${ZIG_GLOBAL_CACHE_DIR}/p
+ run: nix develop -c zig build --system "$(realpath zig-pkg)"
test-lib-vt:
if: github.repository == 'ghostty-org/ghostty' && needs.skip.outputs.skip != 'true'
@@ -1209,20 +1500,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1230,6 +1521,34 @@ jobs:
- name: Test
run: nix develop -c zig build test-lib-vt
+ - name: Validate native ABI manifest
+ run: nix develop -c zig build test-lib-vt-schema
+
+ test-kaitai:
+ if: github.repository == 'ghostty-org/ghostty' && needs.skip.outputs.skip != 'true'
+ needs: skip
+ runs-on: namespace-profile-ghostty-xsm
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
+
+ - name: Setup Cache
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
+ with:
+ path: /nix
+
+ # Install Nix so the verifier uses the pinned compiler and runtimes.
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
+ with:
+ nix_path: nixpkgs=channel:nixos-unstable
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
+ with:
+ name: ghostty
+ authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
+
+ - name: Verify Snapshot Kaitai Schema
+ run: nix develop -c src/terminal/snapshot/verify-kaitai.py
+
test-gtk:
strategy:
fail-fast: false
@@ -1244,20 +1563,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1292,20 +1611,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1327,20 +1646,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1357,10 +1676,10 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /Users/runner/zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -1371,13 +1690,13 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Xcode Select
- run: sudo xcode-select -s /Applications/Xcode_26.3.app
+ run: sudo xcode-select -s /Applications/Xcode_26.6.app
- name: Xcode Version
run: xcodebuild -version
@@ -1396,7 +1715,7 @@ jobs:
timeout-minutes: 45
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Zig
uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1
@@ -1417,20 +1736,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1448,20 +1767,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1493,17 +1812,17 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1524,17 +1843,17 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1554,17 +1873,17 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1579,10 +1898,10 @@ jobs:
needs: skip
timeout-minutes: 60
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
cache: |
xcode
@@ -1593,7 +1912,7 @@ jobs:
- uses: DeterminateSystems/nix-installer-action@main
with:
determinate: true
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1612,17 +1931,17 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1640,17 +1959,17 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1668,17 +1987,17 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1701,17 +2020,17 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1729,17 +2048,17 @@ jobs:
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1763,20 +2082,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1825,20 +2144,20 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
# Install Nix and use that to run our tests so our environment matches exactly.
- - uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -1864,7 +2183,7 @@ jobs:
# timeout-minutes: 10
# steps:
# - name: Checkout Ghostty
- # uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ # uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
#
# - name: Start SSH
# run: |
diff --git a/vendor/libghostty-vt/.github/workflows/update-colorschemes.yml b/vendor/libghostty-vt/.github/workflows/update-colorschemes.yml
index 911768e5..dfdd58ab 100644
--- a/vendor/libghostty-vt/.github/workflows/update-colorschemes.yml
+++ b/vendor/libghostty-vt/.github/workflows/update-colorschemes.yml
@@ -17,22 +17,22 @@ jobs:
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
steps:
- name: Checkout code
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Setup Cache
- uses: namespacelabs/nscloud-cache-action@58bf6e08898e88803c098e2b522668541cd3b2e3 # v1.6.0
+ uses: namespacelabs/nscloud-cache-action@c5f8dab7560444c4bf8dbc64f1b203431873c547 # v1.6.1
with:
path: |
/nix
/zig
- name: Setup Nix
- uses: cachix/install-nix-action@a49548c11d9846ad46ecc0115273879b045f001c # v31.10.7
+ uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
nix_path: nixpkgs=channel:nixos-unstable
- - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
+ - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
name: ghostty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
@@ -52,7 +52,7 @@ jobs:
echo "filename=$FILENAME" >> $GITHUB_OUTPUT
- name: Upload to R2
- uses: ryand56/r2-upload-action@b801a390acbdeb034c5e684ff5e1361c06639e7c # v1.4
+ uses: ryand56/r2-upload-action@33ebb7a494b3a8a3c5ed2ea6bbdc72e707090317 # v1.5
with:
r2-account-id: ${{ secrets.CF_R2_DEPS_ACCOUNT_ID }}
r2-access-key-id: ${{ secrets.CF_R2_DEPS_AWS_KEY }}
diff --git a/vendor/libghostty-vt/.github/workflows/vouch-check-issue.yml b/vendor/libghostty-vt/.github/workflows/vouch-check-issue.yml
index fb36bf88..b096a600 100644
--- a/vendor/libghostty-vt/.github/workflows/vouch-check-issue.yml
+++ b/vendor/libghostty-vt/.github/workflows/vouch-check-issue.yml
@@ -14,11 +14,11 @@ jobs:
app-id: ${{ secrets.VOUCH_APP_ID }}
private-key: ${{ secrets.VOUCH_APP_PRIVATE_KEY }}
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
sparse-checkout: .github/issue-unvouched-message
- - uses: mitchellh/vouch/action/check-issue@d66fa29a64600490892131ad87597c30c91fcac4 # unreleased main
+ - uses: mitchellh/vouch/action/check-issue@d66fa29a64600490892131ad87597c30c91fcac4 # v1.5.0
with:
issue-number: ${{ github.event.issue.number }}
auto-close: true
diff --git a/vendor/libghostty-vt/.github/workflows/vouch-manage-by-discussion.yml b/vendor/libghostty-vt/.github/workflows/vouch-manage-by-discussion.yml
index ec46fa26..c5c5abaf 100644
--- a/vendor/libghostty-vt/.github/workflows/vouch-manage-by-discussion.yml
+++ b/vendor/libghostty-vt/.github/workflows/vouch-manage-by-discussion.yml
@@ -18,7 +18,7 @@ jobs:
app-id: ${{ secrets.VOUCH_APP_ID }}
private-key: ${{ secrets.VOUCH_APP_PRIVATE_KEY }}
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
token: ${{ steps.app-token.outputs.token }}
diff --git a/vendor/libghostty-vt/.github/workflows/vouch-manage-by-issue.yml b/vendor/libghostty-vt/.github/workflows/vouch-manage-by-issue.yml
index 631adcea..de0c0bfd 100644
--- a/vendor/libghostty-vt/.github/workflows/vouch-manage-by-issue.yml
+++ b/vendor/libghostty-vt/.github/workflows/vouch-manage-by-issue.yml
@@ -18,7 +18,7 @@ jobs:
app-id: ${{ secrets.VOUCH_APP_ID }}
private-key: ${{ secrets.VOUCH_APP_PRIVATE_KEY }}
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
token: ${{ steps.app-token.outputs.token }}
diff --git a/vendor/libghostty-vt/.github/workflows/vouch-sync-codeowners.yml b/vendor/libghostty-vt/.github/workflows/vouch-sync-codeowners.yml
index b031f29f..311550a5 100644
--- a/vendor/libghostty-vt/.github/workflows/vouch-sync-codeowners.yml
+++ b/vendor/libghostty-vt/.github/workflows/vouch-sync-codeowners.yml
@@ -19,7 +19,7 @@ jobs:
app-id: ${{ secrets.VOUCH_APP_ID }}
private-key: ${{ secrets.VOUCH_APP_PRIVATE_KEY }}
- - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
token: ${{ steps.app-token.outputs.token }}