dep: Upgrade transitive dependencies #2971
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
workflow_dispatch: | |
workflow_call: | |
inputs: | |
additional_key: | |
required: true | |
type: string | |
default: "" | |
merge_group: | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- README.md | |
- SUPPORT.md | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref || github.event.pull_request.number || github.sha }}-${{ inputs.additional_key }} | |
cancel-in-progress: true | |
env: | |
CARGO_TERM_COLOR: always | |
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse | |
JUST_ENABLE_H3: true | |
CARGO_PROFILE_RELEASE_CODEGEN_UNITS: 4 | |
CARGO_PROFILE_DEV_CODEGEN_UNITS: 4 | |
CARGO_PROFILE_CHECK_ONLY_CODEGEN_UNITS: 4 | |
jobs: | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- target: x86_64-apple-darwin | |
os: macos-14 | |
- target: x86_64-unknown-linux-gnu | |
os: ubuntu-latest | |
- target: x86_64-pc-windows-msvc | |
os: windows-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
CARGO_BUILD_TARGET: ${{ matrix.target }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/just-setup | |
env: | |
# just-setup use binstall to install sccache, | |
# which works better when we provide it with GITHUB_TOKEN. | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- run: just test | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
cross-check: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- target: armv7-unknown-linux-musleabihf | |
os: ubuntu-latest | |
- target: armv7-unknown-linux-gnueabihf | |
os: ubuntu-latest | |
- target: aarch64-unknown-linux-musl | |
os: ubuntu-latest | |
- target: aarch64-unknown-linux-gnu | |
os: ubuntu-latest | |
- target: x86_64-unknown-linux-musl | |
os: ubuntu-latest | |
- target: aarch64-apple-darwin | |
os: macos-14 | |
- target: aarch64-pc-windows-msvc | |
os: windows-latest | |
runs-on: ${{ matrix.os }} | |
env: | |
CARGO_BUILD_TARGET: ${{ matrix.target }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Enable cargo-zigbuild | |
if: matrix.os == 'ubuntu-latest' | |
run: echo JUST_USE_CARGO_ZIGBUILD=true >> "$GITHUB_ENV" | |
- uses: ./.github/actions/just-setup | |
with: | |
tools: cargo-hack@0.6.10 | |
env: | |
# just-setup use binstall to install sccache, | |
# which works better when we provide it with GITHUB_TOKEN. | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- run: just avoid-dev-deps | |
- run: just check | |
lint: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- target: x86_64-apple-darwin | |
os: macos-14 | |
- target: x86_64-unknown-linux-gnu | |
os: ubuntu-latest | |
- target: x86_64-pc-windows-msvc | |
os: windows-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/just-setup | |
- run: just toolchain rustfmt,clippy | |
- run: just avoid-dev-deps | |
- run: just lint | |
pr-info: | |
outputs: | |
is-release: ${{ steps.meta.outputs.is-release }} | |
crate: ${{ steps.meta.outputs.crates-names }} | |
runs-on: ubuntu-latest | |
steps: | |
- id: meta | |
if: github.event_name == 'pull_request' | |
uses: cargo-bins/release-meta@v1 | |
with: | |
event-data: ${{ toJSON(github.event) }} | |
extract-notes-under: '### Release notes' | |
release-dry-run: | |
needs: pr-info | |
uses: ./.github/workflows/release-cli.yml | |
if: github.event_name != 'pull_request' || needs.pr-info.outputs.is-release == 'true' | |
secrets: inherit | |
with: | |
info: | | |
{ | |
"is-release": false, | |
"crate": "${{ needs.pr-info.outputs.crate }}", | |
"version": "0.0.0", | |
"notes": "" | |
} | |
CARGO_PROFILE_RELEASE_LTO: no | |
CARGO_PROFILE_RELEASE_CODEGEN_UNITS: 4 | |
detect-targets-build: | |
runs-on: ubuntu-latest | |
env: | |
CARGO_BUILD_TARGET: x86_64-unknown-linux-musl | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install ${{ env.CARGO_BUILD_TARGET }} target | |
run: | | |
rustup target add $CARGO_BUILD_TARGET | |
pip3 install -r zigbuild-requirements.txt | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-all-crates: true | |
- name: Build detect-targets | |
run: | | |
cargo zigbuild --features cli-logging --target $CARGO_BUILD_TARGET | |
# Set working directory here, otherwise `cargo-zigbuild` would download | |
# and build quite a few unused dependencies. | |
working-directory: crates/detect-targets | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: detect-targets | |
path: target/${{ env.CARGO_BUILD_TARGET }}/debug/detect-targets | |
detect-targets-alpine-test: | |
runs-on: ubuntu-latest | |
needs: detect-targets-build | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: detect-targets | |
- run: chmod +x detect-targets | |
- name: Run test in alpine | |
run: | | |
docker run --rm \ | |
--mount src="$PWD/detect-targets",dst=/usr/local/bin/detect-targets,type=bind \ | |
--mount src="$PWD/.github/scripts/test-detect-targets-musl.sh",dst=/usr/local/bin/test.sh,type=bind \ | |
alpine /bin/ash -c "apk update && apk add bash && test.sh x86_64-unknown-linux-musl" | |
detect-targets-ubuntu-test: | |
needs: detect-targets-build | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-20.04 | |
- ubuntu-latest | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: detect-targets | |
- run: chmod +x detect-targets | |
- name: Run test in ubuntu | |
run: | | |
set -exuo pipefail | |
[ "$(./detect-targets)" = "$(printf 'x86_64-unknown-linux-gnu\nx86_64-unknown-linux-musl')" ] | |
detect-targets-more-glibc-test: | |
needs: detect-targets-build | |
strategy: | |
fail-fast: false | |
matrix: | |
container: | |
- archlinux | |
- fedora:37 | |
- fedora:38 | |
- fedora:39 | |
- fedora | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: detect-targets | |
- run: chmod +x detect-targets | |
- name: Run test | |
run: | | |
set -exuo pipefail | |
[ "$(docker run --rm \ | |
--mount src="$PWD/detect-targets",dst=/usr/local/bin/detect-targets,type=bind \ | |
${{ matrix.container }} detect-targets )" = "$(printf 'x86_64-unknown-linux-gnu\nx86_64-unknown-linux-musl')" ] | |
detect-targets-nix-test: | |
needs: detect-targets-build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: detect-targets | |
- run: chmod +x detect-targets | |
- name: Run test | |
run: | | |
set -exuo pipefail | |
[ "$(docker run --rm \ | |
--mount src="$PWD/detect-targets",dst=/detect-targets,type=bind \ | |
nixos/nix /detect-targets )" = x86_64-unknown-linux-musl ] | |
detect-targets-android-check: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- target: aarch64-linux-android | |
runs-on: ubuntu-latest | |
env: | |
CARGO_BUILD_TARGET: ${{ matrix.target }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Add ${{ matrix.target }} | |
run: rustup target add ${{ matrix.target }} | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-all-crates: true | |
- name: Build detect-targets | |
run: | | |
cargo check --target ${{ matrix.target }} | |
# Set working directory here, otherwise `cargo-check` would download | |
# and build quite a few unused dependencies. | |
working-directory: crates/detect-targets | |
# Dummy job to have a stable name for the "all tests pass" requirement | |
tests-pass: | |
name: Tests pass | |
needs: | |
- test | |
- cross-check | |
- lint | |
- release-dry-run | |
- detect-targets-build | |
- detect-targets-alpine-test | |
- detect-targets-ubuntu-test | |
- detect-targets-more-glibc-test | |
- detect-targets-nix-test | |
- detect-targets-android-check | |
if: always() # always run even if dependencies fail | |
runs-on: ubuntu-latest | |
steps: | |
# fail if ANY dependency has failed or cancelled | |
- if: "contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')" | |
run: exit 1 | |
- run: exit 0 |