mirror of
https://github.com/wez/wezterm.git
synced 2024-12-19 19:31:49 +03:00
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.
118 lines
3.5 KiB
YAML
118 lines
3.5 KiB
YAML
name: opensuse_tumbleweed_continuous
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "10 3 * * *"
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- "**/*.rs"
|
|
- "**/Cargo.lock"
|
|
- "**/Cargo.toml"
|
|
- ".github/workflows/gen_opensuse_tumbleweed_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: "registry.opensuse.org/opensuse/tumbleweed"
|
|
env:
|
|
BUILD_REASON: "Schedule"
|
|
|
|
steps:
|
|
- name: "Seed GITHUB_PATH to work around possible @action/core bug"
|
|
shell: bash
|
|
run: 'echo "$PATH:/bin:/usr/bin" >> $GITHUB_PATH'
|
|
- name: "Install util-linux"
|
|
shell: bash
|
|
run: "zypper install -y util-linux"
|
|
- name: "Install which"
|
|
shell: bash
|
|
run: "zypper install -y which"
|
|
- name: "Install git"
|
|
shell: bash
|
|
run: "zypper install -y git"
|
|
- name: "Install curl"
|
|
shell: bash
|
|
run: "zypper install -y curl"
|
|
- name: "Ensure /run/sshd exists"
|
|
shell: bash
|
|
run: "mkdir -p /run/sshd"
|
|
- name: "Install openssh-server"
|
|
shell: bash
|
|
run: "zypper 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: "opensuse_tumbleweed-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: "opensuse_tumbleweed"
|
|
- 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 /usr/src/packages/RPMS/*/*.rpm wezterm-nightly-opensuse_tumbleweed.rpm"
|
|
- name: "Upload artifact"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: "opensuse_tumbleweed"
|
|
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: "opensuse_tumbleweed"
|
|
- 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"
|