mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-25 05:06:24 +03:00
35
.github/workflows/test.yml
vendored
35
.github/workflows/test.yml
vendored
@ -31,6 +31,7 @@ jobs:
|
|||||||
- prettier
|
- prettier
|
||||||
- alejandra
|
- alejandra
|
||||||
- typos
|
- typos
|
||||||
|
- shellcheck
|
||||||
- translations
|
- translations
|
||||||
- blueprint-compiler
|
- blueprint-compiler
|
||||||
- test-pkg-linux
|
- test-pkg-linux
|
||||||
@ -778,6 +779,40 @@ jobs:
|
|||||||
- name: typos check
|
- name: typos check
|
||||||
run: nix develop -c typos
|
run: nix develop -c typos
|
||||||
|
|
||||||
|
shellcheck:
|
||||||
|
if: github.repository == 'ghostty-org/ghostty'
|
||||||
|
runs-on: namespace-profile-ghostty-xsm
|
||||||
|
timeout-minutes: 60
|
||||||
|
env:
|
||||||
|
ZIG_LOCAL_CACHE_DIR: /zig/local-cache
|
||||||
|
ZIG_GLOBAL_CACHE_DIR: /zig/global-cache
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
- name: Setup Cache
|
||||||
|
uses: namespacelabs/nscloud-cache-action@449c929cd5138e6607e7e78458e88cc476e76f89 # v1.2.8
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
/nix
|
||||||
|
/zig
|
||||||
|
- uses: cachix/install-nix-action@cebd211ec2008b83bda8fb0b21c3c072f004fe04 # v31.5.0
|
||||||
|
with:
|
||||||
|
nix_path: nixpkgs=channel:nixos-unstable
|
||||||
|
- uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
|
||||||
|
with:
|
||||||
|
name: ghostty
|
||||||
|
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
|
||||||
|
skipPush: true
|
||||||
|
useDaemon: false # sometimes fails on short jobs
|
||||||
|
- name: shellcheck
|
||||||
|
run: |
|
||||||
|
nix develop -c shellcheck \
|
||||||
|
--check-sourced \
|
||||||
|
--color=always \
|
||||||
|
--severity=warning \
|
||||||
|
--shell=bash \
|
||||||
|
--external-sources \
|
||||||
|
$(find . \( -name "*.sh" -o -name "*.bash" \) -type f ! -path "./zig-out/*" ! -path "./macos/build/*" ! -path "./.git/*" | sort)
|
||||||
|
|
||||||
translations:
|
translations:
|
||||||
if: github.repository == 'ghostty-org/ghostty'
|
if: github.repository == 'ghostty-org/ghostty'
|
||||||
runs-on: namespace-profile-ghostty-xsm
|
runs-on: namespace-profile-ghostty-xsm
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
set -e # Exit immediately if a command exits with a non-zero status
|
set -e # Exit immediately if a command exits with a non-zero status
|
||||||
|
|
||||||
SCRIPT_PATH="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)"
|
SCRIPT_PATH="$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd)"
|
||||||
INPUT_FILE="$SCRIPT_PATH/../../build.zig.zon2json-lock"
|
INPUT_FILE="$SCRIPT_PATH/../../build.zig.zon2json-lock"
|
||||||
OUTPUT_DIR="blob"
|
OUTPUT_DIR="blob"
|
||||||
|
|
||||||
|
@ -61,6 +61,7 @@
|
|||||||
pinact,
|
pinact,
|
||||||
hyperfine,
|
hyperfine,
|
||||||
typos,
|
typos,
|
||||||
|
shellcheck,
|
||||||
uv,
|
uv,
|
||||||
wayland,
|
wayland,
|
||||||
wayland-scanner,
|
wayland-scanner,
|
||||||
@ -101,6 +102,7 @@ in
|
|||||||
alejandra
|
alejandra
|
||||||
pinact
|
pinact
|
||||||
typos
|
typos
|
||||||
|
shellcheck
|
||||||
|
|
||||||
# Testing
|
# Testing
|
||||||
parallel
|
parallel
|
||||||
|
@ -9,9 +9,6 @@ DIR=$(cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd)
|
|||||||
# We always copy the bin in case it was rebuilt
|
# We always copy the bin in case it was rebuilt
|
||||||
cp ${DIR}/../zig-out/bin/ghostty ${DIR}/
|
cp ${DIR}/../zig-out/bin/ghostty ${DIR}/
|
||||||
|
|
||||||
# Build our image once
|
|
||||||
IMAGE=$(docker build --file ${DIR}/Dockerfile -q ${DIR})
|
|
||||||
|
|
||||||
# Unix shortcut to just execute ./run-host for each one. We can do
|
# Unix shortcut to just execute ./run-host for each one. We can do
|
||||||
# this less esoterically if we ever wanted.
|
# this less esoterically if we ever wanted.
|
||||||
find ${DIR}/cases \
|
find ${DIR}/cases \
|
||||||
@ -23,4 +20,4 @@ find ${DIR}/cases \
|
|||||||
${DIR}/run-host.sh \
|
${DIR}/run-host.sh \
|
||||||
--case '{}' \
|
--case '{}' \
|
||||||
--rewrite-abs-path \
|
--rewrite-abs-path \
|
||||||
$@
|
"$@"
|
||||||
|
@ -13,4 +13,4 @@ docker run \
|
|||||||
--entrypoint "xvfb-run" \
|
--entrypoint "xvfb-run" \
|
||||||
$IMAGE \
|
$IMAGE \
|
||||||
--server-args="-screen 0, 1600x900x24" \
|
--server-args="-screen 0, 1600x900x24" \
|
||||||
/entrypoint.sh $@
|
/entrypoint.sh "$@"
|
||||||
|
@ -63,6 +63,7 @@ if [ $bad -ne 0 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Load our test case
|
# Load our test case
|
||||||
|
# shellcheck disable=SC1090
|
||||||
source ${ARG_CASE}
|
source ${ARG_CASE}
|
||||||
if ! has_func "test_do"; then
|
if ! has_func "test_do"; then
|
||||||
echo "Test case is invalid."
|
echo "Test case is invalid."
|
||||||
@ -79,7 +80,7 @@ if [ "$ARG_EXEC" = "ghostty" ]; then
|
|||||||
# We build in Nix (maybe). To be sure, we replace the interpreter so
|
# We build in Nix (maybe). To be sure, we replace the interpreter so
|
||||||
# it doesn't point to a Nix path. If we don't build in Nix, this should
|
# it doesn't point to a Nix path. If we don't build in Nix, this should
|
||||||
# still be safe.
|
# still be safe.
|
||||||
patchelf --set-interpreter /lib/ld-linux-$(uname -m).so.1 ${ARG_EXEC}
|
patchelf --set-interpreter /lib/ld-linux-"$(uname -m)".so.1 ${ARG_EXEC}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user