mirror of
https://github.com/wez/wezterm.git
synced 2024-11-27 12:23:46 +03:00
c885e5a65b
I'm not confident that the PR filter in the last commit will work, so just split into two workflows for now.
123 lines
3.3 KiB
YAML
123 lines
3.3 KiB
YAML
name: centos8_continuous
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "10 3 * * *"
|
|
push:
|
|
branches:
|
|
- main
|
|
paths-ignore:
|
|
- ".cirrus.yml"
|
|
- "docs/**"
|
|
- "ci/build-docs.sh"
|
|
- "ci/generate-docs.py"
|
|
- "ci/subst-release-info.py"
|
|
- ".github/workflows/pages.yml"
|
|
- ".github/workflows/verify-pages.yml"
|
|
- ".github/ISSUE_TEMPLATE/*"
|
|
- "**/*.md"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: "ubuntu-latest"
|
|
container: "centos:8"
|
|
steps:
|
|
- name: "Install config manager"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
dnf install -y 'dnf-command(config-manager)'
|
|
- name: "Enable PowerTools"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
dnf config-manager --set-enabled powertools
|
|
- name: "Install git"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
yum install -y git
|
|
- name: "Install curl"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
yum install -y curl
|
|
- name: "Ensure /run/sshd exists"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
mkdir -p /run/sshd
|
|
- name: "Install openssh-server"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
yum install -y openssh-server
|
|
- name: "checkout repo"
|
|
uses: actions/checkout@v2
|
|
with:
|
|
submodules: "recursive"
|
|
- name: "Install Rust"
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: "minimal"
|
|
toolchain: "stable"
|
|
override: true
|
|
components: "rustfmt"
|
|
env:
|
|
ACTIONS_ALLOW_UNSECURE_COMMANDS: "true"
|
|
- name: "Cache cargo"
|
|
uses: actions/cache@v2.1.7
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
~/.cargo/git
|
|
target
|
|
key: "centos8-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
|
|
- name: "Install System Deps"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
env PATH=$PATH ./get-deps
|
|
- name: "Build (Release mode)"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
cargo build --all --release
|
|
- name: "Test (Release mode)"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
cargo test --all --release
|
|
- name: "Package"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
bash ci/deploy.sh
|
|
- name: "Move RPM"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
mv ~/rpmbuild/RPMS/*/*.rpm wezterm-nightly-centos8.rpm
|
|
- name: "Upload artifact"
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: "centos8"
|
|
path: "wezterm-*.rpm"
|
|
retention-days: 5
|
|
|
|
upload:
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
steps:
|
|
- name: "checkout repo"
|
|
uses: actions/checkout@v2
|
|
- name: "Download artifact"
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: "centos8"
|
|
- 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"
|