krz/keycask

Password manager: Swift core library, CLI for macOS/Linux/Windows, iOS/macOS app. cli password-manager swift

Commit a7777ef2ad

a7777ef2adbafe4a1d8cdec02b43a0a1deee6503

parent: 1afeb101d6

Verified · cmc ci/build: failure ci/test: failure

cmc <hello@cleberg.net> · 2026-09-17 15:45 UTC

CI: install Swift 6.4.0 from the Debian 13 tarball

Layout: unified · split

.gitbay/ci.yml +42 −10
@@ -1,14 +1,46 @@
1# Diagnostic only: identify the runner before choosing a toolchain install. 1# The runner is Debian 13, root, no docker. apt state does not survive between
2# builds; $HOME does, so the toolchain tarball is fetched and verified once.
3# Each step runs in its own `sh -c`, so the install block is repeated per job.
2jobs: 4jobs:
3 build: 5 build:
4 steps: 6 steps:
5 - | 7 - |
6 set -u 8 set -eu
7 cat /etc/os-release || true 9 export DEBIAN_FRONTEND=noninteractive
8 uname -a 10 apt-get -qq update >/dev/null
9 id 11 apt-get -qq install -y binutils-gold curl gpg libicu-dev libcurl4-openssl-dev libedit-dev libsqlite3-dev libncurses-dev libpython3-dev libxml2-dev pkg-config uuid-dev tzdata git gcc libstdc++-14-dev >/dev/null
10 echo "HOME=$HOME" 12 SWIFT="$HOME/swift-6.4.0-RELEASE-debian13"
11 ldd --version 2>&1 | head -1 || true 13 if [ ! -x "$SWIFT/usr/bin/swift" ]; then
12 for t in curl tar gzip python3 git clang docker sudo apt-get dnf; do printf '%s: ' "$t"; command -v "$t" || echo missing; done 14 base="https://download.swift.org/swift-6.4.0-release/debian13/swift-6.4.0-RELEASE/swift-6.4.0-RELEASE-debian13.tar.gz"
13 df -h "$HOME" /tmp | tail -2 15 curl -fsSL "$base" -o /tmp/swift.tar.gz "$base.sig" -o /tmp/swift.tar.gz.sig
14 nproc; free -m | head -2 || true 16 export GNUPGHOME="$(mktemp -d)"
17 curl -fsSL https://swift.org/keys/all-keys.asc | gpg --batch --quiet --import
18 gpg --batch --verify /tmp/swift.tar.gz.sig /tmp/swift.tar.gz
19 tar -xzf /tmp/swift.tar.gz -C "$HOME"
20 rm -rf /tmp/swift.tar.gz /tmp/swift.tar.gz.sig "$GNUPGHOME"
21 fi
22 export PATH="$SWIFT/usr/bin:$PATH"
23 swift --version
24 swift format lint --strict --recursive Sources Tests Package.swift
25 swift build
26 test:
27 steps:
28 - |
29 set -eu
30 export DEBIAN_FRONTEND=noninteractive
31 apt-get -qq update >/dev/null
32 apt-get -qq install -y binutils-gold curl gpg libicu-dev libcurl4-openssl-dev libedit-dev libsqlite3-dev libncurses-dev libpython3-dev libxml2-dev pkg-config uuid-dev tzdata git gcc libstdc++-14-dev >/dev/null
33 SWIFT="$HOME/swift-6.4.0-RELEASE-debian13"
34 if [ ! -x "$SWIFT/usr/bin/swift" ]; then
35 base="https://download.swift.org/swift-6.4.0-release/debian13/swift-6.4.0-RELEASE/swift-6.4.0-RELEASE-debian13.tar.gz"
36 curl -fsSL "$base" -o /tmp/swift.tar.gz "$base.sig" -o /tmp/swift.tar.gz.sig
37 export GNUPGHOME="$(mktemp -d)"
38 curl -fsSL https://swift.org/keys/all-keys.asc | gpg --batch --quiet --import
39 gpg --batch --verify /tmp/swift.tar.gz.sig /tmp/swift.tar.gz
40 tar -xzf /tmp/swift.tar.gz -C "$HOME"
41 rm -rf /tmp/swift.tar.gz /tmp/swift.tar.gz.sig "$GNUPGHOME"
42 fi
43 export PATH="$SWIFT/usr/bin:$PATH"
44 swift test
45 paths-ignore:
46 - docs/**