1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-27 23:46:31 +03:00
wezterm/.github/workflows/gen_centos9_continuous.yml
Wez Furlong cc567ab464
ci: don't use release mode for tests
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.
2023-07-12 08:35:14 -07:00

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"