mirror of
https://github.com/taiki-e/install-action
synced 2026-09-14 20:13:27 +00:00
ci: Update config
This commit is contained in:
@@ -31,7 +31,6 @@ ppcle
|
|||||||
prek
|
prek
|
||||||
quickinstall
|
quickinstall
|
||||||
rdme
|
rdme
|
||||||
rootfs
|
|
||||||
sccache
|
sccache
|
||||||
SHASUMS
|
SHASUMS
|
||||||
sigstore
|
sigstore
|
||||||
|
|||||||
+194
-179
@@ -32,13 +32,16 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
miri:
|
miri:
|
||||||
|
needs: tidy
|
||||||
uses: taiki-e/github-actions/.github/workflows/miri.yml@931686d4e4cf88b13e790040727ccde2dba8ec62 # main
|
uses: taiki-e/github-actions/.github/workflows/miri.yml@931686d4e4cf88b13e790040727ccde2dba8ec62 # main
|
||||||
with:
|
with:
|
||||||
# NB: sync with test job's --exclude option
|
# NB: sync with test job's --exclude option
|
||||||
args: --exclude install-action-internal-codegen
|
args: --exclude install-action-internal-codegen
|
||||||
msrv:
|
msrv:
|
||||||
|
needs: tidy
|
||||||
uses: taiki-e/github-actions/.github/workflows/msrv.yml@931686d4e4cf88b13e790040727ccde2dba8ec62 # main
|
uses: taiki-e/github-actions/.github/workflows/msrv.yml@931686d4e4cf88b13e790040727ccde2dba8ec62 # main
|
||||||
test-manifest-schema:
|
test-manifest-schema:
|
||||||
|
needs: tidy
|
||||||
uses: taiki-e/github-actions/.github/workflows/test.yml@931686d4e4cf88b13e790040727ccde2dba8ec62 # main
|
uses: taiki-e/github-actions/.github/workflows/test.yml@931686d4e4cf88b13e790040727ccde2dba8ec62 # main
|
||||||
with:
|
with:
|
||||||
# NB: sync with miri job's --exclude option
|
# NB: sync with miri job's --exclude option
|
||||||
@@ -50,15 +53,18 @@ jobs:
|
|||||||
security-events: write # for github/codeql-action/*
|
security-events: write # for github/codeql-action/*
|
||||||
|
|
||||||
test:
|
test:
|
||||||
|
needs: tidy
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
# NB: Sync list with https://github.com/taiki-e/checkout-action/blob/HEAD/.github/workflows/ci.yml
|
# NB: Sync list with https://github.com/taiki-e/checkout-action/blob/HEAD/.github/workflows/ci.yml
|
||||||
- os: ubuntu-22.04
|
# --------------------------------------------------------------------
|
||||||
- os: ubuntu-22.04-arm
|
# GitHub-hosted runners
|
||||||
- os: ubuntu-24.04
|
- os: ubuntu-24.04
|
||||||
- os: ubuntu-24.04-arm
|
- os: ubuntu-24.04-arm
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
- os: ubuntu-slim
|
- os: ubuntu-slim
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-22.04
|
||||||
tool: major.minor.patch
|
tool: major.minor.patch
|
||||||
@@ -66,19 +72,19 @@ jobs:
|
|||||||
tool: major.minor
|
tool: major.minor
|
||||||
- os: ubuntu-22.04
|
- os: ubuntu-22.04
|
||||||
tool: major
|
tool: major
|
||||||
- os: macos-14
|
- os: macos-26
|
||||||
- os: macos-15
|
- os: macos-15
|
||||||
- os: macos-15-intel
|
- os: macos-15-intel
|
||||||
- os: macos-26
|
- os: macos-14
|
||||||
- os: windows-2022
|
- os: windows-2025
|
||||||
- os: windows-2022
|
- os: windows-2025
|
||||||
bash: msys64
|
bash: msys2
|
||||||
- os: windows-2022
|
- os: windows-2025
|
||||||
bash: cygwin
|
bash: cygwin
|
||||||
- os: windows-2025
|
- os: windows-2022
|
||||||
- os: windows-2025
|
- os: windows-2022
|
||||||
bash: msys64
|
bash: msys2
|
||||||
- os: windows-2025
|
- os: windows-2022
|
||||||
bash: cygwin
|
bash: cygwin
|
||||||
- os: windows-11-arm
|
- os: windows-11-arm
|
||||||
- os: windows-2022
|
- os: windows-2022
|
||||||
@@ -87,170 +93,75 @@ jobs:
|
|||||||
tool: major.minor
|
tool: major.minor
|
||||||
- os: windows-2022
|
- os: windows-2022
|
||||||
tool: major
|
tool: major
|
||||||
runs-on: ${{ matrix.os }}
|
# --------------------------------------------------------------------
|
||||||
timeout-minutes: 60
|
# Containers
|
||||||
steps:
|
# --------------------------------------------------------------------
|
||||||
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
|
# Debian-based
|
||||||
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
|
- container: debian:sid # glibc
|
||||||
- run: rm -- Cargo.toml
|
- container: debian:testing # glibc
|
||||||
- name: Generate tool list
|
- container: debian:13-slim # glibc 2.41
|
||||||
id: tool-list
|
- container: debian:12-slim # glibc 2.36
|
||||||
run: tools/ci/tool-list.sh "${TOOL}" "${OS}" "${BASH}" >>"${GITHUB_OUTPUT}"
|
- container: debian:11-slim # glibc 2.31, EoL
|
||||||
env:
|
- container: debian:10-slim # glibc 2.28, EoL, end of LTS
|
||||||
TOOL: ${{ matrix.tool }}
|
- container: debian:9-slim # glibc 2.24, EoL, end of LTS
|
||||||
OS: ${{ matrix.os }}
|
- container: debian/eol:jessie-slim # 8, glibc 2.19, EoL, end of LTS
|
||||||
BASH: ${{ matrix.bash }}
|
- container: ubuntu:devel # glibc
|
||||||
- run: |
|
- container: ubuntu:rolling # glibc
|
||||||
printf '%s\n' 'C:\msys64\mingw32\bin' >>"${GITHUB_PATH}"
|
- container: ubuntu:26.04 # glibc 2.43
|
||||||
printf '%s\n' 'C:\msys64\usr\bin' >>"${GITHUB_PATH}"
|
- container: ubuntu:24.04 # glibc 2.39
|
||||||
if: matrix.bash == 'msys64'
|
- container: ubuntu:22.04 # glibc 2.35
|
||||||
- run: |
|
- container: ubuntu:20.04 # glibc 2.31, EoL
|
||||||
choco install --no-progress --requirechecksums cygwin
|
- container: ubuntu:18.04 # glibc 2.27, EoL
|
||||||
printf '%s\n' 'C:\tools\cygwin\bin' >>"${GITHUB_PATH}"
|
- container: ubuntu:16.04 # glibc 2.23, EoL, end of ESM
|
||||||
printf '%s\n' 'C:\tools\cygwin\usr\bin' >>"${GITHUB_PATH}"
|
- container: ubuntu:14.04 # glibc 2.19, EoL, end of ESM
|
||||||
if: matrix.bash == 'cygwin'
|
# --------------------------------------------------------------------
|
||||||
- run: env
|
# Fedora/RHEL-based
|
||||||
- uses: ./
|
- container: fedora:latest # glibc
|
||||||
with:
|
- container: centos:7 # glibc 2.17, EoL
|
||||||
tool: ${{ steps.tool-list.outputs.tool }}
|
- container: centos:6 # glibc 2.12, EoL
|
||||||
# Test all shells listed in https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
|
- container: almalinux:10 # glibc 2.39
|
||||||
- name: Test bash
|
- container: almalinux:10-minimal # glibc 2.39
|
||||||
run: just --version && shfmt --version && protoc --version && rustc --version && cargo --version && rustup --version
|
- container: almalinux:9 # glibc 2.34
|
||||||
shell: bash
|
- container: almalinux:9-minimal # glibc 2.34
|
||||||
- name: Test sh
|
- container: almalinux:8 # glibc 2.28
|
||||||
run: just --version && shfmt --version && protoc --version && rustc --version && cargo --version && rustup --version
|
- container: almalinux:8-minimal # glibc 2.28
|
||||||
shell: sh
|
# --------------------------------------------------------------------
|
||||||
if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macos')
|
# SUSE-based
|
||||||
- name: Test pwsh
|
- container: opensuse/tumbleweed:latest # glibc
|
||||||
run: just --version; shfmt --version; protoc --version; rustc --version; cargo --version; rustup --version
|
- container: opensuse/leap:latest # glibc
|
||||||
shell: pwsh
|
# --------------------------------------------------------------------
|
||||||
if: matrix.os != 'ubuntu-slim'
|
# apk
|
||||||
- name: Test powershell
|
- container: alpine:3.23 # musl 1.2.5
|
||||||
run: just --version; shfmt --version; protoc --version; rustc --version; cargo --version; rustup --version
|
- container: alpine:3.22 # musl 1.2.5
|
||||||
shell: powershell
|
- container: alpine:3.21 # musl 1.2.5
|
||||||
if: startsWith(matrix.os, 'windows')
|
# Skip intermediate versions that have reached EoL by default.
|
||||||
- name: Test cmd
|
# - container: alpine:3.20 # musl 1.2.5, EoL
|
||||||
run: just --version & shfmt --version & protoc --version & rustc --version & cargo --version & rustup --version
|
# - container: alpine:3.19 # musl 1.2.4, EoL
|
||||||
shell: cmd # zizmor: ignore[misfeature] used for compatibility testing
|
# - container: alpine:3.18 # musl 1.2.4, EoL
|
||||||
if: startsWith(matrix.os, 'windows')
|
# - container: alpine:3.17 # musl 1.2.3, EoL
|
||||||
# We use the version output to check the version of cargo-binstall, but they
|
# - container: alpine:3.16 # musl 1.2.3, EoL
|
||||||
# several times change the version output format in the past so we need to
|
# - container: alpine:3.15 # musl 1.2.2, EoL
|
||||||
# check it with CI. (e.g., 0.14.0->0.16.0 update change it
|
# - container: alpine:3.14 # musl 1.2.2, EoL
|
||||||
# from "cargo-binstall <version>" to "<version>")
|
# - container: alpine:3.13 # musl 1.2.2, EoL
|
||||||
- run: |
|
# - container: alpine:3.12 # musl 1.1.24, EoL
|
||||||
if [[ "$(cargo-binstall binstall -V)" != "$(jq -r '.latest.version' manifests/cargo-binstall.json)" ]]; then
|
# - container: alpine:3.11 # musl 1.1.24, EoL
|
||||||
exit 1
|
# - container: alpine:3.10 # musl 1.1.22, EoL
|
||||||
fi
|
# - container: alpine:3.9 # musl 1.1.20, EoL
|
||||||
if: matrix.bash != 'cygwin' && matrix.os != 'windows-11-arm'
|
# - container: alpine:3.8 # musl 1.1.19, EoL
|
||||||
|
# - container: alpine:3.7 # musl 1.1.18, EoL, broken env command
|
||||||
test-alias:
|
# - container: alpine:3.6 # musl 1.1.16, EoL, broken env command
|
||||||
runs-on: ubuntu-24.04
|
# - container: alpine:3.5 # musl 1.1.15, EoL
|
||||||
timeout-minutes: 60
|
# - container: alpine:3.4 # musl 1.1.14, EoL
|
||||||
steps:
|
# - container: alpine:3.3 # musl 1.1.12, EoL
|
||||||
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
|
- container: alpine:3.2 # musl 1.1.11, EoL
|
||||||
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
|
# --------------------------------------------------------------------
|
||||||
- run: rm -- Cargo.toml
|
# Arch-based
|
||||||
- run: env
|
- container: archlinux:latest # glibc
|
||||||
- uses: ./
|
runs-on: ${{ matrix.os || 'ubuntu-24.04' }}
|
||||||
with:
|
timeout-minutes: 30
|
||||||
# NB: Update alias list in tools/ci/release-post-commit.sh, case for aliases in main.sh,
|
|
||||||
# and match for alias for tools/codegen/src/tools-markdown.rs.
|
|
||||||
tool: |
|
|
||||||
nextest
|
|
||||||
taplo-cli
|
|
||||||
typos-cli
|
|
||||||
wasm-bindgen-cli
|
|
||||||
wasmtime-cli
|
|
||||||
- name: Test bash
|
|
||||||
run: cargo-nextest nextest --version && taplo --version
|
|
||||||
shell: bash
|
|
||||||
- name: Test sh
|
|
||||||
run: cargo-nextest nextest --version && taplo --version
|
|
||||||
shell: sh
|
|
||||||
|
|
||||||
test-fallback:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- fallback: none
|
|
||||||
- fallback: cargo-install
|
|
||||||
- fallback: cargo-binstall
|
|
||||||
- fallback: cargo-binstall
|
|
||||||
version: 0.3
|
|
||||||
runs-on: ubuntu-24.04-arm
|
|
||||||
timeout-minutes: 60
|
|
||||||
steps:
|
|
||||||
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
|
|
||||||
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
|
|
||||||
- run: rm -- Cargo.toml
|
|
||||||
- run: env
|
|
||||||
- uses: ./
|
|
||||||
id: install
|
|
||||||
continue-on-error: ${{ matrix.fallback == 'none' }}
|
|
||||||
with:
|
|
||||||
tool: parse-changelog@${{ matrix.version || '0.4.6' }}
|
|
||||||
fallback: ${{ matrix.fallback }}
|
|
||||||
- run: exit 1
|
|
||||||
if: matrix.fallback == 'none' && steps.install.outcome != 'failure'
|
|
||||||
- name: Test bash
|
|
||||||
run: parse-changelog --version
|
|
||||||
shell: bash
|
|
||||||
if: matrix.fallback != 'none'
|
|
||||||
- name: Test sh
|
|
||||||
run: parse-changelog --version
|
|
||||||
shell: sh
|
|
||||||
if: matrix.fallback != 'none'
|
|
||||||
|
|
||||||
test-container:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
container:
|
|
||||||
# NB: Sync list with https://github.com/taiki-e/checkout-action/blob/HEAD/.github/workflows/ci.yml
|
|
||||||
- ubuntu:14.04 # glibc 2.19
|
|
||||||
- ubuntu:16.04 # glibc 2.23
|
|
||||||
- ubuntu:18.04 # glibc 2.27
|
|
||||||
- ubuntu:20.04 # glibc 2.31
|
|
||||||
- ubuntu:22.04 # glibc 2.35
|
|
||||||
- ubuntu:24.04 # glibc 2.39
|
|
||||||
- ubuntu:26.04 # glibc 2.42
|
|
||||||
- ubuntu:rolling
|
|
||||||
- debian:9-slim # glibc 2.24
|
|
||||||
- debian:10-slim # glibc 2.28
|
|
||||||
- debian:11-slim # glibc 2.31
|
|
||||||
- debian:12-slim # glibc 2.36
|
|
||||||
- debian:13-slim # glibc 2.41
|
|
||||||
- debian:testing
|
|
||||||
- fedora:latest # glibc 2.39 (as of fedora 40)
|
|
||||||
- almalinux:8 # glibc 2.28
|
|
||||||
- almalinux:8-minimal # glibc 2.28
|
|
||||||
- almalinux:9 # glibc 2.34
|
|
||||||
- almalinux:9-minimal # glibc 2.34
|
|
||||||
- almalinux:10 # glibc 2.39
|
|
||||||
- almalinux:10-minimal # glibc 2.39
|
|
||||||
- centos:6 # glibc 2.12
|
|
||||||
- centos:7 # glibc 2.17
|
|
||||||
- opensuse/leap:latest # glibc 2.38 (as of leap 15.6)
|
|
||||||
- opensuse/tumbleweed:latest # glibc 2.39 (as of 2024-07-19)
|
|
||||||
# - archlinux:latest # glibc 2.39 (as of 2024-07-19)
|
|
||||||
- alpine:3.2 # musl 1.1.11
|
|
||||||
- alpine:3.14 # musl 1.2.2
|
|
||||||
- alpine:3.15 # musl 1.2.2
|
|
||||||
- alpine:3.16 # musl 1.2.3
|
|
||||||
- alpine:3.17 # musl 1.2.3
|
|
||||||
- alpine:3.18 # musl 1.2.4
|
|
||||||
- alpine:3.19 # musl 1.2.4
|
|
||||||
- alpine:3.20 # musl 1.2.5
|
|
||||||
- alpine:3.21 # musl 1.2.5
|
|
||||||
- alpine:3.22 # musl 1.2.5
|
|
||||||
- alpine:3.23 # musl 1.2.5
|
|
||||||
# - openwrt/rootfs:x86-64-openwrt-24.10 # musl 1.2.5
|
|
||||||
runs-on: ubuntu-24.04
|
|
||||||
timeout-minutes: 60
|
|
||||||
container: ${{ matrix.container }}
|
container: ${{ matrix.container }}
|
||||||
steps:
|
steps:
|
||||||
- name: Install requirements (old debian)
|
- name: Install requirements (old Debian)
|
||||||
run: |
|
run: |
|
||||||
# In Debian, the old repositories is removed from the main mirrors some time after EoL.
|
# In Debian, the old repositories is removed from the main mirrors some time after EoL.
|
||||||
codename=$(grep -E '^VERSION_CODENAME=' /etc/os-release | cut -d= -f2)
|
codename=$(grep -E '^VERSION_CODENAME=' /etc/os-release | cut -d= -f2)
|
||||||
@@ -258,7 +169,7 @@ jobs:
|
|||||||
-e 's|security.debian.org|archive.debian.org/|g' \
|
-e 's|security.debian.org|archive.debian.org/|g' \
|
||||||
-e "/${codename}-updates/d"
|
-e "/${codename}-updates/d"
|
||||||
if: startsWith(matrix.container, 'debian:9') || startsWith(matrix.container, 'debian:10')
|
if: startsWith(matrix.container, 'debian:9') || startsWith(matrix.container, 'debian:10')
|
||||||
- name: Install requirements (centos)
|
- name: Install requirements (CentOS)
|
||||||
run: |
|
run: |
|
||||||
retry() {
|
retry() {
|
||||||
for i in {1..10}; do
|
for i in {1..10}; do
|
||||||
@@ -301,9 +212,22 @@ jobs:
|
|||||||
- run: rm -- Cargo.toml
|
- run: rm -- Cargo.toml
|
||||||
- name: Generate tool list
|
- name: Generate tool list
|
||||||
id: tool-list
|
id: tool-list
|
||||||
run: tools/ci/tool-list.sh "" "${CONTAINER}" >>"${GITHUB_OUTPUT}"
|
run: tools/ci/tool-list.sh "${TOOL}" "${OS}" "${BASH}" >>"${GITHUB_OUTPUT}"
|
||||||
env:
|
env:
|
||||||
CONTAINER: ${{ matrix.container }}
|
TOOL: ${{ matrix.tool }}
|
||||||
|
OS: ${{ matrix.container || matrix.os }}
|
||||||
|
BASH: ${{ matrix.bash }}
|
||||||
|
- name: Setup MSYS2 bash
|
||||||
|
run: |
|
||||||
|
printf '%s\n' 'C:\msys64\mingw32\bin' >>"${GITHUB_PATH}"
|
||||||
|
printf '%s\n' 'C:\msys64\usr\bin' >>"${GITHUB_PATH}"
|
||||||
|
if: matrix.bash == 'msys2'
|
||||||
|
- name: Setup Cygwin bash
|
||||||
|
run: |
|
||||||
|
choco install --no-progress --requirechecksums cygwin
|
||||||
|
printf '%s\n' 'C:\tools\cygwin\bin' >>"${GITHUB_PATH}"
|
||||||
|
printf '%s\n' 'C:\tools\cygwin\usr\bin' >>"${GITHUB_PATH}"
|
||||||
|
if: matrix.bash == 'cygwin'
|
||||||
# remove bash installed by checkout-action
|
# remove bash installed by checkout-action
|
||||||
- run: apk --no-cache del bash
|
- run: apk --no-cache del bash
|
||||||
shell: sh
|
shell: sh
|
||||||
@@ -311,13 +235,104 @@ jobs:
|
|||||||
- uses: ./
|
- uses: ./
|
||||||
with:
|
with:
|
||||||
tool: ${{ steps.tool-list.outputs.tool }}
|
tool: ${{ steps.tool-list.outputs.tool }}
|
||||||
|
# Test all shells listed in https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
|
||||||
|
- name: Test bash
|
||||||
|
run: just --version && shfmt --version && protoc --version && rustc --version && cargo --version && rustup --version
|
||||||
|
shell: bash
|
||||||
|
if: matrix.container == ''
|
||||||
- name: Test bash
|
- name: Test bash
|
||||||
run: just --version && shfmt --version
|
run: just --version && shfmt --version
|
||||||
shell: bash
|
shell: bash
|
||||||
# TODO: OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown
|
# TODO: OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown
|
||||||
if: (!startsWith(matrix.container, 'opensuse'))
|
if: matrix.container != '' && !startsWith(matrix.container, 'opensuse')
|
||||||
|
- name: Test sh
|
||||||
|
run: just --version && shfmt --version && protoc --version && rustc --version && cargo --version && rustup --version
|
||||||
|
shell: sh
|
||||||
|
if: matrix.container == ''
|
||||||
- name: Test sh
|
- name: Test sh
|
||||||
run: just --version && shfmt --version
|
run: just --version && shfmt --version
|
||||||
shell: sh
|
shell: sh
|
||||||
# TODO: OCI runtime exec failed: exec failed: unable to start container process: exec: "sh": executable file not found in $PATH: unknown
|
# TODO: OCI runtime exec failed: exec failed: unable to start container process: exec: "sh": executable file not found in $PATH: unknown
|
||||||
if: (!startsWith(matrix.container, 'opensuse'))
|
if: matrix.container != '' && !startsWith(matrix.container, 'opensuse')
|
||||||
|
- name: Test pwsh
|
||||||
|
run: just --version; shfmt --version; protoc --version; rustc --version; cargo --version; rustup --version
|
||||||
|
shell: pwsh
|
||||||
|
if: matrix.os != 'ubuntu-slim' && matrix.container == ''
|
||||||
|
- name: Test powershell
|
||||||
|
run: just --version; shfmt --version; protoc --version; rustc --version; cargo --version; rustup --version
|
||||||
|
shell: powershell
|
||||||
|
if: startsWith(matrix.os, 'windows')
|
||||||
|
- name: Test cmd
|
||||||
|
run: just --version & shfmt --version & protoc --version & rustc --version & cargo --version & rustup --version
|
||||||
|
shell: cmd # zizmor: ignore[misfeature] used for compatibility testing
|
||||||
|
if: startsWith(matrix.os, 'windows')
|
||||||
|
# We use the version output to check the version of cargo-binstall, but they
|
||||||
|
# several times change the version output format in the past so we need to
|
||||||
|
# check it with CI. (e.g., 0.14.0->0.16.0 update change it
|
||||||
|
# from "cargo-binstall <version>" to "<version>")
|
||||||
|
- run: |
|
||||||
|
if [[ "$(cargo-binstall binstall -V)" != "$(jq -r '.latest.version' manifests/cargo-binstall.json)" ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if: matrix.bash != 'cygwin' && matrix.os != 'windows-11-arm' && !startsWith(matrix.container, 'opensuse')
|
||||||
|
|
||||||
|
test-alias:
|
||||||
|
needs: tidy
|
||||||
|
runs-on: ubuntu-24.04
|
||||||
|
timeout-minutes: 60
|
||||||
|
steps:
|
||||||
|
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
|
||||||
|
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
|
||||||
|
- run: rm -- Cargo.toml
|
||||||
|
- run: env
|
||||||
|
- uses: ./
|
||||||
|
with:
|
||||||
|
# NB: Update alias list in tools/ci/release-post-commit.sh, case for aliases in main.sh,
|
||||||
|
# and match for alias for tools/codegen/src/tools-markdown.rs.
|
||||||
|
tool: |
|
||||||
|
nextest
|
||||||
|
taplo-cli
|
||||||
|
typos-cli
|
||||||
|
wasm-bindgen-cli
|
||||||
|
wasmtime-cli
|
||||||
|
- name: Test bash
|
||||||
|
run: cargo-nextest nextest --version && taplo --version
|
||||||
|
shell: bash
|
||||||
|
- name: Test sh
|
||||||
|
run: cargo-nextest nextest --version && taplo --version
|
||||||
|
shell: sh
|
||||||
|
|
||||||
|
test-fallback:
|
||||||
|
needs: tidy
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- fallback: none
|
||||||
|
- fallback: cargo-install
|
||||||
|
- fallback: cargo-binstall
|
||||||
|
- fallback: cargo-binstall
|
||||||
|
version: 0.3
|
||||||
|
runs-on: ubuntu-24.04-arm
|
||||||
|
timeout-minutes: 60
|
||||||
|
steps:
|
||||||
|
- uses: taiki-e/checkout-action@7d1e50e93dc4fb3bba58f85018fadf77898aee8b # v1.4.2
|
||||||
|
# cross attempts to install rust-src when Cargo.toml is available even if `cross --version`
|
||||||
|
- run: rm -- Cargo.toml
|
||||||
|
- run: env
|
||||||
|
- uses: ./
|
||||||
|
id: install
|
||||||
|
continue-on-error: ${{ matrix.fallback == 'none' }}
|
||||||
|
with:
|
||||||
|
tool: parse-changelog@${{ matrix.version || '0.4.6' }}
|
||||||
|
fallback: ${{ matrix.fallback }}
|
||||||
|
- run: exit 1
|
||||||
|
if: matrix.fallback == 'none' && steps.install.outcome != 'failure'
|
||||||
|
- name: Test bash
|
||||||
|
run: parse-changelog --version
|
||||||
|
shell: bash
|
||||||
|
if: matrix.fallback != 'none'
|
||||||
|
- name: Test sh
|
||||||
|
run: parse-changelog --version
|
||||||
|
shell: sh
|
||||||
|
if: matrix.fallback != 'none'
|
||||||
|
|||||||
@@ -119,14 +119,19 @@ case "$(uname -s)" in
|
|||||||
if ! type -P apt-get >/dev/null; then
|
if ! type -P apt-get >/dev/null; then
|
||||||
incompat_tools+=(cyclonedx)
|
incompat_tools+=(cyclonedx)
|
||||||
fi
|
fi
|
||||||
if [[ "${runner}" == "ubuntu:14.04" ]]; then
|
if [[ "${runner}" == 'ubuntu:14.04' ]]; then
|
||||||
incompat_tools+=(cyclonedx)
|
incompat_tools+=(cyclonedx)
|
||||||
fi
|
fi
|
||||||
if [[ "${runner}" == "almalinux:10"* ]]; then
|
if [[ "${runner}" == 'almalinux:10'* ]]; then
|
||||||
incompat_tools+=(cargo-deb) # no dpkg in package manager
|
incompat_tools+=(cargo-deb) # no dpkg in package manager
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
Darwin) host_os=macos ;;
|
Darwin)
|
||||||
|
host_os=macos
|
||||||
|
if [[ "${runner}" == 'macos-15-intel' ]]; then
|
||||||
|
incompat_tools+=(release-plz) # no prebuilt binary
|
||||||
|
fi
|
||||||
|
;;
|
||||||
MINGW* | MSYS* | CYGWIN* | Windows_NT) host_os=windows ;;
|
MINGW* | MSYS* | CYGWIN* | Windows_NT) host_os=windows ;;
|
||||||
*) bail "unrecognized OS type '$(uname -s)'" ;;
|
*) bail "unrecognized OS type '$(uname -s)'" ;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
Reference in New Issue
Block a user