1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-23 05:12:40 +03:00

ci: try installing GH inside containers

`gh` is pre-installed in native runners only; when we build in a
container, we need to install it for ourselves.

This commit drops support for building on centos7 as it is a PITA
to get this working there.
This commit is contained in:
Wez Furlong 2021-12-06 09:45:14 -07:00
parent 1e8ebdadfd
commit be1b54ba33
28 changed files with 226 additions and 392 deletions

View File

@ -1,105 +0,0 @@
name: centos7
on:
pull_request:
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: "centos:7"
steps:
- name: "Install SCL"
shell: bash
run: "yum install -y centos-release-scl-rh"
- name: "Update compiler"
shell: bash
run: "yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++"
- name: "Cache Git installation"
uses: actions/cache@v2.1.7
with:
path: "/usr/local/git"
key: "centos7-git-2.26.2"
- name: "Install Git from source"
shell: bash
run: |
yum install -y wget curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker make
if test ! -x /usr/local/git/bin/git ; then
cd /tmp
wget https://github.com/git/git/archive/v2.26.2.tar.gz
tar xzf v2.26.2.tar.gz
cd git-2.26.2
make prefix=/usr/local/git install
fi
ln -s /usr/local/git/bin/git /usr/local/bin/git
- name: "Install curl"
shell: bash
run: "yum install -y curl"
- name: "Ensure /run/sshd exists"
shell: bash
run: "mkdir -p /run/sshd"
- name: "Install openssh-server"
shell: bash
run: "yum install -y openssh-server"
- name: "checkout repo"
uses: actions/checkout@v2
with:
submodules: "recursive"
- name: "Fetch tags"
shell: bash
run: "git fetch --depth=1 origin +refs/tags/*:refs/tags/*"
- name: "Fetch tag/branch history"
shell: bash
run: "git fetch --prune --unshallow"
- 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: "centos7-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
- name: "Install System Deps"
shell: bash
run: "env PATH=$PATH ./get-deps"
- name: "Check formatting"
shell: bash
run: "cargo fmt --all -- --check"
- name: "Build (Release mode)"
shell: bash
run: "source /opt/rh/devtoolset-9/enable && cargo build --all --release"
- name: "Test (Release mode)"
shell: bash
run: "source /opt/rh/devtoolset-9/enable && cargo test --all --release"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"
- name: "Move Package for artifact upload"
shell: bash
run: |
mkdir pkg_
mv ~/rpmbuild/RPMS/*/*.rpm pkg_
- name: "Upload artifact"
uses: actions/upload-artifact@master
with:
name: "centos7"
path: "pkg_"

View File

@ -1,129 +0,0 @@
name: centos7_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: "centos:7"
steps:
- name: "Install SCL"
shell: bash
run: |
export BUILD_REASON=Schedule
yum install -y centos-release-scl-rh
- name: "Update compiler"
shell: bash
run: |
export BUILD_REASON=Schedule
yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
- name: "Cache Git installation"
uses: actions/cache@v2.1.7
with:
path: "/usr/local/git"
key: "centos7-git-2.26.2"
- name: "Install Git from source"
shell: bash
run: |
export BUILD_REASON=Schedule
yum install -y wget curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker make
if test ! -x /usr/local/git/bin/git ; then
cd /tmp
wget https://github.com/git/git/archive/v2.26.2.tar.gz
tar xzf v2.26.2.tar.gz
cd git-2.26.2
make prefix=/usr/local/git install
fi
ln -s /usr/local/git/bin/git /usr/local/bin/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: "Fetch tags"
shell: bash
run: |
export BUILD_REASON=Schedule
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: "Fetch tag/branch history"
shell: bash
run: |
export BUILD_REASON=Schedule
git fetch --prune --unshallow
- 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: "centos7-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
source /opt/rh/devtoolset-9/enable && cargo build --all --release
- name: "Test (Release mode)"
shell: bash
run: |
export BUILD_REASON=Schedule
source /opt/rh/devtoolset-9/enable && 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-centos7.rpm
- name: "Upload to Nightly Release"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
run: |
export BUILD_REASON=Schedule
bash ci/retry.sh gh release upload --clobber nightly wezterm-*.rpm

View File

@ -1,96 +0,0 @@
name: centos7_tag
on:
push:
tags:
- "20*"
jobs:
build:
runs-on: "ubuntu-latest"
container: "centos:7"
steps:
- name: "Install SCL"
shell: bash
run: "yum install -y centos-release-scl-rh"
- name: "Update compiler"
shell: bash
run: "yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++"
- name: "Cache Git installation"
uses: actions/cache@v2.1.7
with:
path: "/usr/local/git"
key: "centos7-git-2.26.2"
- name: "Install Git from source"
shell: bash
run: |
yum install -y wget curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker make
if test ! -x /usr/local/git/bin/git ; then
cd /tmp
wget https://github.com/git/git/archive/v2.26.2.tar.gz
tar xzf v2.26.2.tar.gz
cd git-2.26.2
make prefix=/usr/local/git install
fi
ln -s /usr/local/git/bin/git /usr/local/bin/git
- name: "Install curl"
shell: bash
run: "yum install -y curl"
- name: "Ensure /run/sshd exists"
shell: bash
run: "mkdir -p /run/sshd"
- name: "Install openssh-server"
shell: bash
run: "yum install -y openssh-server"
- name: "checkout repo"
uses: actions/checkout@v2
with:
submodules: "recursive"
- name: "Fetch tags"
shell: bash
run: "git fetch --depth=1 origin +refs/tags/*:refs/tags/*"
- name: "Fetch tag/branch history"
shell: bash
run: "git fetch --prune --unshallow"
- 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: "centos7-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: "source /opt/rh/devtoolset-9/enable && cargo build --all --release"
- name: "Test (Release mode)"
shell: bash
run: "source /opt/rh/devtoolset-9/enable && cargo test --all --release"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"
- name: "Move RPM"
shell: bash
run: "mv ~/rpmbuild/RPMS/*/*.rpm ."
- name: "Create pre-release"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
run: "bash ci/retry.sh bash ci/create-release.sh ${{ github.event.release.tag_name }}"
- name: "Upload to Tagged Release"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
run: "bash ci/retry.sh gh release upload --clobber ${ github.event.release.tag_name } wezterm-*.rpm"

View File

@ -25,6 +25,12 @@ jobs:
- name: "Enable PowerTools" - name: "Enable PowerTools"
shell: bash shell: bash
run: "dnf config-manager --set-enabled powertools" run: "dnf config-manager --set-enabled powertools"
- name: "Enable GH CLI repo"
shell: bash
run: "dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo"
- name: "Install GH CLI"
shell: bash
run: "dnf install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "yum install -y git" run: "yum install -y git"

View File

@ -31,6 +31,16 @@ jobs:
run: | run: |
export BUILD_REASON=Schedule export BUILD_REASON=Schedule
dnf config-manager --set-enabled powertools dnf config-manager --set-enabled powertools
- name: "Enable GH CLI repo"
shell: bash
run: |
export BUILD_REASON=Schedule
dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
- name: "Install GH CLI"
shell: bash
run: |
export BUILD_REASON=Schedule
dnf install gh
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: | run: |

View File

@ -16,6 +16,12 @@ jobs:
- name: "Enable PowerTools" - name: "Enable PowerTools"
shell: bash shell: bash
run: "dnf config-manager --set-enabled powertools" run: "dnf config-manager --set-enabled powertools"
- name: "Enable GH CLI repo"
shell: bash
run: "dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo"
- name: "Install GH CLI"
shell: bash
run: "dnf install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "yum install -y git" run: "yum install -y git"

View File

@ -22,9 +22,18 @@ jobs:
- name: "set APT to non-interactive" - name: "set APT to non-interactive"
shell: bash shell: bash
run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections" run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections"
- name: "Install GitHub keyring"
shell: bash
run: "curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg"
- name: "Add GitHub package list"
shell: bash
run: "echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | {sudo} tee /etc/apt/sources.list.d/github-cli.list > /dev/null"
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: "apt update" run: "apt update"
- name: "Install GH CLI"
shell: bash
run: " apt install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "apt-get install -y git" run: "apt-get install -y git"

View File

@ -26,11 +26,26 @@ jobs:
run: | run: |
export BUILD_REASON=Schedule export BUILD_REASON=Schedule
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
- name: "Install GitHub keyring"
shell: bash
run: |
export BUILD_REASON=Schedule
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
- name: "Add GitHub package list"
shell: bash
run: |
export BUILD_REASON=Schedule
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | {sudo} tee /etc/apt/sources.list.d/github-cli.list > /dev/null
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: | run: |
export BUILD_REASON=Schedule export BUILD_REASON=Schedule
apt update apt update
- name: "Install GH CLI"
shell: bash
run: |
export BUILD_REASON=Schedule
apt install gh
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: | run: |

View File

@ -13,9 +13,18 @@ jobs:
- name: "set APT to non-interactive" - name: "set APT to non-interactive"
shell: bash shell: bash
run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections" run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections"
- name: "Install GitHub keyring"
shell: bash
run: "curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg"
- name: "Add GitHub package list"
shell: bash
run: "echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | {sudo} tee /etc/apt/sources.list.d/github-cli.list > /dev/null"
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: "apt update" run: "apt update"
- name: "Install GH CLI"
shell: bash
run: " apt install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "apt-get install -y git" run: "apt-get install -y git"

View File

@ -22,9 +22,18 @@ jobs:
- name: "set APT to non-interactive" - name: "set APT to non-interactive"
shell: bash shell: bash
run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections" run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections"
- name: "Install GitHub keyring"
shell: bash
run: "curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg"
- name: "Add GitHub package list"
shell: bash
run: "echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | {sudo} tee /etc/apt/sources.list.d/github-cli.list > /dev/null"
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: "apt update" run: "apt update"
- name: "Install GH CLI"
shell: bash
run: " apt install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "apt-get install -y git" run: "apt-get install -y git"

View File

@ -26,11 +26,26 @@ jobs:
run: | run: |
export BUILD_REASON=Schedule export BUILD_REASON=Schedule
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
- name: "Install GitHub keyring"
shell: bash
run: |
export BUILD_REASON=Schedule
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
- name: "Add GitHub package list"
shell: bash
run: |
export BUILD_REASON=Schedule
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | {sudo} tee /etc/apt/sources.list.d/github-cli.list > /dev/null
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: | run: |
export BUILD_REASON=Schedule export BUILD_REASON=Schedule
apt update apt update
- name: "Install GH CLI"
shell: bash
run: |
export BUILD_REASON=Schedule
apt install gh
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: | run: |

View File

@ -13,9 +13,18 @@ jobs:
- name: "set APT to non-interactive" - name: "set APT to non-interactive"
shell: bash shell: bash
run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections" run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections"
- name: "Install GitHub keyring"
shell: bash
run: "curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg"
- name: "Add GitHub package list"
shell: bash
run: "echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | {sudo} tee /etc/apt/sources.list.d/github-cli.list > /dev/null"
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: "apt update" run: "apt update"
- name: "Install GH CLI"
shell: bash
run: " apt install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "apt-get install -y git" run: "apt-get install -y git"

View File

@ -22,9 +22,18 @@ jobs:
- name: "set APT to non-interactive" - name: "set APT to non-interactive"
shell: bash shell: bash
run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections" run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections"
- name: "Install GitHub keyring"
shell: bash
run: "curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg"
- name: "Add GitHub package list"
shell: bash
run: "echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | {sudo} tee /etc/apt/sources.list.d/github-cli.list > /dev/null"
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: "apt update" run: "apt update"
- name: "Install GH CLI"
shell: bash
run: " apt install gh"
- name: "Cache Git installation" - name: "Cache Git installation"
uses: actions/cache@v2.1.7 uses: actions/cache@v2.1.7
with: with:

View File

@ -26,11 +26,26 @@ jobs:
run: | run: |
export BUILD_REASON=Schedule export BUILD_REASON=Schedule
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
- name: "Install GitHub keyring"
shell: bash
run: |
export BUILD_REASON=Schedule
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
- name: "Add GitHub package list"
shell: bash
run: |
export BUILD_REASON=Schedule
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | {sudo} tee /etc/apt/sources.list.d/github-cli.list > /dev/null
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: | run: |
export BUILD_REASON=Schedule export BUILD_REASON=Schedule
apt update apt update
- name: "Install GH CLI"
shell: bash
run: |
export BUILD_REASON=Schedule
apt install gh
- name: "Cache Git installation" - name: "Cache Git installation"
uses: actions/cache@v2.1.7 uses: actions/cache@v2.1.7
with: with:

View File

@ -13,9 +13,18 @@ jobs:
- name: "set APT to non-interactive" - name: "set APT to non-interactive"
shell: bash shell: bash
run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections" run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections"
- name: "Install GitHub keyring"
shell: bash
run: "curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg"
- name: "Add GitHub package list"
shell: bash
run: "echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\" | {sudo} tee /etc/apt/sources.list.d/github-cli.list > /dev/null"
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: "apt update" run: "apt update"
- name: "Install GH CLI"
shell: bash
run: " apt install gh"
- name: "Cache Git installation" - name: "Cache Git installation"
uses: actions/cache@v2.1.7 uses: actions/cache@v2.1.7
with: with:

View File

@ -19,6 +19,12 @@ jobs:
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
container: "fedora:33" container: "fedora:33"
steps: steps:
- name: "Enable GH CLI repo"
shell: bash
run: "dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo"
- name: "Install GH CLI"
shell: bash
run: "dnf install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "yum install -y git" run: "yum install -y git"

View File

@ -21,6 +21,16 @@ jobs:
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
container: "fedora:33" container: "fedora:33"
steps: steps:
- name: "Enable GH CLI repo"
shell: bash
run: |
export BUILD_REASON=Schedule
dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
- name: "Install GH CLI"
shell: bash
run: |
export BUILD_REASON=Schedule
dnf install gh
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: | run: |

View File

@ -10,6 +10,12 @@ jobs:
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
container: "fedora:33" container: "fedora:33"
steps: steps:
- name: "Enable GH CLI repo"
shell: bash
run: "dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo"
- name: "Install GH CLI"
shell: bash
run: "dnf install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "yum install -y git" run: "yum install -y git"

View File

@ -19,6 +19,12 @@ jobs:
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
container: "fedora:34" container: "fedora:34"
steps: steps:
- name: "Enable GH CLI repo"
shell: bash
run: "dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo"
- name: "Install GH CLI"
shell: bash
run: "dnf install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "yum install -y git" run: "yum install -y git"

View File

@ -21,6 +21,16 @@ jobs:
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
container: "fedora:34" container: "fedora:34"
steps: steps:
- name: "Enable GH CLI repo"
shell: bash
run: |
export BUILD_REASON=Schedule
dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
- name: "Install GH CLI"
shell: bash
run: |
export BUILD_REASON=Schedule
dnf install gh
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: | run: |

View File

@ -10,6 +10,12 @@ jobs:
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
container: "fedora:34" container: "fedora:34"
steps: steps:
- name: "Enable GH CLI repo"
shell: bash
run: "dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo"
- name: "Install GH CLI"
shell: bash
run: "dnf install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "yum install -y git" run: "yum install -y git"

View File

@ -19,6 +19,12 @@ jobs:
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
container: "fedora:35" container: "fedora:35"
steps: steps:
- name: "Enable GH CLI repo"
shell: bash
run: "dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo"
- name: "Install GH CLI"
shell: bash
run: "dnf install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "yum install -y git" run: "yum install -y git"

View File

@ -21,6 +21,16 @@ jobs:
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
container: "fedora:35" container: "fedora:35"
steps: steps:
- name: "Enable GH CLI repo"
shell: bash
run: |
export BUILD_REASON=Schedule
dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
- name: "Install GH CLI"
shell: bash
run: |
export BUILD_REASON=Schedule
dnf install gh
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: | run: |

View File

@ -10,6 +10,12 @@ jobs:
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
container: "fedora:35" container: "fedora:35"
steps: steps:
- name: "Enable GH CLI repo"
shell: bash
run: "dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo"
- name: "Install GH CLI"
shell: bash
run: "dnf install gh"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "yum install -y git" run: "yum install -y git"

View File

@ -16,27 +16,15 @@ on:
jobs: jobs:
build: build:
runs-on: "ubuntu-latest" runs-on: "ubuntu-20.04"
container: "ubuntu:20.04"
steps: steps:
- name: "set APT to non-interactive"
shell: bash
run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections"
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: "apt update" run: "sudo -n apt update"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "apt-get install -y git" run: "sudo -n apt-get install -y git"
- name: "Install curl"
shell: bash
run: "apt-get install -y curl"
- 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: "checkout repo" - name: "checkout repo"
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
@ -66,7 +54,7 @@ jobs:
key: "ubuntu20.04-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo" key: "ubuntu20.04-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
- name: "Install System Deps" - name: "Install System Deps"
shell: bash shell: bash
run: "env PATH=$PATH ./get-deps" run: "sudo -n env PATH=$PATH ./get-deps"
- name: "Check formatting" - name: "Check formatting"
shell: bash shell: bash
run: "cargo fmt --all -- --check" run: "cargo fmt --all -- --check"

View File

@ -18,39 +18,19 @@ on:
jobs: jobs:
build: build:
runs-on: "ubuntu-latest" runs-on: "ubuntu-20.04"
container: "ubuntu:20.04"
steps: 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" - name: "Update APT"
shell: bash shell: bash
run: | run: |
export BUILD_REASON=Schedule export BUILD_REASON=Schedule
apt update sudo -n apt update
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: | run: |
export BUILD_REASON=Schedule export BUILD_REASON=Schedule
apt-get install -y git sudo -n apt-get install -y git
- name: "Install curl"
shell: bash
run: |
export BUILD_REASON=Schedule
apt-get 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
apt-get install -y openssh-server
- name: "checkout repo" - name: "checkout repo"
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
@ -86,7 +66,7 @@ jobs:
shell: bash shell: bash
run: | run: |
export BUILD_REASON=Schedule export BUILD_REASON=Schedule
env PATH=$PATH ./get-deps sudo -n env PATH=$PATH ./get-deps
- name: "Build (Release mode)" - name: "Build (Release mode)"
shell: bash shell: bash
run: | run: |

View File

@ -7,27 +7,15 @@ on:
jobs: jobs:
build: build:
runs-on: "ubuntu-latest" runs-on: "ubuntu-20.04"
container: "ubuntu:20.04"
steps: steps:
- name: "set APT to non-interactive"
shell: bash
run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections"
- name: "Update APT" - name: "Update APT"
shell: bash shell: bash
run: "apt update" run: "sudo -n apt update"
- name: "Install git" - name: "Install git"
shell: bash shell: bash
run: "apt-get install -y git" run: "sudo -n apt-get install -y git"
- name: "Install curl"
shell: bash
run: "apt-get install -y curl"
- 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: "checkout repo" - name: "checkout repo"
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
@ -57,7 +45,7 @@ jobs:
key: "ubuntu20.04-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo" key: "ubuntu20.04-None-2-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}-cargo"
- name: "Install System Deps" - name: "Install System Deps"
shell: bash shell: bash
run: "env PATH=$PATH ./get-deps" run: "sudo -n env PATH=$PATH ./get-deps"
- name: "Build (Release mode)" - name: "Build (Release mode)"
shell: bash shell: bash
run: "cargo build --all --release" run: "cargo build --all --release"

View File

@ -485,17 +485,28 @@ cargo build --all --release""",
def prep_environment(self, cache=True): def prep_environment(self, cache=True):
steps = [] steps = []
if self.uses_apt(): if self.uses_apt():
sudo = "sudo -n " if self.needs_sudo() else ""
if self.container: if self.container:
steps += [ steps += [
RunStep( RunStep(
"set APT to non-interactive", "set APT to non-interactive",
"echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections", "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections",
), ),
RunStep(
"Install GitHub keyring",
f"curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | {sudo} dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg",
),
RunStep(
"Add GitHub package list",
'echo \\"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main\\" | {sudo} tee /etc/apt/sources.list.d/github-cli.list > /dev/null',
),
] ]
sudo = "sudo -n " if self.needs_sudo() else ""
steps += [ steps += [
RunStep("Update APT", f"{sudo}apt update"), RunStep("Update APT", f"{sudo}apt update"),
] ]
if self.container:
steps += [RunStep("Install GH CLI", f"{sudo} apt install gh")]
if self.container: if self.container:
if self.container == "centos:8": if self.container == "centos:8":
steps += [ steps += [
@ -508,6 +519,17 @@ cargo build --all --release""",
"dnf config-manager --set-enabled powertools", "dnf config-manager --set-enabled powertools",
), ),
] ]
if ("fedora" in self.container) or ("centos" in self.container):
steps += [
RunStep(
"Enable GH CLI repo",
"dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo",
),
RunStep(
"Install GH CLI",
"dnf install gh",
),
]
steps += self.install_newer_compiler() steps += self.install_newer_compiler()
steps += self.install_git() steps += self.install_git()
steps += self.install_curl() steps += self.install_curl()
@ -574,7 +596,7 @@ cargo build --all --release""",
TARGETS = [ TARGETS = [
Target(name="ubuntu:18", os="ubuntu-18.04", app_image=True), Target(name="ubuntu:18", os="ubuntu-18.04", app_image=True),
Target(container="ubuntu:20.04", continuous_only=True), Target(name="ubuntu:20.04", os="ubuntu-20.04", continuous_only=True),
# debian 8's wayland libraries are too old for wayland-client # debian 8's wayland libraries are too old for wayland-client
# Target(container="debian:8.11", continuous_only=True, bootstrap_git=True), # Target(container="debian:8.11", continuous_only=True, bootstrap_git=True),
Target(container="debian:9.12", continuous_only=True, bootstrap_git=True), Target(container="debian:9.12", continuous_only=True, bootstrap_git=True),
@ -585,7 +607,6 @@ TARGETS = [
Target(container="fedora:33"), Target(container="fedora:33"),
Target(container="fedora:34"), Target(container="fedora:34"),
Target(container="fedora:35"), Target(container="fedora:35"),
Target(container="centos:7", bootstrap_git=True),
Target(container="centos:8"), Target(container="centos:8"),
Target(name="windows", os="windows-latest", rust_target="x86_64-pc-windows-msvc"), Target(name="windows", os="windows-latest", rust_target="x86_64-pc-windows-msvc"),
] ]