mirror of
https://github.com/wez/wezterm.git
synced 2024-12-25 22:33:52 +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.
113 lines
2.9 KiB
YAML
113 lines
2.9 KiB
YAML
name: ubuntu18_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-18.04"
|
|
|
|
steps:
|
|
- name: "Update APT"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
sudo -n apt update
|
|
- name: "Install git"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
sudo -n apt-get install -y git
|
|
- 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: "ubuntu18-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
|
|
- name: "Install System Deps"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
sudo -n 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: "Source Tarball"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
bash ci/source-archive.sh
|
|
- name: "Build AppImage"
|
|
shell: bash
|
|
run: |
|
|
export BUILD_REASON=Schedule
|
|
bash ci/appimage.sh
|
|
- name: "Upload artifact"
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: "ubuntu18"
|
|
path: |
|
|
wezterm-*.deb
|
|
wezterm-*.xz
|
|
*src.tar.gz
|
|
*.AppImage
|
|
*.zsync
|
|
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: "ubuntu18"
|
|
- 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"
|