Skip to content

ci: bump github action step versions #427

ci: bump github action step versions

ci: bump github action step versions #427

Workflow file for this run

# GENERATED BY ./ci.ts -- DO NOT DIRECTLY EDIT
name: CI
on:
pull_request:
branches:
- main
push:
branches:
- main
tags:
- "*"
permissions:
contents: read
concurrency:
group: "${{ github.workflow }}-${{ github.head_ref || github.run_id }}"
cancel-in-progress: true
jobs:
build:
name: "${{ matrix.target }}"
runs-on: "${{ matrix.os }}"
defaults:
run:
shell: bash
strategy:
matrix:
include:
- os: macos-15-intel
run_tests: "true"
target: x86_64-apple-darwin
cross: "false"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: x86_64-apple-darwin
- os: macOS-latest
run_tests: "true"
target: aarch64-apple-darwin
cross: "false"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: aarch64-apple-darwin
- os: windows-latest
run_tests: "true"
target: x86_64-pc-windows-msvc
cross: "false"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: x86_64-pc-windows-msvc
- os: windows-11-arm
run_tests: "true"
target: aarch64-pc-windows-msvc
cross: "false"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: aarch64-pc-windows-msvc
- os: ubuntu-22.04
run_tests: "true"
target: x86_64-unknown-linux-gnu
cross: "false"
musl_image: ""
zigbuild_glibc: "2.17"
cargo: cargo-zigbuild
cargo_target: x86_64-unknown-linux-gnu.2.17
- os: ubuntu-22.04
run_tests: "false"
target: x86_64-unknown-linux-musl
cross: "false"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: x86_64-unknown-linux-musl
- os: ubuntu-24.04-arm
run_tests: "true"
target: aarch64-unknown-linux-gnu
cross: "false"
musl_image: ""
zigbuild_glibc: "2.17"
cargo: cargo-zigbuild
cargo_target: aarch64-unknown-linux-gnu.2.17
- os: ubuntu-24.04-arm
run_tests: "false"
target: aarch64-unknown-linux-musl
cross: "false"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: aarch64-unknown-linux-musl
- os: ubuntu-22.04
run_tests: "false"
target: riscv64gc-unknown-linux-gnu
cross: "true"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: riscv64gc-unknown-linux-gnu
- os: ubuntu-22.04
run_tests: "false"
target: loongarch64-unknown-linux-gnu
cross: "true"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: loongarch64-unknown-linux-gnu
- os: ubuntu-22.04
run_tests: "false"
target: loongarch64-unknown-linux-musl
cross: "true"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: loongarch64-unknown-linux-musl
- os: ubuntu-22.04
run_tests: "false"
target: powerpc64le-unknown-linux-gnu
cross: "true"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: powerpc64le-unknown-linux-gnu
- os: ubuntu-22.04
run_tests: "false"
target: powerpc64le-unknown-linux-musl
cross: "false"
musl_image: "ghcr.io/rust-cross/rust-musl-cross:powerpc64le-musl"
zigbuild_glibc: ""
cargo: cargo
cargo_target: powerpc64le-unknown-linux-musl
- os: ubuntu-22.04
run_tests: "false"
target: aarch64-linux-android
cross: "true"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: aarch64-linux-android
- os: ubuntu-22.04
run_tests: "false"
target: x86_64-linux-android
cross: "true"
musl_image: ""
zigbuild_glibc: ""
cargo: cargo
cargo_target: x86_64-linux-android
env:
CARGO_INCREMENTAL: 0
RUST_BACKTRACE: full
LZMA_API_STATIC: 1
outputs:
ZIP_CHECKSUM_X86_64_APPLE_DARWIN: "${{ steps.pre_release_x86_64_apple_darwin.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_AARCH64_APPLE_DARWIN: "${{ steps.pre_release_aarch64_apple_darwin.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_X86_64_PC_WINDOWS_MSVC: "${{ steps.pre_release_x86_64_pc_windows_msvc.outputs.ZIP_CHECKSUM }}"
INSTALLER_CHECKSUM_X86_64_PC_WINDOWS_MSVC: "${{ steps.pre_release_x86_64_pc_windows_msvc.outputs.INSTALLER_CHECKSUM }}"
ZIP_CHECKSUM_AARCH64_PC_WINDOWS_MSVC: "${{ steps.pre_release_aarch64_pc_windows_msvc.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_X86_64_UNKNOWN_LINUX_GNU: "${{ steps.pre_release_x86_64_unknown_linux_gnu.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_X86_64_UNKNOWN_LINUX_MUSL: "${{ steps.pre_release_x86_64_unknown_linux_musl.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_AARCH64_UNKNOWN_LINUX_GNU: "${{ steps.pre_release_aarch64_unknown_linux_gnu.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_AARCH64_UNKNOWN_LINUX_MUSL: "${{ steps.pre_release_aarch64_unknown_linux_musl.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_RISCV64GC_UNKNOWN_LINUX_GNU: "${{ steps.pre_release_riscv64gc_unknown_linux_gnu.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_LOONGARCH64_UNKNOWN_LINUX_GNU: "${{ steps.pre_release_loongarch64_unknown_linux_gnu.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_LOONGARCH64_UNKNOWN_LINUX_MUSL: "${{ steps.pre_release_loongarch64_unknown_linux_musl.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_POWERPC64LE_UNKNOWN_LINUX_GNU: "${{ steps.pre_release_powerpc64le_unknown_linux_gnu.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_POWERPC64LE_UNKNOWN_LINUX_MUSL: "${{ steps.pre_release_powerpc64le_unknown_linux_musl.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_AARCH64_LINUX_ANDROID: "${{ steps.pre_release_aarch64_linux_android.outputs.ZIP_CHECKSUM }}"
ZIP_CHECKSUM_X86_64_LINUX_ANDROID: "${{ steps.pre_release_x86_64_linux_android.outputs.ZIP_CHECKSUM }}"
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
if: '(((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')) || (((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.zigbuild_glibc != '''' || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''')'
- uses: denoland/setup-deno@667a34cdef165d8d2b2e98dde39547c9daac7282 # v2
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')'
with:
deno-version: canary
- uses: dsherret/rust-toolchain-file@3551321aa44dd44a0393eb3b6bdfbc5d25ecf621 # v1
if: '(((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')) || (((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.zigbuild_glibc != '''' || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''')'
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
if: '(((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')) || (((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.zigbuild_glibc != '''' || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''')'
with:
key: "${{ matrix.target }}"
- name: Setup (Linux x86_64-musl)
if: '((((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')) || (((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.zigbuild_glibc != '''' || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''')) && matrix.target == ''x86_64-unknown-linux-musl'''
run: |-
sudo apt update
sudo apt install musl musl-dev musl-tools
rustup target add x86_64-unknown-linux-musl
- name: Setup (Linux aarch64)
if: '((((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')) || (((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.zigbuild_glibc != '''' || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''')) && matrix.target == ''aarch64-unknown-linux-gnu'''
run: |-
sudo apt update
sudo apt install gcc-aarch64-linux-gnu
rustup target add aarch64-unknown-linux-gnu
- name: Setup (Linux aarch64-musl)
if: '((((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')) || (((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.zigbuild_glibc != '''' || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''')) && matrix.target == ''aarch64-unknown-linux-musl'''
run: |-
sudo apt update
sudo apt install musl musl-dev musl-tools
rustup target add aarch64-unknown-linux-musl
- name: Setup cross
if: '((((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')) || (((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.zigbuild_glibc != '''' || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''')) && matrix.cross == ''true'''
run: "cargo install cross --git https://github.com/cross-rs/cross --rev 36c0d7810ddde073f603c82d896c2a6c886ff7a4"
- name: Setup zig
uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2
if: '((((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')) || (((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.zigbuild_glibc != '''' || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''')) && matrix.zigbuild_glibc != '''''
with:
version: 0.15.1
- name: Setup cargo-zigbuild
if: '((((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')) || (((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.zigbuild_glibc != '''' || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''') || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && ((matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''') || matrix.cross == ''true'' || matrix.musl_image != '''')) || (matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'') && matrix.zigbuild_glibc != '''')) && matrix.zigbuild_glibc != '''''
run: cargo install cargo-zigbuild --locked --version 0.23.0
- name: Clippy
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')'
run: cargo clippy
- uses: dprint/check@06e1a587a762d4e06663c3e3d46afedc93d9f185 # v2
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')'
with:
cache: true
- name: Lint CI Generation
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.target == ''x86_64-unknown-linux-gnu'' && !startsWith(github.ref, ''refs/tags/'')'
run: |-
./.github/workflows/ci.ts --lint
./.github/workflows/publish.ts --lint
./.github/workflows/publish_crate_core.ts --lint
./.github/workflows/publish_crate_core-macros.ts --lint
./.github/workflows/publish_crate_dev.ts --lint
./.github/workflows/website.ts --lint
./.github/workflows/release.ts --lint
- name: Build (Debug)
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''''
env:
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
run: "cargo build -p dprint --locked --target ${{ matrix.target }}"
- name: Build zigbuild (Debug)
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.zigbuild_glibc != '''''
run: "cargo zigbuild -p dprint --locked --target ${{ matrix.target }}.${{ matrix.zigbuild_glibc }}"
- name: Check glibc requirement (Debug)
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.zigbuild_glibc != '''''
run: |-
max_glibc=$(objdump -T target/${{ matrix.target }}/debug/dprint | grep -oE 'GLIBC_[0-9]+\.[0-9]+' | sed 's/GLIBC_//' | sort -uV | tail -1)
echo "Binary requires glibc $max_glibc (max allowed: ${{ matrix.zigbuild_glibc }})"
test "$(printf '%s\n%s\n' "$max_glibc" "${{ matrix.zigbuild_glibc }}" | sort -V | tail -1)" = "${{ matrix.zigbuild_glibc }}"
- name: Build cross (Debug)
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.cross == ''true'''
run: "cross build -p dprint --locked --target ${{ matrix.target }}"
- name: Build musl image (Debug)
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.musl_image != '''''
run: |-
docker run --rm -v "$GITHUB_WORKSPACE":/home/rust/src -w /home/rust/src ${{ matrix.musl_image }} bash -c "rustup target add ${{ matrix.target }} && cargo build -p dprint --locked --target ${{ matrix.target }}"
sudo chown -R "$(id -u):$(id -g)" "$GITHUB_WORKSPACE/target"
- name: Build test plugins (Debug)
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.run_tests == ''true'' && !startsWith(github.ref, ''refs/tags/'')'
run: "${{ matrix.cargo }} build -p test-process-plugin --locked --target ${{ matrix.cargo_target }}"
- name: Test (Debug)
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.run_tests == ''true'' && !startsWith(github.ref, ''refs/tags/'')'
run: "${{ matrix.cargo }} test --locked --target ${{ matrix.cargo_target }} --all-features"
- name: Test integration
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.run_tests == ''true'' && !startsWith(github.ref, ''refs/tags/'') && matrix.target == ''x86_64-unknown-linux-gnu'''
run: "${{ matrix.cargo }} run -p dprint --locked --target ${{ matrix.cargo_target }} -- check"
- name: Build (Release)
if: 'startsWith(github.ref, ''refs/tags/'') && (matrix.run_tests == ''true'' || matrix.target == ''x86_64-apple-darwin'' || matrix.target == ''aarch64-apple-darwin'' || matrix.target == ''x86_64-pc-windows-msvc'' || matrix.target == ''aarch64-pc-windows-msvc'' || matrix.target == ''x86_64-unknown-linux-gnu'' || matrix.target == ''x86_64-unknown-linux-musl'' || matrix.target == ''aarch64-unknown-linux-gnu'' || matrix.target == ''aarch64-unknown-linux-musl'' || matrix.target == ''riscv64gc-unknown-linux-gnu'' || matrix.target == ''loongarch64-unknown-linux-gnu'' || matrix.target == ''loongarch64-unknown-linux-musl'' || matrix.target == ''powerpc64le-unknown-linux-gnu'' || matrix.target == ''powerpc64le-unknown-linux-musl'' || matrix.target == ''aarch64-linux-android'' || matrix.target == ''x86_64-linux-android'') && matrix.cross != ''true'' && matrix.musl_image == '''' && matrix.zigbuild_glibc == '''''
env:
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
run: "cargo build -p dprint --locked --target ${{ matrix.target }} --release"
- name: Build cross (Release)
if: 'startsWith(github.ref, ''refs/tags/'') && (matrix.run_tests == ''true'' || matrix.target == ''x86_64-apple-darwin'' || matrix.target == ''aarch64-apple-darwin'' || matrix.target == ''x86_64-pc-windows-msvc'' || matrix.target == ''aarch64-pc-windows-msvc'' || matrix.target == ''x86_64-unknown-linux-gnu'' || matrix.target == ''x86_64-unknown-linux-musl'' || matrix.target == ''aarch64-unknown-linux-gnu'' || matrix.target == ''aarch64-unknown-linux-musl'' || matrix.target == ''riscv64gc-unknown-linux-gnu'' || matrix.target == ''loongarch64-unknown-linux-gnu'' || matrix.target == ''loongarch64-unknown-linux-musl'' || matrix.target == ''powerpc64le-unknown-linux-gnu'' || matrix.target == ''powerpc64le-unknown-linux-musl'' || matrix.target == ''aarch64-linux-android'' || matrix.target == ''x86_64-linux-android'') && matrix.cross == ''true'''
run: "cross build -p dprint --locked --target ${{ matrix.target }} --release"
- name: Build musl image (Release)
if: 'startsWith(github.ref, ''refs/tags/'') && (matrix.run_tests == ''true'' || matrix.target == ''x86_64-apple-darwin'' || matrix.target == ''aarch64-apple-darwin'' || matrix.target == ''x86_64-pc-windows-msvc'' || matrix.target == ''aarch64-pc-windows-msvc'' || matrix.target == ''x86_64-unknown-linux-gnu'' || matrix.target == ''x86_64-unknown-linux-musl'' || matrix.target == ''aarch64-unknown-linux-gnu'' || matrix.target == ''aarch64-unknown-linux-musl'' || matrix.target == ''riscv64gc-unknown-linux-gnu'' || matrix.target == ''loongarch64-unknown-linux-gnu'' || matrix.target == ''loongarch64-unknown-linux-musl'' || matrix.target == ''powerpc64le-unknown-linux-gnu'' || matrix.target == ''powerpc64le-unknown-linux-musl'' || matrix.target == ''aarch64-linux-android'' || matrix.target == ''x86_64-linux-android'') && matrix.musl_image != '''''
run: |-
docker run --rm -v "$GITHUB_WORKSPACE":/home/rust/src -w /home/rust/src ${{ matrix.musl_image }} bash -c "rustup target add ${{ matrix.target }} && cargo build -p dprint --locked --target ${{ matrix.target }} --release"
sudo chown -R "$(id -u):$(id -g)" "$GITHUB_WORKSPACE/target"
- name: Build test plugins (Release)
if: 'matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'')'
run: "${{ matrix.cargo }} build -p test-process-plugin --locked --target ${{ matrix.cargo_target }} --release"
- name: Test (Release)
if: 'matrix.run_tests == ''true'' && startsWith(github.ref, ''refs/tags/'')'
run: "${{ matrix.cargo }} test --locked --target ${{ matrix.cargo_target }} --all-features --release"
- name: Build zigbuild (Release)
if: 'startsWith(github.ref, ''refs/tags/'') && (matrix.target == ''x86_64-apple-darwin'' || matrix.target == ''aarch64-apple-darwin'' || matrix.target == ''x86_64-pc-windows-msvc'' || matrix.target == ''aarch64-pc-windows-msvc'' || matrix.target == ''x86_64-unknown-linux-gnu'' || matrix.target == ''x86_64-unknown-linux-musl'' || matrix.target == ''aarch64-unknown-linux-gnu'' || matrix.target == ''aarch64-unknown-linux-musl'' || matrix.target == ''riscv64gc-unknown-linux-gnu'' || matrix.target == ''loongarch64-unknown-linux-gnu'' || matrix.target == ''loongarch64-unknown-linux-musl'' || matrix.target == ''powerpc64le-unknown-linux-gnu'' || matrix.target == ''powerpc64le-unknown-linux-musl'' || matrix.target == ''aarch64-linux-android'' || matrix.target == ''x86_64-linux-android'') && matrix.zigbuild_glibc != '''''
run: "cargo zigbuild -p dprint --locked --target ${{ matrix.target }}.${{ matrix.zigbuild_glibc }} --release"
- name: Check glibc requirement (Release)
if: 'startsWith(github.ref, ''refs/tags/'') && (matrix.target == ''x86_64-apple-darwin'' || matrix.target == ''aarch64-apple-darwin'' || matrix.target == ''x86_64-pc-windows-msvc'' || matrix.target == ''aarch64-pc-windows-msvc'' || matrix.target == ''x86_64-unknown-linux-gnu'' || matrix.target == ''x86_64-unknown-linux-musl'' || matrix.target == ''aarch64-unknown-linux-gnu'' || matrix.target == ''aarch64-unknown-linux-musl'' || matrix.target == ''riscv64gc-unknown-linux-gnu'' || matrix.target == ''loongarch64-unknown-linux-gnu'' || matrix.target == ''loongarch64-unknown-linux-musl'' || matrix.target == ''powerpc64le-unknown-linux-gnu'' || matrix.target == ''powerpc64le-unknown-linux-musl'' || matrix.target == ''aarch64-linux-android'' || matrix.target == ''x86_64-linux-android'') && matrix.zigbuild_glibc != '''''
run: |-
max_glibc=$(objdump -T target/${{ matrix.target }}/release/dprint | grep -oE 'GLIBC_[0-9]+\.[0-9]+' | sed 's/GLIBC_//' | sort -uV | tail -1)
echo "Binary requires glibc $max_glibc (max allowed: ${{ matrix.zigbuild_glibc }})"
test "$(printf '%s\n%s\n' "$max_glibc" "${{ matrix.zigbuild_glibc }}" | sort -V | tail -1)" = "${{ matrix.zigbuild_glibc }}"
- name: Pre-release (x86_64-apple-darwin)
id: pre_release_x86_64_apple_darwin
if: 'matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/x86_64-apple-darwin/release
zip -r dprint-x86_64-apple-darwin.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-x86_64-apple-darwin.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (x86_64-apple-darwin)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''x86_64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: x86_64-apple-darwin-artifacts
path: target/x86_64-apple-darwin/release/dprint-x86_64-apple-darwin.zip
- name: Pre-release (aarch64-apple-darwin)
id: pre_release_aarch64_apple_darwin
if: 'matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/aarch64-apple-darwin/release
zip -r dprint-aarch64-apple-darwin.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-aarch64-apple-darwin.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (aarch64-apple-darwin)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''aarch64-apple-darwin'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: aarch64-apple-darwin-artifacts
path: target/aarch64-apple-darwin/release/dprint-aarch64-apple-darwin.zip
- name: Create installer (Windows x86_64)
uses: joncloud/makensis-action@17c8b36ed8d0f7c6781259241b8be151657bf739 # v2.0
if: 'matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'')'
with:
script-file: "${{ github.workspace }}/deployment/installer/dprint-installer.nsi"
- name: Pre-release (x86_64-pc-windows-msvc)
id: pre_release_x86_64_pc_windows_msvc
if: 'matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
(cd target/x86_64-pc-windows-msvc/release && 7z a -mx9 dprint-x86_64-pc-windows-msvc.zip dprint.exe)
echo "ZIP_CHECKSUM=$(sha256sum target/x86_64-pc-windows-msvc/release/dprint-x86_64-pc-windows-msvc.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
mv deployment/installer/dprint-x86_64-pc-windows-msvc-installer.exe target/x86_64-pc-windows-msvc/release/dprint-x86_64-pc-windows-msvc-installer.exe
echo "INSTALLER_CHECKSUM=$(sha256sum target/x86_64-pc-windows-msvc/release/dprint-x86_64-pc-windows-msvc-installer.exe | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (x86_64-pc-windows-msvc)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''x86_64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: x86_64-pc-windows-msvc-artifacts
path: |-
target/x86_64-pc-windows-msvc/release/dprint-x86_64-pc-windows-msvc.zip
target/x86_64-pc-windows-msvc/release/dprint-x86_64-pc-windows-msvc-installer.exe
- name: Pre-release (aarch64-pc-windows-msvc)
id: pre_release_aarch64_pc_windows_msvc
if: 'matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
(cd target/aarch64-pc-windows-msvc/release && 7z a -mx9 dprint-aarch64-pc-windows-msvc.zip dprint.exe)
echo "ZIP_CHECKSUM=$(sha256sum target/aarch64-pc-windows-msvc/release/dprint-aarch64-pc-windows-msvc.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (aarch64-pc-windows-msvc)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''aarch64-pc-windows-msvc'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: aarch64-pc-windows-msvc-artifacts
path: target/aarch64-pc-windows-msvc/release/dprint-aarch64-pc-windows-msvc.zip
- name: Pre-release (x86_64-unknown-linux-gnu)
id: pre_release_x86_64_unknown_linux_gnu
if: 'matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/x86_64-unknown-linux-gnu/release
zip -r dprint-x86_64-unknown-linux-gnu.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-x86_64-unknown-linux-gnu.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (x86_64-unknown-linux-gnu)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''x86_64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: x86_64-unknown-linux-gnu-artifacts
path: target/x86_64-unknown-linux-gnu/release/dprint-x86_64-unknown-linux-gnu.zip
- name: Pre-release (x86_64-unknown-linux-musl)
id: pre_release_x86_64_unknown_linux_musl
if: 'matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/x86_64-unknown-linux-musl/release
zip -r dprint-x86_64-unknown-linux-musl.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-x86_64-unknown-linux-musl.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (x86_64-unknown-linux-musl)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''x86_64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: x86_64-unknown-linux-musl-artifacts
path: target/x86_64-unknown-linux-musl/release/dprint-x86_64-unknown-linux-musl.zip
- name: Pre-release (aarch64-unknown-linux-gnu)
id: pre_release_aarch64_unknown_linux_gnu
if: 'matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/aarch64-unknown-linux-gnu/release
zip -r dprint-aarch64-unknown-linux-gnu.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-aarch64-unknown-linux-gnu.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (aarch64-unknown-linux-gnu)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''aarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: aarch64-unknown-linux-gnu-artifacts
path: target/aarch64-unknown-linux-gnu/release/dprint-aarch64-unknown-linux-gnu.zip
- name: Pre-release (aarch64-unknown-linux-musl)
id: pre_release_aarch64_unknown_linux_musl
if: 'matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/aarch64-unknown-linux-musl/release
zip -r dprint-aarch64-unknown-linux-musl.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-aarch64-unknown-linux-musl.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (aarch64-unknown-linux-musl)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''aarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: aarch64-unknown-linux-musl-artifacts
path: target/aarch64-unknown-linux-musl/release/dprint-aarch64-unknown-linux-musl.zip
- name: Pre-release (riscv64gc-unknown-linux-gnu)
id: pre_release_riscv64gc_unknown_linux_gnu
if: 'matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/riscv64gc-unknown-linux-gnu/release
zip -r dprint-riscv64gc-unknown-linux-gnu.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-riscv64gc-unknown-linux-gnu.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (riscv64gc-unknown-linux-gnu)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''riscv64gc-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: riscv64gc-unknown-linux-gnu-artifacts
path: target/riscv64gc-unknown-linux-gnu/release/dprint-riscv64gc-unknown-linux-gnu.zip
- name: Pre-release (loongarch64-unknown-linux-gnu)
id: pre_release_loongarch64_unknown_linux_gnu
if: 'matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/loongarch64-unknown-linux-gnu/release
zip -r dprint-loongarch64-unknown-linux-gnu.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-loongarch64-unknown-linux-gnu.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (loongarch64-unknown-linux-gnu)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''loongarch64-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: loongarch64-unknown-linux-gnu-artifacts
path: target/loongarch64-unknown-linux-gnu/release/dprint-loongarch64-unknown-linux-gnu.zip
- name: Pre-release (loongarch64-unknown-linux-musl)
id: pre_release_loongarch64_unknown_linux_musl
if: 'matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/loongarch64-unknown-linux-musl/release
zip -r dprint-loongarch64-unknown-linux-musl.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-loongarch64-unknown-linux-musl.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (loongarch64-unknown-linux-musl)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''loongarch64-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: loongarch64-unknown-linux-musl-artifacts
path: target/loongarch64-unknown-linux-musl/release/dprint-loongarch64-unknown-linux-musl.zip
- name: Pre-release (powerpc64le-unknown-linux-gnu)
id: pre_release_powerpc64le_unknown_linux_gnu
if: 'matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/powerpc64le-unknown-linux-gnu/release
zip -r dprint-powerpc64le-unknown-linux-gnu.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-powerpc64le-unknown-linux-gnu.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (powerpc64le-unknown-linux-gnu)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''powerpc64le-unknown-linux-gnu'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: powerpc64le-unknown-linux-gnu-artifacts
path: target/powerpc64le-unknown-linux-gnu/release/dprint-powerpc64le-unknown-linux-gnu.zip
- name: Pre-release (powerpc64le-unknown-linux-musl)
id: pre_release_powerpc64le_unknown_linux_musl
if: 'matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/powerpc64le-unknown-linux-musl/release
zip -r dprint-powerpc64le-unknown-linux-musl.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-powerpc64le-unknown-linux-musl.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (powerpc64le-unknown-linux-musl)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''powerpc64le-unknown-linux-musl'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: powerpc64le-unknown-linux-musl-artifacts
path: target/powerpc64le-unknown-linux-musl/release/dprint-powerpc64le-unknown-linux-musl.zip
- name: Pre-release (aarch64-linux-android)
id: pre_release_aarch64_linux_android
if: 'matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/aarch64-linux-android/release
zip -r dprint-aarch64-linux-android.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-aarch64-linux-android.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (aarch64-linux-android)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''aarch64-linux-android'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: aarch64-linux-android-artifacts
path: target/aarch64-linux-android/release/dprint-aarch64-linux-android.zip
- name: Pre-release (x86_64-linux-android)
id: pre_release_x86_64_linux_android
if: 'matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'')'
run: |-
cd target/x86_64-linux-android/release
zip -r dprint-x86_64-linux-android.zip dprint
echo "ZIP_CHECKSUM=$(shasum -a 256 dprint-x86_64-linux-android.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
- name: Upload artifacts (x86_64-linux-android)
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
if: 'matrix.target == ''x86_64-linux-android'' && startsWith(github.ref, ''refs/tags/'')'
with:
name: x86_64-linux-android-artifacts
path: target/x86_64-linux-android/release/dprint-x86_64-linux-android.zip
- name: Test shell installer
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.run_tests == ''true'' && !startsWith(github.ref, ''refs/tags/'')'
run: |-
cd website/src/assets
chmod +x install.sh
./install.sh
- name: Test powershell installer (Windows)
if: '((matrix.target != ''aarch64-unknown-linux-gnu'' && matrix.target != ''aarch64-unknown-linux-musl'') || github.ref == ''refs/heads/main'' || startsWith(github.ref, ''refs/tags/'')) && matrix.run_tests == ''true'' && !startsWith(github.ref, ''refs/tags/'') && matrix.target == ''x86_64-pc-windows-msvc'''
shell: pwsh
run: |-
cd website/src/assets
./install.ps1
draft_release:
name: draft_release
needs:
- build
if: 'startsWith(github.ref, ''refs/tags/'')'
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
attestations: write
artifact-metadata: write
steps:
- name: Clone repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
- name: Generate changelog
id: changelog
run: |-
previous_tag="$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || true)"
if [ -n "$previous_tag" ]; then
echo "Collecting commits since $previous_tag"
range="$previous_tag..HEAD"
else
echo "No previous tag found -- using full history"
range=HEAD
fi
{
echo "changelog<<CHANGELOG_EOF"
git log --reverse --pretty=format:%s "$range" \
| grep -Ev '^(chore|refactor|ci)(\([^)]*\))?!?: ' \
| grep -Ev '^[0-9]+\.[0-9]+\.[0-9]+$' \
| sed 's/^/* /'
echo ""
echo "CHANGELOG_EOF"
} >> "$GITHUB_OUTPUT"
- name: Download artifacts
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
- name: Output checksums
run: |-
echo "dprint-x86_64-apple-darwin.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_APPLE_DARWIN }}"
echo "dprint-aarch64-apple-darwin.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_APPLE_DARWIN }}"
echo "dprint-x86_64-pc-windows-msvc.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_PC_WINDOWS_MSVC }}"
echo "dprint-x86_64-pc-windows-msvc-installer.exe: ${{ needs.build.outputs.INSTALLER_CHECKSUM_X86_64_PC_WINDOWS_MSVC }}"
echo "dprint-aarch64-pc-windows-msvc.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_PC_WINDOWS_MSVC }}"
echo "dprint-x86_64-unknown-linux-gnu.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_UNKNOWN_LINUX_GNU }}"
echo "dprint-x86_64-unknown-linux-musl.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_UNKNOWN_LINUX_MUSL }}"
echo "dprint-aarch64-unknown-linux-gnu.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_UNKNOWN_LINUX_GNU }}"
echo "dprint-aarch64-unknown-linux-musl.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_UNKNOWN_LINUX_MUSL }}"
echo "dprint-riscv64gc-unknown-linux-gnu.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_RISCV64GC_UNKNOWN_LINUX_GNU }}"
echo "dprint-loongarch64-unknown-linux-gnu.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_LOONGARCH64_UNKNOWN_LINUX_GNU }}"
echo "dprint-loongarch64-unknown-linux-musl.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_LOONGARCH64_UNKNOWN_LINUX_MUSL }}"
echo "dprint-powerpc64le-unknown-linux-gnu.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_POWERPC64LE_UNKNOWN_LINUX_GNU }}"
echo "dprint-powerpc64le-unknown-linux-musl.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_POWERPC64LE_UNKNOWN_LINUX_MUSL }}"
echo "dprint-aarch64-linux-android.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_LINUX_ANDROID }}"
echo "dprint-x86_64-linux-android.zip: ${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_LINUX_ANDROID }}"
- name: Create SHASUMS256.txt file
run: |-
echo "${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_APPLE_DARWIN }} dprint-x86_64-apple-darwin.zip" > SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_APPLE_DARWIN }} dprint-aarch64-apple-darwin.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_PC_WINDOWS_MSVC }} dprint-x86_64-pc-windows-msvc.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.INSTALLER_CHECKSUM_X86_64_PC_WINDOWS_MSVC }} dprint-x86_64-pc-windows-msvc-installer.exe" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_PC_WINDOWS_MSVC }} dprint-aarch64-pc-windows-msvc.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_UNKNOWN_LINUX_GNU }} dprint-x86_64-unknown-linux-gnu.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_UNKNOWN_LINUX_MUSL }} dprint-x86_64-unknown-linux-musl.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_UNKNOWN_LINUX_GNU }} dprint-aarch64-unknown-linux-gnu.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_UNKNOWN_LINUX_MUSL }} dprint-aarch64-unknown-linux-musl.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_RISCV64GC_UNKNOWN_LINUX_GNU }} dprint-riscv64gc-unknown-linux-gnu.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_LOONGARCH64_UNKNOWN_LINUX_GNU }} dprint-loongarch64-unknown-linux-gnu.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_LOONGARCH64_UNKNOWN_LINUX_MUSL }} dprint-loongarch64-unknown-linux-musl.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_POWERPC64LE_UNKNOWN_LINUX_GNU }} dprint-powerpc64le-unknown-linux-gnu.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_POWERPC64LE_UNKNOWN_LINUX_MUSL }} dprint-powerpc64le-unknown-linux-musl.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_LINUX_ANDROID }} dprint-aarch64-linux-android.zip" >> SHASUMS256.txt
echo "${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_LINUX_ANDROID }} dprint-x86_64-linux-android.zip" >> SHASUMS256.txt
- name: Generate artifact attestations
uses: actions/attest-build-provenance@4d101475d8b20a2381f78447822ac1eab6504dd8 # v4
with:
subject-checksums: SHASUMS256.txt
- name: Draft release
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
with:
files: |-
x86_64-apple-darwin-artifacts/dprint-x86_64-apple-darwin.zip
aarch64-apple-darwin-artifacts/dprint-aarch64-apple-darwin.zip
x86_64-pc-windows-msvc-artifacts/dprint-x86_64-pc-windows-msvc.zip
x86_64-pc-windows-msvc-artifacts/dprint-x86_64-pc-windows-msvc-installer.exe
aarch64-pc-windows-msvc-artifacts/dprint-aarch64-pc-windows-msvc.zip
x86_64-unknown-linux-gnu-artifacts/dprint-x86_64-unknown-linux-gnu.zip
x86_64-unknown-linux-musl-artifacts/dprint-x86_64-unknown-linux-musl.zip
aarch64-unknown-linux-gnu-artifacts/dprint-aarch64-unknown-linux-gnu.zip
aarch64-unknown-linux-musl-artifacts/dprint-aarch64-unknown-linux-musl.zip
riscv64gc-unknown-linux-gnu-artifacts/dprint-riscv64gc-unknown-linux-gnu.zip
loongarch64-unknown-linux-gnu-artifacts/dprint-loongarch64-unknown-linux-gnu.zip
loongarch64-unknown-linux-musl-artifacts/dprint-loongarch64-unknown-linux-musl.zip
powerpc64le-unknown-linux-gnu-artifacts/dprint-powerpc64le-unknown-linux-gnu.zip
powerpc64le-unknown-linux-musl-artifacts/dprint-powerpc64le-unknown-linux-musl.zip
aarch64-linux-android-artifacts/dprint-aarch64-linux-android.zip
x86_64-linux-android-artifacts/dprint-x86_64-linux-android.zip
SHASUMS256.txt
body: |
## Changes
${{ steps.changelog.outputs.changelog }}
## Install
Run `dprint upgrade` or see https://dprint.dev/install/
## Verification
These artifacts have [build provenance attestations](https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds).
Verify a download with the [GitHub CLI](https://cli.github.com/):
```shell
gh attestation verify dprint-x86_64-unknown-linux-gnu.zip --repo dprint/dprint
```
## Checksums
|Artifact|SHA-256 Checksum|
|:--|:--|
|dprint-x86_64-apple-darwin.zip|${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_APPLE_DARWIN }}|
|dprint-aarch64-apple-darwin.zip|${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_APPLE_DARWIN }}|
|dprint-x86_64-pc-windows-msvc.zip|${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_PC_WINDOWS_MSVC }}|
|dprint-x86_64-pc-windows-msvc-installer.exe|${{ needs.build.outputs.INSTALLER_CHECKSUM_X86_64_PC_WINDOWS_MSVC }}|
|dprint-aarch64-pc-windows-msvc.zip|${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_PC_WINDOWS_MSVC }}|
|dprint-x86_64-unknown-linux-gnu.zip|${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_UNKNOWN_LINUX_GNU }}|
|dprint-x86_64-unknown-linux-musl.zip|${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_UNKNOWN_LINUX_MUSL }}|
|dprint-aarch64-unknown-linux-gnu.zip|${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_UNKNOWN_LINUX_GNU }}|
|dprint-aarch64-unknown-linux-musl.zip|${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_UNKNOWN_LINUX_MUSL }}|
|dprint-riscv64gc-unknown-linux-gnu.zip|${{ needs.build.outputs.ZIP_CHECKSUM_RISCV64GC_UNKNOWN_LINUX_GNU }}|
|dprint-loongarch64-unknown-linux-gnu.zip|${{ needs.build.outputs.ZIP_CHECKSUM_LOONGARCH64_UNKNOWN_LINUX_GNU }}|
|dprint-loongarch64-unknown-linux-musl.zip|${{ needs.build.outputs.ZIP_CHECKSUM_LOONGARCH64_UNKNOWN_LINUX_MUSL }}|
|dprint-powerpc64le-unknown-linux-gnu.zip|${{ needs.build.outputs.ZIP_CHECKSUM_POWERPC64LE_UNKNOWN_LINUX_GNU }}|
|dprint-powerpc64le-unknown-linux-musl.zip|${{ needs.build.outputs.ZIP_CHECKSUM_POWERPC64LE_UNKNOWN_LINUX_MUSL }}|
|dprint-aarch64-linux-android.zip|${{ needs.build.outputs.ZIP_CHECKSUM_AARCH64_LINUX_ANDROID }}|
|dprint-x86_64-linux-android.zip|${{ needs.build.outputs.ZIP_CHECKSUM_X86_64_LINUX_ANDROID }}|
draft: true