wezterm/.cirrus.yml
2025-02-08 08:55:33 -07:00

147 lines
6.3 KiB
YAML

env:
CIRRUS_CLONE_SUBMODULES: true
CIRRUS_CLONE_DEPTH: 1
task:
name: freebsd-14
compute_engine_instance:
image_project: freebsd-org-cloud-dev
image: family/freebsd-14-1
platform: freebsd
cpu: 4
memory: 8G
disk: 100 # Gb
stateful: false
only_if: "changesInclude('**.toml', '**.rs', '.gitmodules', '.cirrus.yml', 'get-deps', 'Cargo.lock')"
install_rust_script:
- pkg install -y bash
- curl https://sh.rustup.rs -sSf > /tmp/rustup.sh
- chmod +x /tmp/rustup.sh
- RUSTUP_IO_THREADS=1 /tmp/rustup.sh -y -q
getdeps_script:
- env PATH=$HOME/.cargo/bin:$PATH bash get-deps
- mkdir -p /run/sshd
registry_cache:
folder: $CARGO_HOME/registry
fingerprint_script: cat Cargo.lock
target_cache:
folder: target
fingerprint_script:
- rustc --version
- cat Cargo.lock
before_cache_script: rm -rf $CARGO_HOME/registry/index
build_script:
- env PATH=$HOME/.cargo/bin:$PATH cargo build --all --release
test_script:
- env PATH=$HOME/.cargo/bin:$PATH cargo test --all --release
task:
name: ubuntu-22.04-arm
only_if: "$CIRRUS_REPO_OWNER == 'wezterm' && changesInclude('**.toml', '**.rs', '.gitmodules', '.cirrus.yml', 'get-deps', 'Cargo.lock') && $BRANCH == 'main'"
arm_container:
image: ubuntu:22.04
cpu: 4
memory: 12G
environment:
GITHUB_TOKEN: ENCRYPTED[!0dfc9f7314ab2500c7f72cc957d0b76940404eb8503a8cd5c4bf8a90515dfb5952ce4794bd7434002fdcc57ebf1667e0!]
FURY_TOKEN: ENCRYPTED[!ec706982eb6c8c393fb8757ca8dcf6a04a300bb38a94c51c366455671d99ff9863be78d0b0c8ea65b49e50d16c9c956c!]
stateful: false
install_rust_script:
- echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
- apt update
- apt-get install -y git curl
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
install_gh_cli_script:
- curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg > /usr/share/keyrings/githubcli-archive-keyring.gpg
- chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list
- apt update
- apt install gh -y
- gh --version
getdeps_script:
- env PATH=$HOME/.cargo/bin:$PATH bash get-deps
build_script:
- env PATH=$HOME/.cargo/bin:$PATH cargo build --release -p wezterm-gui -p wezterm -p wezterm-mux-server -p strip-ansi-escapes
- export BUILD_REASON="Schedule"
- export RELEASE="nightly"
- "test -n \"$CIRRUS_TAG\" && BUILD_REASON=\"tag\""
- "test -n \"$CIRRUS_TAG\" && RELEASE=$(ci/tag-name.sh)"
- "./ci/deploy.sh"
- "ls -l *.deb"
- "bash ci/retry.sh gh release upload --clobber ${RELEASE} *.deb"
- "for f in wezterm*.deb ; do curl -i -F package=@$f https://$FURY_TOKEN@push.fury.io/wez/ ; done"
task:
name: ubuntu-24.04-arm
only_if: "$CIRRUS_REPO_OWNER == 'wezterm' && changesInclude('**.toml', '**.rs', '.gitmodules', '.cirrus.yml', 'get-deps', 'Cargo.lock') && $BRANCH == 'main'"
arm_container:
image: ubuntu:24.04
cpu: 4
memory: 12G
environment:
GITHUB_TOKEN: ENCRYPTED[!0dfc9f7314ab2500c7f72cc957d0b76940404eb8503a8cd5c4bf8a90515dfb5952ce4794bd7434002fdcc57ebf1667e0!]
FURY_TOKEN: ENCRYPTED[!ec706982eb6c8c393fb8757ca8dcf6a04a300bb38a94c51c366455671d99ff9863be78d0b0c8ea65b49e50d16c9c956c!]
stateful: false
install_rust_script:
- echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
- apt update
- apt-get install -y git curl
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
install_gh_cli_script:
- curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg > /usr/share/keyrings/githubcli-archive-keyring.gpg
- chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list
- apt update
- apt install gh -y
- gh --version
getdeps_script:
- env PATH=$HOME/.cargo/bin:$PATH bash get-deps
build_script:
- env PATH=$HOME/.cargo/bin:$PATH cargo build --release -p wezterm-gui -p wezterm -p wezterm-mux-server -p strip-ansi-escapes
- export BUILD_REASON="Schedule"
- export RELEASE="nightly"
- "test -n \"$CIRRUS_TAG\" && BUILD_REASON=\"tag\""
- "test -n \"$CIRRUS_TAG\" && RELEASE=$(ci/tag-name.sh)"
- "./ci/deploy.sh"
- "ls -l *.deb"
- "bash ci/retry.sh gh release upload --clobber ${RELEASE} *.deb"
- "for f in wezterm*.deb ; do curl -i -F package=@$f https://$FURY_TOKEN@push.fury.io/wez/ ; done"
task:
name: debian-12-arm
only_if: "$CIRRUS_REPO_OWNER == 'wezterm' && changesInclude('**.toml', '**.rs', '.gitmodules', '.cirrus.yml', 'get-deps', 'Cargo.lock') && $BRANCH == 'main'"
arm_container:
image: debian:12
cpu: 4
memory: 12G
environment:
GITHUB_TOKEN: ENCRYPTED[!0dfc9f7314ab2500c7f72cc957d0b76940404eb8503a8cd5c4bf8a90515dfb5952ce4794bd7434002fdcc57ebf1667e0!]
stateful: false
install_rust_script:
- echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
- apt update
- apt-get install -y git curl
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
install_gh_cli_script:
- curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg > /usr/share/keyrings/githubcli-archive-keyring.gpg
- chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list
- apt update
- apt install gh -y
- gh --version
getdeps_script:
- env PATH=$HOME/.cargo/bin:$PATH bash get-deps
build_script:
- env PATH=$HOME/.cargo/bin:$PATH cargo build --release -p wezterm-gui -p wezterm -p wezterm-mux-server -p strip-ansi-escapes
- export BUILD_REASON="Schedule"
- export RELEASE="nightly"
- "test -n \"$CIRRUS_TAG\" && BUILD_REASON=\"tag\""
- "test -n \"$CIRRUS_TAG\" && RELEASE=$(ci/tag-name.sh)"
- "./ci/deploy.sh"
- "ls -l *.deb"
- "bash ci/retry.sh gh release upload --clobber ${RELEASE} *.deb"