mirror of
https://github.com/wez/wezterm.git
synced 2024-12-27 23:46:31 +03:00
cc567ab464
The original thinking was that it would be quicker to reuse the existing release mode deps, but I'm not sure if that is still true, so let's test it to see. At the time of writing, the test phase takes 8-12 minutes depending on the OS, with most of that being compilation.
115 lines
3.3 KiB
YAML
115 lines
3.3 KiB
YAML
name: centos9_continuous
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "10 3 * * *"
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- "**/*.rs"
|
|
- "**/Cargo.lock"
|
|
- "**/Cargo.toml"
|
|
- ".github/workflows/gen_centos9_continuous.yml"
|
|
- "assets/fonts/**/*"
|
|
- "assets/icon/*"
|
|
- "assets/open-wezterm-here"
|
|
- "assets/shell-completion/**/*"
|
|
- "assets/shell-integration/**/*"
|
|
- "assets/wezterm-nautilus.py"
|
|
- "assets/wezterm.appdata.xml"
|
|
- "assets/wezterm.desktop"
|
|
- "ci/deploy.sh"
|
|
- "ci/tag-name.sh"
|
|
- "get-deps"
|
|
- "termwiz/data/wezterm.terminfo"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: "ubuntu-latest"
|
|
container: "quay.io/centos/centos:stream9"
|
|
env:
|
|
BUILD_REASON: "Schedule"
|
|
|
|
steps:
|
|
- name: "Install config manager"
|
|
shell: bash
|
|
run: "dnf install -y 'dnf-command(config-manager)'"
|
|
- name: "Enable CRB repo for X bits"
|
|
shell: bash
|
|
run: "dnf config-manager --set-enabled crb"
|
|
- name: "Install git"
|
|
shell: bash
|
|
run: "yum install -y git"
|
|
- name: "Install curl-minimal"
|
|
shell: bash
|
|
run: "yum install -y curl-minimal"
|
|
- name: "Ensure /run/sshd exists"
|
|
shell: bash
|
|
run: "mkdir -p /run/sshd"
|
|
- name: "Install openssh-server"
|
|
shell: bash
|
|
run: "yum install -y openssh-server"
|
|
- name: "Workaround git permissions issue"
|
|
shell: bash
|
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
|
- name: "checkout repo"
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: "recursive"
|
|
- name: "Install Rust"
|
|
uses: dtolnay/rust-toolchain@stable
|
|
- name: "Cache cargo"
|
|
uses: Swatinem/rust-cache@v2
|
|
with:
|
|
key: "centos9-None-2-${{ runner.os }}-cargo"
|
|
- name: "Install System Deps"
|
|
shell: bash
|
|
run: "env CI=yes PATH=$PATH ./get-deps"
|
|
- name: "Build (Release mode)"
|
|
shell: bash
|
|
run: "cargo build --all --release"
|
|
- name: "Install cargo-nextest from Cargo"
|
|
uses: baptiste0928/cargo-install@v2
|
|
with:
|
|
crate: "cargo-nextest"
|
|
cache-key: "centos9"
|
|
- name: "Test"
|
|
shell: bash
|
|
run: "cargo nextest run --all --no-fail-fast"
|
|
- name: "Package"
|
|
shell: bash
|
|
run: "bash ci/deploy.sh"
|
|
- name: "Move RPM"
|
|
shell: bash
|
|
run: "mv ~/rpmbuild/RPMS/*/*.rpm wezterm-nightly-centos9.rpm"
|
|
- name: "Upload artifact"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: "centos9"
|
|
path: "wezterm-*.rpm"
|
|
retention-days: 5
|
|
|
|
upload:
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
|
|
steps:
|
|
- name: "Workaround git permissions issue"
|
|
shell: bash
|
|
run: "git config --global --add safe.directory /__w/wezterm/wezterm"
|
|
- name: "checkout repo"
|
|
uses: actions/checkout@v3
|
|
- name: "Download artifact"
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
name: "centos9"
|
|
- name: "Checksum"
|
|
shell: bash
|
|
run: "for f in wezterm-*.rpm ; do sha256sum $f > $f.sha256 ; done"
|
|
- name: "Upload to Nightly Release"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
shell: bash
|
|
run: "bash ci/retry.sh gh release upload --clobber nightly wezterm-*.rpm *.sha256"
|