mirror of
https://github.com/wez/wezterm.git
synced 2024-11-22 13:16:39 +03:00
148 lines
6.2 KiB
YAML
148 lines
6.2 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-0
|
|
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 == 'wez' && changesInclude('**.toml', '**.rs', '.gitmodules', '.cirrus.yml', 'get-deps', 'Cargo.lock')"
|
|
arm_container:
|
|
image: ubuntu:22.04
|
|
cpu: 4
|
|
memory: 12G
|
|
environment:
|
|
GITHUB_TOKEN: ENCRYPTED[23bd9513fa7174e74eaddce6a3099cabb22118423591553b23518e8c34bf155e07c559838b1d3422f561c73c1e31e6fc]
|
|
FURY_TOKEN: ENCRYPTED[833e7ce9bfd87970b321dd621677f792a65f485b40819cad30258d3a1e1569f9cb4878a2958efecdf40a5050354edd54]
|
|
|
|
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 == 'wez' && changesInclude('**.toml', '**.rs', '.gitmodules', '.cirrus.yml', 'get-deps', 'Cargo.lock')"
|
|
arm_container:
|
|
image: ubuntu:24.04
|
|
cpu: 4
|
|
memory: 12G
|
|
environment:
|
|
GITHUB_TOKEN: ENCRYPTED[23bd9513fa7174e74eaddce6a3099cabb22118423591553b23518e8c34bf155e07c559838b1d3422f561c73c1e31e6fc]
|
|
FURY_TOKEN: ENCRYPTED[833e7ce9bfd87970b321dd621677f792a65f485b40819cad30258d3a1e1569f9cb4878a2958efecdf40a5050354edd54]
|
|
|
|
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 == 'wez' && changesInclude('**.toml', '**.rs', '.gitmodules', '.cirrus.yml', 'get-deps', 'Cargo.lock')"
|
|
arm_container:
|
|
image: debian:12
|
|
cpu: 4
|
|
memory: 12G
|
|
environment:
|
|
GITHUB_TOKEN: ENCRYPTED[23bd9513fa7174e74eaddce6a3099cabb22118423591553b23518e8c34bf155e07c559838b1d3422f561c73c1e31e6fc]
|
|
|
|
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"
|