Skip to content

wip

wip #2600

Workflow file for this run

name: CI
permissions:
contents: read
on:
pull_request:
push:
branches:
- main
- dev
schedule:
- cron: '0 1 * * *'
workflow_dispatch:
env:
CARGO_INCREMENTAL: 0
CARGO_NET_GIT_FETCH_WITH_CLI: true
CARGO_NET_RETRY: 10
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
RUST_TEST_THREADS: 1
RUSTFLAGS: -D warnings
RUSTUP_MAX_RETRIES: 10
defaults:
run:
shell: bash
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
# deny:
# uses: taiki-e/workflows/.github/workflows/deny.yml@main
# msrv:
# uses: taiki-e/workflows/.github/workflows/msrv.yml@main
# with:
# event_name: ${{ github.event_name }}
# tidy:
# uses: taiki-e/workflows/.github/workflows/tidy.yml@main
# test:
# strategy:
# fail-fast: false
# matrix:
# include:
# - rust: stable
# - rust: beta
# - rust: nightly
# - rust: nightly
# os: macos-11
# - rust: nightly
# os: windows-2019
# runs-on: ${{ matrix.os || 'ubuntu-20.04' }}
# timeout-minutes: 60
# steps:
# - uses: actions/checkout@v4
# with:
# persist-credentials: false
# - name: Install Rust
# run: rustup toolchain add ${{ matrix.rust }} --no-self-update && rustup default ${{ matrix.rust }}
# - run: rustup toolchain add nightly --no-self-update
# - run: echo "RUSTFLAGS=${RUSTFLAGS} -C target-feature=+crt-static" >>"${GITHUB_ENV}"
# if: startsWith(matrix.os, 'windows')
# - run: cargo test --workspace --all-features
# - run: |
# set -euxo pipefail
# cargo install --path . --debug
# cd tests/fixtures/real
# cargo hack check --feature-powerset --workspace
# cargo uninstall cargo-hack
# - uses: taiki-e/install-action@cargo-hack
# - uses: taiki-e/install-action@cargo-minimal-versions
# - run: cargo hack build --workspace --no-private --feature-powerset --no-dev-deps
# - run: cargo minimal-versions build --workspace --no-private --all-features
# build:
# name: build (${{ matrix.target }})
# strategy:
# fail-fast: false
# matrix:
# # When updating this list, the reminder to update the target list in release.yml.
# include:
# - target: aarch64-unknown-linux-gnu
# - target: aarch64-unknown-linux-musl
# - target: aarch64-apple-darwin
# os: macos-11
# - target: aarch64-pc-windows-msvc
# os: windows-2019
# - target: x86_64-unknown-linux-gnu
# - target: x86_64-unknown-linux-musl
# - target: x86_64-apple-darwin
# os: macos-11
# - target: x86_64-pc-windows-msvc
# os: windows-2019
# - target: x86_64-unknown-freebsd
# runs-on: ${{ matrix.os || 'ubuntu-20.04' }}
# timeout-minutes: 60
# steps:
# - uses: actions/checkout@v4
# with:
# persist-credentials: false
# - name: Install Rust
# run: rustup update stable --no-self-update
# - uses: taiki-e/setup-cross-toolchain-action@v1
# with:
# target: ${{ matrix.target }}
# - run: echo "RUSTFLAGS=${RUSTFLAGS} -C target-feature=+crt-static" >>"${GITHUB_ENV}"
# if: endsWith(matrix.target, 'windows-msvc')
# - run: cargo build --target ${{ matrix.target }}
# - run: cargo build --target ${{ matrix.target }} --release
# # For debugging
# - uses: actions/upload-artifact@v3
# with:
# name: ${{ matrix.target }}
# path: target/${{ matrix.target }}/release/cargo-hack*
# test-compat:
# name: test (1.${{ matrix.rust }})
# strategy:
# fail-fast: false
# matrix:
# rust:
# # cargo-hack is usually runnable with Cargo versions older than the Rust version required for installation.
# # When updating this, the reminder to update the minimum supported Rust version in README.md.
# - 26
# - 30
# - 31
# - 36
# - 39
# - 41
# runs-on: ubuntu-20.04
# timeout-minutes: 60
# steps:
# - uses: actions/checkout@v4
# with:
# persist-credentials: false
# - name: Install Rust
# run: rustup toolchain add nightly --no-self-update && rustup default nightly
# - run: CARGO_HACK_TEST_TOOLCHAIN=${{ matrix.rust }} cargo test --workspace --all-features
# # Remove stable toolchain to disable https://github.com/taiki-e/cargo-hack/pull/138's behavior.
# - run: rustup toolchain remove stable
# - run: CARGO_HACK_TEST_TOOLCHAIN=${{ matrix.rust }} cargo test --workspace --all-features
test-no-rustup:
name: test (no rustup)
runs-on: ubuntu-latest
timeout-minutes: 60
container: alpine:latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install Rust
run: apk --no-cache add cargo
- run: cargo test --workspace --all-features
- run: |
set -euxo pipefail
cargo install --path . --debug
cd tests/fixtures/real
cargo hack check --feature-powerset --workspace
cargo uninstall cargo-hack
# miri:
# runs-on: ubuntu-latest
# timeout-minutes: 60
# steps:
# - uses: actions/checkout@v4
# with:
# persist-credentials: false
# - name: Install Rust
# run: rustup toolchain add nightly --no-self-update --component miri && rustup default nightly
# - run: cargo miri test --workspace --all-features
# env:
# MIRIFLAGS: -Zmiri-strict-provenance -Zmiri-symbolic-alignment-check -Zmiri-disable-isolation
# RUSTDOCFLAGS: ${{ env.RUSTDOCFLAGS }} -Z randomize-layout
# RUSTFLAGS: ${{ env.RUSTFLAGS }} -Z randomize-layout