fine, we can just retry for known cases #26039
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🏗️ Test Install Scripts | |
on: | |
push: | |
paths-ignore: | |
- "**.md" | |
branches: | |
- "long_lived/**" | |
- main | |
- "release/**" | |
release: | |
types: [published] | |
pull_request: | |
paths-ignore: | |
- "**.md" | |
branches: | |
- "**" | |
concurrency: | |
# SHA is added to the end if on `main` to let all main workflows run | |
group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release/') || startsWith(github.ref, 'refs/heads/long_lived/')) && github.sha || '' }} | |
cancel-in-progress: true | |
jobs: | |
test_scripts: | |
name: Test Install Scripts - ${{ matrix.development.name }} | |
runs-on: ${{ matrix.os.runs-on }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python: | |
- major-dot-minor: "3.10" | |
os: | |
- runs-on: macos-latest | |
matrix: macos | |
- runs-on: ubuntu-latest | |
matrix: linux | |
- runs-on: windows-latest | |
matrix: windows | |
development: | |
- name: Non-development | |
value: false | |
- name: Development | |
value: true | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Python environment | |
uses: Chia-Network/actions/setup-python@main | |
with: | |
python-version: ${{ matrix.python.major-dot-minor }} | |
- uses: ./.github/actions/install | |
with: | |
python-version: ${{ matrix.python.major-dot-minor }} | |
development: ${{ matrix.development.value }} | |
do-system-installs: true | |
- uses: chia-network/actions/activate-venv@main | |
- name: Run chia --help | |
run: | | |
chia --help | |
- name: Run install-gui script (Linux, macOS) | |
if: matrix.os.matrix != 'windows' | |
run: | | |
sh install-gui.sh | |
- name: Run install-gui script (Windows) | |
if: matrix.os.matrix == 'windows' | |
run: | | |
./Install-gui.ps1 | |
test_scripts_in_docker: | |
name: Test Install Scripts ${{ matrix.distribution.name }} ${{ matrix.arch.name }} | |
runs-on: ${{ matrix.os.runs-on[matrix.arch.matrix] }} | |
container: ${{ matrix.distribution.url }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- name: Linux | |
matrix: linux | |
runs-on: | |
intel: ubuntu-latest | |
arm: [linux, arm64] | |
distribution: | |
- name: amazonlinux:2023 | |
type: amazon | |
url: "docker://amazonlinux:2023" | |
- name: arch:latest | |
type: arch | |
url: "docker://archlinux:latest" | |
- name: debian:bullseye | |
type: debian | |
# https://packages.debian.org/bullseye/python/python3 (3.9) | |
url: "docker://debian:bullseye" | |
- name: debian:bookworm | |
type: debian | |
# https://packages.debian.org/bookworm/python/python3 (3.11) | |
url: "docker://debian:bookworm" | |
- name: fedora:37 | |
type: fedora | |
# (37, 3.11) https://packages.fedoraproject.org/search?query=python3&releases=Fedora+37&start=0 | |
url: "docker://fedora:37" | |
- name: fedora:38 | |
type: fedora | |
# (38, 3.11) https://packages.fedoraproject.org/search?query=python3&releases=Fedora+38&start=0 | |
url: "docker://fedora:38" | |
- name: rockylinux:8 | |
type: rocky | |
url: "docker://rockylinux:8" | |
- name: rockylinux:9 | |
type: rocky | |
url: "docker://rockylinux:9" | |
- name: ubuntu:focal (20.04) | |
type: ubuntu | |
# https://packages.ubuntu.com/focal/python3 (20.04, 3.8) | |
url: "docker://ubuntu:focal" | |
- name: ubuntu:jammy (22.04) | |
type: ubuntu | |
# https://packages.ubuntu.com/jammy/python3 (22.04, 3.10) | |
url: "docker://ubuntu:jammy" | |
arch: | |
- name: ARM64 | |
matrix: arm | |
- name: Intel | |
matrix: intel | |
exclude: | |
- distribution: | |
type: arch | |
arch: | |
matrix: arm | |
steps: | |
- name: Prepare Amazon Linux | |
if: ${{ matrix.distribution.type == 'amazon' }} | |
run: | | |
yum install --assumeyes git sudo | |
- name: Prepare Arch | |
if: ${{ matrix.distribution.type == 'arch' }} | |
run: | | |
pacman --noconfirm -Syu | |
pacman --noconfirm -S base git sudo openssl-1.1 | |
# The behavior we follow in install.sh is unique with Arch in that | |
# we leave it to the user to install the appropriate version of python, | |
# so we need to install python here in order for the test to succeed. | |
pacman --noconfirm -U --needed https://archive.archlinux.org/packages/p/python/python-3.9.9-1-x86_64.pkg.tar.zst | |
- name: Prepare Debian | |
if: ${{ matrix.distribution.type == 'debian' }} | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
apt-get --yes update | |
apt-get install --yes git lsb-release sudo python3-venv | |
- name: Prepare Fedora | |
if: ${{ matrix.distribution.type == 'fedora' }} | |
run: | | |
yum install --assumeyes git | |
- name: Prepare Rocky | |
if: ${{ matrix.distribution.type == 'rocky' }} | |
run: | | |
yum install --assumeyes git sudo python39 | |
- name: Prepare Ubuntu | |
if: ${{ matrix.distribution.type == 'ubuntu' }} | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
# for bionic | |
apt-get --yes update | |
apt-get install --yes software-properties-common | |
add-apt-repository --yes ppa:git-core/ppa | |
apt-get --yes update | |
apt-get install --yes git lsb-release sudo python3-venv | |
- name: Add safe git directory | |
run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
# after installing git so we use that copy | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/install | |
with: | |
python-version: ${{ matrix.python-version }} | |
development: true | |
do-system-installs: true | |
- uses: chia-network/actions/activate-venv@main | |
- name: Run chia --help | |
run: | | |
chia --help |