Change Chia Root CA to expire 31 Dec 2037 #33873
Workflow file for this run
This file contains hidden or 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: | |
| group: ${{ github.event_name == 'pull_request' && format('{0}-{1}', github.workflow_ref, github.event.pull_request.number) || github.run_id }} | |
| cancel-in-progress: true | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| test_scripts: | |
| name: Native ${{ matrix.os.emoji }} ${{ matrix.arch.emoji }} ${{ matrix.development.name }} - ${{ matrix.editable.name }} | |
| runs-on: ${{ matrix.os.runs-on[matrix.arch.matrix] }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: | |
| - major-dot-minor: "3.12" | |
| os: | |
| - name: Linux | |
| emoji: 🐧 | |
| runs-on: | |
| arm: ubuntu-24.04-arm | |
| intel: ubuntu-latest | |
| matrix: linux | |
| - name: macOS | |
| emoji: 🍎 | |
| runs-on: | |
| arm: macos-15 | |
| intel: ${{ github.repository_owner == 'Chia-Network' && 'macos-13-intel' || 'macos-13' }} | |
| matrix: macos | |
| - name: Windows | |
| emoji: 🪟 | |
| runs-on: | |
| intel: windows-latest | |
| matrix: windows | |
| arch: | |
| - name: ARM | |
| emoji: 💪 | |
| matrix: arm | |
| - name: Intel | |
| emoji: 🌀 | |
| matrix: intel | |
| development: | |
| - name: Non-dev | |
| value: false | |
| - name: Dev | |
| value: true | |
| editable: | |
| - name: Non-edit | |
| value: false | |
| matrix: non-editable | |
| - name: Edit | |
| value: true | |
| matrix: editable | |
| exclude: | |
| - os: | |
| matrix: windows | |
| arch: | |
| matrix: arm | |
| steps: | |
| - name: Checkout Code | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| submodules: recursive | |
| - name: Setup Python environment | |
| uses: Chia-Network/actions/setup-python@main | |
| with: | |
| python-version: ${{ matrix.python.major-dot-minor }} | |
| - name: Setup Node per .nvmrc in GUI | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: chia-blockchain-gui/.nvmrc | |
| - name: Remove GUI submodule for gui script testing | |
| env: | |
| GUI_DIRECTORY: chia-blockchain-gui | |
| run: | | |
| [ -d "${GUI_DIRECTORY}" ] | |
| rm -rf "${GUI_DIRECTORY}" | |
| - uses: ./.github/actions/install | |
| with: | |
| python-version: ${{ matrix.python.major-dot-minor }} | |
| development: ${{ matrix.development.value }} | |
| editable: ${{ matrix.editable.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' | |
| shell: pwsh | |
| run: | | |
| ./Install-gui.ps1 | |
| - name: Collect editable info | |
| id: editable-info | |
| shell: bash | |
| run: | | |
| echo "pre-edit-version=$(chia version)" >> "$GITHUB_OUTPUT" | |
| echo '__version__ = "shooby-doowah"' >> chia/__init__.py | |
| echo "post-edit-version=$(chia version)" >> "$GITHUB_OUTPUT" | |
| - name: Check editable | |
| if: matrix.editable.matrix == 'editable' | |
| shell: bash | |
| env: | |
| PRE_VERSION: ${{ steps.editable-info.outputs.pre-edit-version }} | |
| POST_VERSION: ${{ steps.editable-info.outputs.post-edit-version }} | |
| run: | | |
| [ "$POST_VERSION" = "shooby-doowah" ] && [ "$PRE_VERSION" != "shooby-doowah" ] | |
| - name: Check non-editable | |
| if: matrix.editable.matrix == 'non-editable' | |
| shell: bash | |
| env: | |
| PRE_VERSION: ${{ steps.editable-info.outputs.pre-edit-version }} | |
| POST_VERSION: ${{ steps.editable-info.outputs.post-edit-version }} | |
| run: | | |
| [ "$POST_VERSION" != "shooby-doowah" ] && [ "$PRE_VERSION" = "$POST_VERSION" ] | |
| test_scripts_in_docker: | |
| name: Docker ${{ 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: ubuntu-24.04-arm | |
| distribution: | |
| - name: amazonlinux:2023 | |
| type: amazon | |
| url: "docker://amazonlinux:2023" | |
| - name: arch:latest | |
| type: arch | |
| url: "docker://archlinux:latest" | |
| - name: debian:bookworm | |
| type: debian | |
| # https://packages.debian.org/bookworm/python/python3 (3.11) | |
| url: "docker://debian:bookworm" | |
| - name: debian:trixie | |
| type: debian | |
| # https://packages.debian.org/trixie/python/python3 (3.13) | |
| url: "docker://debian:trixie" | |
| - name: fedora:41 | |
| type: fedora | |
| url: "docker://fedora:41" | |
| - name: fedora:42 | |
| type: fedora | |
| url: "docker://fedora:42" | |
| - name: rockylinux:8 | |
| type: rocky | |
| url: "docker://rockylinux:8" | |
| - name: rockylinux:9 | |
| type: rocky | |
| url: "docker://rockylinux:9" | |
| - name: ubuntu:jammy (22.04) | |
| type: ubuntu | |
| # https://packages.ubuntu.com/jammy/python3 (22.04, 3.10) | |
| url: "docker://ubuntu:jammy" | |
| - name: ubuntu:noble (24.04) | |
| type: ubuntu | |
| # https://packages.ubuntu.com/noble/python3 (24.04, 3.12) | |
| url: "docker://ubuntu:noble" | |
| arch: | |
| - name: ARM64 | |
| matrix: arm | |
| - name: Intel | |
| matrix: intel | |
| exclude: | |
| - distribution: | |
| type: arch | |
| # TODO: arch brought in glibc 2.41 which became more sensitive around execstack | |
| # which is enabled in libbladebit. fixes will be made to main and this | |
| # should be re-enabled then. | |
| # arch: | |
| # matrix: arm | |
| steps: | |
| - name: Prepare Amazon Linux | |
| if: ${{ matrix.distribution.type == 'amazon' }} | |
| run: | | |
| dnf update -y | |
| dnf search python3.12 | |
| dnf install git python3.12 -y | |
| - name: Prepare Arch | |
| if: ${{ matrix.distribution.type == 'arch' }} | |
| run: | | |
| pacman --noconfirm -Syu | |
| pacman --noconfirm -S base git 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.13.5-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 python3-venv | |
| - name: Prepare Fedora | |
| if: ${{ matrix.distribution.type == 'fedora' }} | |
| run: | | |
| yum install --assumeyes git python | |
| - name: Set rocky8 repo | |
| if: ${{ matrix.distribution.name == 'rockylinux:8' }} | |
| run: | | |
| sed -i -e 's|^mirrorlist=|#mirrorlist=|' -e 's|^#baseurl=http://dl\.rockylinux\.org/|baseurl=https://dl.rockylinux.org/|' /etc/yum.repos.d/Rocky-*.repo | |
| - name: Set rocky9 repo | |
| if: ${{ matrix.distribution.name == 'rockylinux:9' }} | |
| run: | | |
| sed -i -e 's|^mirrorlist=|#mirrorlist=|' -e 's|^#baseurl=http://dl\.rockylinux\.org/|baseurl=https://dl.rockylinux.org/|' /etc/yum.repos.d/rocky-*.repo | |
| - name: Prepare Rocky | |
| if: ${{ matrix.distribution.type == 'rocky' }} | |
| run: | | |
| dnf update -y | |
| dnf search python3.12 | |
| dnf install git python3.12 -y | |
| - name: Prepare Ubuntu | |
| if: ${{ matrix.distribution.type == 'ubuntu' }} | |
| env: | |
| DEBIAN_FRONTEND: noninteractive | |
| run: | | |
| apt-get --yes update | |
| apt-get install --yes git lsb-release | |
| MINIMUM=3.10 | |
| if ! apt-get satisfy --yes "python3-venv (>= ${MINIMUM})" | |
| then | |
| apt-get install --yes python${MINIMUM}-venv | |
| fi | |
| - 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@v5 | |
| with: | |
| fetch-depth: 0 | |
| - uses: ./.github/actions/install | |
| with: | |
| development: true | |
| do-system-installs: true | |
| - uses: chia-network/actions/activate-venv@main | |
| - name: Run chia --help | |
| run: | | |
| chia --help |