Commit Graph

260 Commits (v1.1.3)

Author SHA1 Message Date
Jeffrey C. Ollie 74f222abec
macOS: update additional references to Sparkle 2.6.3->2.6.4 2025-02-13 10:35:38 -06:00
Jeffrey C. Ollie 1e3cd89516
macOS: use Nix to get Zig deps 2025-02-12 08:21:16 -06:00
Jeffrey C. Ollie 3a8c934b19 nix: use zig2nix to manage nix cache/deps
This brings the internal package more in line with how the nixpkgs
package is built. It also handles recursive dependencies better than the
current system.
2025-02-11 08:25:34 -08:00
Mitchell Hashimoto dda242c96e
ci: update publish job 2025-01-30 13:58:17 -08:00
Mitchell Hashimoto dbc4edc583
ci: separate publish and release workflows
This now requires a separate manually triggered `publish` workflow to be
run after the release completes in order to transition the release to
the `published` state.

Practically today this only means that the release will be published to
the macOS auto-updater, but in the future we could add additional steps
such as creating a GH release or some other notifications.

Importantly, this lets us verify the release in the uploaded location
before general users are notified of the update.
2025-01-29 16:39:35 -08:00
Mitchell Hashimoto f5add68100
ci: required checks must be named separately 2025-01-10 13:31:28 -08:00
Mitchell Hashimoto 6237377a59
ci: avoid "successful failure" of status check job by inspecting needs
Thanks to @ryanec for this tip.
2025-01-10 13:28:21 -08:00
Mitchell Hashimoto 2fb0d99f00
ci: add required checks jobs
This is a hack to make it easier for our GitHub branching rules to
require a single check to pass before merging. This lets us describe the
required checks in code rather than via the GH UI.
2025-01-10 12:57:41 -08:00
Mitchell Hashimoto be0370cb0e
ci: test gtk-wayland in the GTK matrix 2025-01-10 09:41:14 -08:00
Bryan Lee 37256ec6a2
ci: move version output after variable definition 2025-01-09 10:31:41 +08:00
Bryan Lee bec690532d
ci: update zig version regex in windows build 2025-01-09 10:24:00 +08:00
Mitchell Hashimoto 405fe377d2
wuffs: update, add jpeg decoding, add simple tests (#4250)
1. Update wuffs to v0.4.0-alpha.9
2. Add JPEG decoding
3. Add basic unit tests for image decoding
4. Add CI jobs to run wuffs unit tests.
2025-01-02 15:24:28 -08:00
Mitchell Hashimoto 0ef24f3c75
ci: only test pkgs on Linux 2025-01-02 15:08:42 -08:00
Mitchell Hashimoto 7a5ef3da2b
remove sentry test for macOS, remove windows check 2025-01-02 13:34:23 -08:00
Jeffrey C. Ollie cb8d30f938 core: add build option to disable sentry 2025-01-02 13:32:45 -08:00
Jeffrey C. Ollie 652079b26c
wuffs: update, add jpeg decoding, add simple tests 2025-01-01 22:48:30 -06:00
Mitchell Hashimoto 3f7c3afaf9
ci: source tarball files must not be quoted 2024-12-31 12:47:50 -08:00
Mitchell Hashimoto a857d56fb6
ci: proper blob file setup for source tarballs on release 2024-12-31 12:43:33 -08:00
Mitchell Hashimoto b7dba0c5f5
macos: disable auto-updates for local builds (#3943)
The auto-update prompt isn't useful for local (source) builds. Disable
it by default by setting Sparkle's SUEnableAutomaticChecks Info.plist
key to NO (false) for all build configurations.

We then selectively re-enable it by deleting that Info.plist key from
our release workflows. We delete the key instead of setting its value to
YES (true) to give us Sparkle's default behavior of prompting the user
to enable update checks on the second application launch. (YES tells
Sparkle to skip that prompt and silently enable update checks.)

See also: https://sparkle-project.org/documentation/customization/

(This is a safer alternative to #3273.)

Fixes: #3179
2024-12-29 13:26:35 -08:00
Mitchell Hashimoto 3b8a0ed2b8
CI: Update release-tag.yml to include the version in the source archive and prefix within (#3490)
Continuing from #3043 I agree that it seems idiomatic to have an archive
with format <name>-<version>.tar.gz and matching prefix for packaging,
RPM and Debian packaging guides seem to assume this format and the
automated extract tooling assumes it too.

# Testing
I haven't tested running this workflow, and am unsure about the yaml
substitution at lines 105-106

# Breaking changes
This would break existing packaging scripts, not sure how we want to
version it
2024-12-29 13:25:28 -08:00
Mitchell Hashimoto 9c15d8de35
ci: keep old source tarballs as well 2024-12-29 13:24:28 -08:00
Jon Parise 074edd3065 macos: disable auto-updates for local builds
The auto-update prompt isn't useful for local (source) builds. Disable
it by default by setting Sparkle's SUEnableAutomaticChecks Info.plist
key to NO (false) for all build configurations.

We then selectively re-enable it by deleting that Info.plist key from
our release workflows. We delete the key instead of setting its value to
YES (true) to give us Sparkle's default behavior of prompting the user
to enable update checks on the second application launch. (YES tells
Sparkle to skip that prompt and silently enable update checks.)

See also: https://sparkle-project.org/documentation/customization/
2024-12-29 15:48:59 -05:00
hustcer c84fefc4ea chore: Add milestone workflow to add milestone to merged PR and fixed Issues 2024-12-29 07:06:47 -08:00
Mitchell Hashimoto 9fc1e4e91a
ci: our GTK tests were installing Cachix twice 2024-12-28 18:53:13 -08:00
Mitchell Hashimoto b8a75c24a6
Update the pre-approved issue template 2024-12-28 18:37:17 -08:00
Mitchell Hashimoto a55bea3491
ci: install nix 2024-12-28 14:38:29 -08:00
Mitchell Hashimoto f95aa32965
run gtk matrix on small instances 2024-12-28 14:32:13 -08:00
Mitchell Hashimoto 63dad2fb10
prettier 2024-12-28 14:31:35 -08:00
Mitchell Hashimoto c4ff873726
ci: test gtk via a matrix 2024-12-28 14:29:36 -08:00
Jeffrey C. Ollie 8ecb11a602
gtk: add option to not link against libX11 2024-12-28 13:40:17 -06:00
Mitchell Hashimoto 7e4a69e7df
fix prettier 2024-12-27 11:45:57 -08:00
Mitchell Hashimoto 6f2a7d3c36
github: make things more clear 2024-12-27 11:34:09 -08:00
Mitchell Hashimoto 4b3c1b031e
github: preapproved template needs to be md 2024-12-27 11:29:49 -08:00
Mitchell Hashimoto 83987968ac
github: preapproved issue template 2024-12-27 11:22:25 -08:00
Mitchell Hashimoto 2998775152
github: issue template 2024-12-27 11:16:48 -08:00
Anthony 8335a31e45 Use github yaml substitution for yaml element 2024-12-28 04:04:55 +11:00
Anthony b9128aded5 CI: Update release-tag.yml to include the version in the source archive name and prefix 2024-12-28 03:33:12 +11:00
Mitchell Hashimoto 05fd5e0cfd
ci: release workflows build a dmg for macOS (#3047)
We've used a zip for the duration of the private beta but macOS users
expect a dmg. This commit changes both of our release workflows to begin
building a dmg instead of a zip.

![CleanShot 2024-12-20 at 21 26
53@2x](https://github.com/user-attachments/assets/2873854d-7849-4c53-9b58-e636ef8e2899)
2024-12-20 21:28:23 -08:00
Mitchell Hashimoto 555163cb1b
ci: release workflows build a dmg for macOS
We've used a zip for the duration of the private beta but macOS users
expect a dmg. This commit changes both of our release workflows to begin
building a dmg instead of a zip.
2024-12-20 21:26:33 -08:00
Anthony c6796ce33e Add --prefix option to `git archive` to extract with a top-level directory 2024-12-21 13:27:59 +11:00
Mitchell Hashimoto 8f15f1a066
Make Ghostty release channel aware
Ghostty now has a release channel build configuration. Current valid
values are "tip" and "stable" but I imagine more will be added in the
future.

The release channel is inferred whether the version we specify with the
`-Dversion-string` build flag has a prerelease tag or not. If it does,
the release channel is "tip". If it doesn't, the release channel is
"stable".

This also adds a configuration to specify the release channel for
auto-updates for the macOS application.
2024-12-20 14:21:59 -08:00
Mitchell Hashimoto 0abd4ea8a2
ci: release tag workflow
This adds a new workflow for building and releasing _tagged versions_
of Ghostty. The workflow is triggered automatically by new tags in the
format of `vX.Y.Z` but can also be manually triggered by running the
workflow from the GitHub Actions UI.

Release artifacts are uploaded to a completely separate R2 bucket
with its own access policy, retention, API keys, and so on.

There is currently no way to switch between "channels" in the macOS
app. I will follow up with a separate commit to add this feature.
2024-12-20 13:02:05 -08:00
Mitchell Hashimoto 486a5a4875
ci: tagged release workflow 2024-12-20 09:52:22 -08:00
Mitchell Hashimoto c74966e07e
build: change object story domain to ghostty.org 2024-12-20 08:58:46 -08:00
Mitchell Hashimoto 68bf5a9492
ci: on release, only upload appcast after binaries 2024-12-12 21:12:35 -08:00
Mitchell Hashimoto 10bbb7511b
ci: colorscheme update should verify nix hash and build 2024-12-12 13:47:53 -08:00
Mitchell Hashimoto 5a085267ca
prettier 2024-12-12 13:42:49 -08:00
Mitchell Hashimoto 9b4e3622aa
ci: iTerm2 job should run on Namespace and use cache 2024-12-12 13:41:52 -08:00
Anmol Wadhwani 2c3e0df6e9 Use git diff --exit-code in conditional 2024-12-12 23:59:58 +05:30
Anmol Wadhwani 1403f21d1c Add weekly iterm2-colorschemes update workflow 2024-12-12 18:08:34 +05:30