mirror of
https://github.com/wez/wezterm.git
synced 2024-12-02 11:03:49 +03:00
4143d254aa
Enable it for tags/releases too, and remove some additional git fetches and installation of the GH CLI inside containers that we no longer need.
124 lines
3.3 KiB
YAML
124 lines
3.3 KiB
YAML
name: ubuntu20.04_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/ISSUE_TEMPLATE/*"
|
|
- "**/*.md"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: "ubuntu-latest"
|
|
container: "ubuntu:20.04"
|
|
steps:
|
|
- name: "set APT to non-interactive"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
|
- name: "Update APT"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
apt update
|
|
- name: "Install git"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
apt-get install -y git
|
|
- name: "Install curl"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
apt-get install -y curl
|
|
- name: "Update APT"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
apt update
|
|
- 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
|
|
apt-get 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: "ubuntu20.04-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: "Upload artifact"
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: "ubuntu20.04"
|
|
path: |
|
|
wezterm-*.deb
|
|
wezterm-*.xz
|
|
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: "ubuntu20.04"
|
|
- name: "Upload to Nightly Release"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
shell: bash
|
|
run: "bash ci/retry.sh gh release upload --clobber nightly wezterm-*.deb wezterm-*.xz"
|