mirror of
https://github.com/wez/wezterm.git
synced 2024-12-02 11:03:49 +03:00
a5c2b1f3ad
We were doing this from 18, but with 18 on its way out on GH actions, bump it up.
127 lines
3.6 KiB
YAML
127 lines
3.6 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/workflows/verify-pages.yml"
|
|
- ".github/workflows/no-response.yml"
|
|
- ".github/ISSUE_TEMPLATE/*"
|
|
- "**/*.md"
|
|
- "**/*.markdown"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: "ubuntu-latest"
|
|
container: "ubuntu:20.04"
|
|
env:
|
|
BUILD_REASON: "Schedule"
|
|
|
|
steps:
|
|
- name: "set APT to non-interactive"
|
|
shell: bash
|
|
run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections"
|
|
- name: "Update APT"
|
|
shell: bash
|
|
run: "apt update"
|
|
- name: "Install git"
|
|
shell: bash
|
|
run: "apt-get install -y git"
|
|
- name: "Install curl"
|
|
shell: bash
|
|
run: "apt-get install -y curl"
|
|
- name: "Update APT"
|
|
shell: bash
|
|
run: "apt update"
|
|
- name: "Ensure /run/sshd exists"
|
|
shell: bash
|
|
run: "mkdir -p /run/sshd"
|
|
- name: "Install openssh-server"
|
|
shell: bash
|
|
run: "apt-get 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: 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@v3
|
|
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: "env PATH=$PATH ./get-deps"
|
|
- name: "Build (Release mode)"
|
|
shell: bash
|
|
run: "cargo build --all --release"
|
|
- name: "Test (Release mode)"
|
|
shell: bash
|
|
run: "cargo test --all --release"
|
|
- name: "Package"
|
|
shell: bash
|
|
run: "bash ci/deploy.sh"
|
|
- name: "Source Tarball"
|
|
shell: bash
|
|
run: "bash ci/source-archive.sh"
|
|
- name: "Build AppImage"
|
|
shell: bash
|
|
run: "bash ci/appimage.sh"
|
|
- name: "Upload artifact"
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: "ubuntu20.04"
|
|
path: |
|
|
wezterm-*.deb
|
|
wezterm-*.xz
|
|
*src.tar.gz
|
|
*.AppImage
|
|
*.zsync
|
|
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: "ubuntu20.04"
|
|
- name: "Checksum"
|
|
shell: bash
|
|
run: "for f in wezterm-*.deb wezterm-*.xz *src.tar.gz *.AppImage *.zsync ; 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-*.deb wezterm-*.xz *src.tar.gz *.AppImage *.zsync *.sha256"
|