logiguard fork: GPUI xdg-activation keyboard-focus serial fix
Some checks failed
Update All Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Triage Project Sync (#84) / Sync triage project (push) Has been cancelled
release_nightly / notify_on_failure (push) Has been cancelled
release_nightly / check_style (push) Has been cancelled
release_nightly / run_tests_windows (push) Has been cancelled
release_nightly / clippy_windows (push) Has been cancelled
release_nightly / bundle_linux_aarch64 (push) Has been cancelled
release_nightly / bundle_linux_x86_64 (push) Has been cancelled
release_nightly / bundle_mac_aarch64 (push) Has been cancelled
release_nightly / bundle_mac_x86_64 (push) Has been cancelled
release_nightly / bundle_windows_aarch64 (push) Has been cancelled
release_nightly / bundle_windows_x86_64 (push) Has been cancelled
release_nightly / build_nix_linux_x86_64 (push) Has been cancelled
release_nightly / build_nix_mac_aarch64 (push) Has been cancelled
release_nightly / update_nightly_tag (push) Has been cancelled
Hotfix Review Monitor / check-hotfix-reviews (push) Has been cancelled
Stale PR Review Reminder / check-stale-prs (push) Has been cancelled
Update Weekly Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Bump collab-staging Tag / update-collab-staging-tag (push) Has been cancelled
compliance_check / scheduled_compliance_check (push) Has been cancelled
Some checks failed
Update All Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Triage Project Sync (#84) / Sync triage project (push) Has been cancelled
release_nightly / notify_on_failure (push) Has been cancelled
release_nightly / check_style (push) Has been cancelled
release_nightly / run_tests_windows (push) Has been cancelled
release_nightly / clippy_windows (push) Has been cancelled
release_nightly / bundle_linux_aarch64 (push) Has been cancelled
release_nightly / bundle_linux_x86_64 (push) Has been cancelled
release_nightly / bundle_mac_aarch64 (push) Has been cancelled
release_nightly / bundle_mac_x86_64 (push) Has been cancelled
release_nightly / bundle_windows_aarch64 (push) Has been cancelled
release_nightly / bundle_windows_x86_64 (push) Has been cancelled
release_nightly / build_nix_linux_x86_64 (push) Has been cancelled
release_nightly / build_nix_mac_aarch64 (push) Has been cancelled
release_nightly / update_nightly_tag (push) Has been cancelled
Hotfix Review Monitor / check-hotfix-reviews (push) Has been cancelled
Stale PR Review Reminder / check-stale-prs (push) Has been cancelled
Update Weekly Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Bump collab-staging Tag / update-collab-staging-tag (push) Has been cancelled
compliance_check / scheduled_compliance_check (push) Has been cancelled
Single-commit orphan branch: full zed-industries/zed @ 8c74db0 source tree with a 3-file patch applied (no upstream history). Patch (crates/gpui_linux/src/linux/wayland/): - serial.rs: add SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; add latest_serial_of() - window.rs: activate() uses keyboard-enter serial (Mutter focus gate) Mutter honors window activation only when the token carries the keyboard- focus serial from wl_keyboard.enter; GPUI used a stale mouse-press serial. See docs/tray-window-focus-wayland.md in logiguard. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
128
script/setup-sccache
Executable file
128
script/setup-sccache
Executable file
@@ -0,0 +1,128 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCCACHE_VERSION="v0.10.0"
|
||||
# Use absolute path to avoid issues with working directory changes between steps
|
||||
SCCACHE_DIR="$(pwd)/target/sccache"
|
||||
|
||||
install_sccache() {
|
||||
mkdir -p "$SCCACHE_DIR"
|
||||
|
||||
if [[ -x "${SCCACHE_DIR}/sccache" ]] && "${SCCACHE_DIR}/sccache" --version &>/dev/null; then
|
||||
echo "sccache already cached: $("${SCCACHE_DIR}/sccache" --version)"
|
||||
else
|
||||
echo "Installing sccache ${SCCACHE_VERSION} from GitHub releases..."
|
||||
|
||||
local os arch archive basename
|
||||
os="$(uname -s)"
|
||||
arch="$(uname -m)"
|
||||
|
||||
case "${os}-${arch}" in
|
||||
Darwin-arm64)
|
||||
archive="sccache-${SCCACHE_VERSION}-aarch64-apple-darwin.tar.gz"
|
||||
;;
|
||||
Darwin-x86_64)
|
||||
archive="sccache-${SCCACHE_VERSION}-x86_64-apple-darwin.tar.gz"
|
||||
;;
|
||||
Linux-x86_64)
|
||||
archive="sccache-${SCCACHE_VERSION}-x86_64-unknown-linux-musl.tar.gz"
|
||||
;;
|
||||
Linux-aarch64)
|
||||
archive="sccache-${SCCACHE_VERSION}-aarch64-unknown-linux-musl.tar.gz"
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported platform: ${os}-${arch}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
basename="${archive%.tar.gz}"
|
||||
curl -fsSL "https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/${archive}" | tar xz
|
||||
mv "${basename}/sccache" "${SCCACHE_DIR}/"
|
||||
rm -rf "${basename}"
|
||||
echo "Installed sccache: $("${SCCACHE_DIR}/sccache" --version)"
|
||||
fi
|
||||
|
||||
# Verify the binary works before adding to path
|
||||
if ! "${SCCACHE_DIR}/sccache" --version &>/dev/null; then
|
||||
echo "ERROR: sccache binary at ${SCCACHE_DIR}/sccache is not executable or corrupted"
|
||||
rm -f "${SCCACHE_DIR}/sccache"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -n "${GITHUB_PATH:-}" ]]; then
|
||||
echo "${SCCACHE_DIR}" >> "$GITHUB_PATH"
|
||||
fi
|
||||
export PATH="${SCCACHE_DIR}:${PATH}"
|
||||
}
|
||||
|
||||
configure_sccache() {
|
||||
if [[ -z "${R2_ACCOUNT_ID:-}" ]]; then
|
||||
echo "R2_ACCOUNT_ID not set, skipping sccache configuration"
|
||||
return
|
||||
fi
|
||||
|
||||
echo "Configuring sccache with Cloudflare R2..."
|
||||
|
||||
local bucket="${SCCACHE_BUCKET:-sccache-zed}"
|
||||
local key_prefix="${SCCACHE_KEY_PREFIX:-sccache/}"
|
||||
local base_dir="${GITHUB_WORKSPACE:-$(pwd)}"
|
||||
|
||||
# Use the absolute path to sccache binary for RUSTC_WRAPPER to avoid
|
||||
# any PATH race conditions between GITHUB_PATH and GITHUB_ENV
|
||||
local sccache_bin="${SCCACHE_DIR}/sccache"
|
||||
|
||||
# Set in current process
|
||||
export SCCACHE_ENDPOINT="https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com"
|
||||
export SCCACHE_BUCKET="${bucket}"
|
||||
export SCCACHE_REGION="auto"
|
||||
export SCCACHE_S3_KEY_PREFIX="${key_prefix}"
|
||||
export SCCACHE_BASEDIR="${base_dir}"
|
||||
export AWS_ACCESS_KEY_ID="${R2_ACCESS_KEY_ID}"
|
||||
export AWS_SECRET_ACCESS_KEY="${R2_SECRET_ACCESS_KEY}"
|
||||
export RUSTC_WRAPPER="${sccache_bin}"
|
||||
|
||||
# Also write to GITHUB_ENV for subsequent steps
|
||||
if [[ -n "${GITHUB_ENV:-}" ]]; then
|
||||
{
|
||||
echo "SCCACHE_ENDPOINT=${SCCACHE_ENDPOINT}"
|
||||
echo "SCCACHE_BUCKET=${SCCACHE_BUCKET}"
|
||||
echo "SCCACHE_REGION=${SCCACHE_REGION}"
|
||||
echo "SCCACHE_S3_KEY_PREFIX=${SCCACHE_S3_KEY_PREFIX}"
|
||||
echo "SCCACHE_BASEDIR=${SCCACHE_BASEDIR}"
|
||||
echo "AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}"
|
||||
echo "AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}"
|
||||
echo "RUSTC_WRAPPER=${RUSTC_WRAPPER}"
|
||||
} >> "$GITHUB_ENV"
|
||||
fi
|
||||
|
||||
echo "✓ sccache configured with Cloudflare R2 (bucket: ${bucket})"
|
||||
}
|
||||
|
||||
show_config() {
|
||||
echo "=== sccache configuration ==="
|
||||
echo "sccache version: $(sccache --version)"
|
||||
echo "RUSTC_WRAPPER: ${RUSTC_WRAPPER:-<not set>}"
|
||||
echo "SCCACHE_BUCKET: ${SCCACHE_BUCKET:-<not set>}"
|
||||
echo "SCCACHE_ENDPOINT: ${SCCACHE_ENDPOINT:-<not set>}"
|
||||
echo "SCCACHE_REGION: ${SCCACHE_REGION:-<not set>}"
|
||||
echo "SCCACHE_S3_KEY_PREFIX: ${SCCACHE_S3_KEY_PREFIX:-<not set>}"
|
||||
echo "SCCACHE_BASEDIR: ${SCCACHE_BASEDIR:-<not set>}"
|
||||
if [[ -n "${AWS_ACCESS_KEY_ID:-}" ]]; then
|
||||
echo "AWS_ACCESS_KEY_ID: <set, length=${#AWS_ACCESS_KEY_ID}>"
|
||||
else
|
||||
echo "AWS_ACCESS_KEY_ID: <not set>"
|
||||
fi
|
||||
if [[ -n "${AWS_SECRET_ACCESS_KEY:-}" ]]; then
|
||||
echo "AWS_SECRET_ACCESS_KEY: <set>"
|
||||
else
|
||||
echo "AWS_SECRET_ACCESS_KEY: <not set>"
|
||||
fi
|
||||
echo "=== sccache stats ==="
|
||||
sccache --show-stats || true
|
||||
}
|
||||
|
||||
install_sccache
|
||||
configure_sccache
|
||||
show_config
|
||||
Reference in New Issue
Block a user