Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 0 additions & 52 deletions .github/workflows/benchmarks.yml

This file was deleted.

192 changes: 2 additions & 190 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,14 +118,8 @@ jobs:
rustc: beta
notest_cuda_compilers: clang++
extra_desc: cuda12.8
no_coverage: true
env:
RUST_BACKTRACE: 1
COVERAGE_REPORT_DIR: "target/debug"
COVERAGE_REPORT_FILE: "target/debug/lcov.info"
BINARY_DIR: "target/debug"
GRCOV_IGNORE_OPTION: '--ignore build.rs --ignore "/*" --ignore "[a-zA-Z]:/*"'
GRCOV_EXCLUDE_OPTION: '--excl-br-line "^\s*((debug_)?assert(_eq|_ne)?!|#\[derive\()"'
NOTEST_CUDA_COMPILERS: ${{ matrix.notest_cuda_compilers || '' }}
CARGO_PROFILE_DEV_DEBUG: '0' # save disk space
steps:
Expand All @@ -139,7 +133,6 @@ jobs:
uses: ./.github/actions/rust-toolchain
with:
toolchain: ${{ matrix.rustc }}
components: llvm-tools-preview

- if: ${{ contains(matrix.os, 'ubuntu') }}
name: Install gcc & clang for tests
Expand All @@ -164,39 +157,6 @@ jobs:
with:
cuda-version: ${{ matrix.cuda }}

- name: "`grcov` ~ install"
if: ${{ ! matrix.no_coverage }}
shell: bash
run: |
GRCOV_VERSION="0.10.7"
if [[ "$RUNNER_OS" == "Windows" ]]; then
TARGET="x86_64-pc-windows-msvc"
EXT="zip"
elif [[ "$RUNNER_OS" == "macOS" && "$RUNNER_ARCH" == "ARM64" ]]; then
TARGET="aarch64-apple-darwin"
EXT="tar.bz2"
elif [[ "$RUNNER_OS" == "macOS" ]]; then
TARGET="x86_64-apple-darwin"
EXT="tar.bz2"
else
TARGET="x86_64-unknown-linux-musl"
EXT="tar.bz2"
fi
URL="https://github.com/mozilla/grcov/releases/download/v${GRCOV_VERSION}/grcov-${TARGET}.${EXT}"
curl -sL "$URL" -o "grcov.${EXT}"
if [[ "$EXT" == "zip" ]]; then
unzip -q "grcov.${EXT}" -d "$HOME/.cargo/bin/"
else
tar -xjf "grcov.${EXT}" -C "$HOME/.cargo/bin/"
fi

- name: Create config for testing
if: ${{ ! matrix.no_coverage }}
run: |
mkdir -p .cargo
echo '[env]
LLVM_PROFILE_FILE = { value = "target/debug/coverage/default-%p-%8m.profraw", relative = true }' >> .cargo/config.toml

- if: ${{ matrix.cuda != '' && runner.os == 'Linux' }}
name: Free disk space for CUDA tests
run: |
Expand All @@ -208,45 +168,13 @@ jobs:
env:
CARGO_INCREMENTAL: "0"
RUSTC_WRAPPER: ""
RUSTFLAGS: "-Cinstrument-coverage -Ccodegen-units=1 -Copt-level=0 -Coverflow-checks=off"

- name: Upload failure
if: failure()
uses: ./.github/actions/artifact_failure
with:
name: test-${{ matrix.os }}-${{ matrix.rustc || 'stable' }}-${{ matrix.extra_desc }}

# coverage:
- name: Display coverage files
if: ${{ ! matrix.no_coverage }}
shell: bash
run:
grcov . -s . --binary-path $BINARY_DIR --output-type files $GRCOV_IGNORE_OPTION $GRCOV_EXCLUDE_OPTION | sort --unique

- name: Generate coverage data (via `grcov`)
if: ${{ ! matrix.no_coverage }}
id: coverage
shell: bash
run: |
mkdir -p "${COVERAGE_REPORT_DIR}"
grcov . -s . --binary-path $BINARY_DIR --output-type lcov --output-path "${COVERAGE_REPORT_FILE}" --branch $GRCOV_IGNORE_OPTION $GRCOV_EXCLUDE_OPTION
echo "report=${COVERAGE_REPORT_FILE}" >> $GITHUB_OUTPUT

- name: Upload coverage results (to Codecov.io)
if: ${{ ! matrix.no_coverage }}
uses: codecov/codecov-action@v5
with:
files: ${{ steps.coverage.outputs.report }}
## flags: IntegrationTests, UnitTests, ${{ steps.vars.outputs.CODECOV_FLAGS }}
flags: ${{ steps.vars.outputs.CODECOV_FLAGS }}
name: codecov-umbrella-${{ matrix.os }}-rust_${{ matrix.rustc || 'stable' }}-${{ matrix.extra_desc }}
fail_ci_if_error: true
# verbose: true
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}



build:
name: build ${{ matrix.binary || 'sccache' }} ${{ matrix.target }}
runs-on: ${{ matrix.os }}
Expand All @@ -259,16 +187,7 @@ jobs:
- os: ubuntu-22.04
target: x86_64-unknown-linux-musl
container: '{"image": "messense/rust-musl-cross:x86_64-musl"}'
- os: ubuntu-22.04
target: s390x-unknown-linux-musl
container: '{"image": "messense/rust-musl-cross:s390x-musl"}'
lto: "false"
- os: ubuntu-22.04
target: s390x-unknown-linux-gnu
- os: ubuntu-22.04
target: riscv64gc-unknown-linux-musl
container: '{"image": "messense/rust-musl-cross:riscv64gc-musl"}'
lto: "false"
# s390x, riscv64, armv7, i686 removed from Vercel fork (aws-lc-sys cross-compilation issues)
- os: ubuntu-22.04
binary: sccache-dist
extra_args: --no-default-features --features="dist-server"
Expand All @@ -277,12 +196,6 @@ jobs:
- os: ubuntu-22.04
target: aarch64-unknown-linux-musl
container: '{"image": "messense/rust-musl-cross:aarch64-musl"}'
- os: ubuntu-22.04
target: armv7-unknown-linux-musleabi
container: '{"image": "messense/rust-musl-cross:armv7-musleabi"}'
- os: ubuntu-22.04
target: i686-unknown-linux-musl
container: '{"image": "messense/rust-musl-cross:i686-musl"}'
- os: macos-14
target: aarch64-apple-darwin
macosx_deployment_target: 11.0
Expand All @@ -306,48 +219,7 @@ jobs:
target: ${{ matrix.target }}
if: ${{ !matrix.container }}

- name: Install s390x cross-compilation toolchain
if: ${{ matrix.target == 's390x-unknown-linux-gnu' }}
run: |
sudo apt-get update
sudo apt-get install -y gcc-s390x-linux-gnu g++-s390x-linux-gnu
mkdir -p .cargo
cat >> .cargo/config.toml <<EOF
[target.s390x-unknown-linux-gnu]
linker = "s390x-linux-gnu-gcc"
EOF

- name: Install rust-src for s390x-musl
if: ${{ matrix.target == 's390x-unknown-linux-musl' }}
run: |
# Remove corrupted nightly toolchain if it exists
rustup toolchain uninstall nightly || true
# Clean up any leftover files
rm -rf ~/.rustup/toolchains/nightly-* || true
# Install fresh nightly with minimal profile
rustup toolchain install nightly --profile minimal
rustup component add rust-src --toolchain nightly

- name: fix build openssl error on s390x
if: ${{ matrix.target == 's390x-unknown-linux-musl' }}
run: |
# see https://github.com/openssl/openssl/issues/27323
echo CFLAGS="-march=z10 -mzarch" >> $GITHUB_ENV
echo CXXFLAGS="$CFLAGS" >> $GITHUB_ENV
echo RUSTFLAGS="-C target-cpu=z10" >> $GITHUB_ENV

- name: Build (s390x-musl with build-std)
if: ${{ matrix.target == 's390x-unknown-linux-musl' }}
run: cargo +nightly build --locked --release --bin ${{ matrix.binary || 'sccache' }} --target ${{ matrix.target }} --features=openssl/vendored ${{ matrix.extra_args }} -Zbuild-std
env:
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }}
DEVELOPER_DIR: ${{ matrix.developer_dir }}
SDKROOT: ${{ matrix.sdkroot }}
RUSTFLAGS: ${{ env.RUSTFLAGS || matrix.rustflags }}
CARGO_PROFILE_RELEASE_LTO: ${{ matrix.lto || 'true' }}

- name: Build
if: ${{ matrix.target != 's390x-unknown-linux-musl' }}
run: cargo build --locked --release --bin ${{ matrix.binary || 'sccache' }} --target ${{ matrix.target }} --features=openssl/vendored ${{ matrix.extra_args }}
env:
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx_deployment_target }}
Expand All @@ -372,67 +244,7 @@ jobs:
if-no-files-found: error


test_freebsd:
name: test freebsd-15.0 rust stable
runs-on: ${{ matrix.job.os }}
timeout-minutes: 70
strategy:
fail-fast: false
matrix:
job:
- { os: ubuntu-22.04 }
steps:
- uses: actions/checkout@v5
- name: Prepare, build and test
uses: vmactions/freebsd-vm@v1
with:
mem: 8192
usesh: true
sync: rsync
copyback: false
prepare: pkg install -y ca_root_nss curl gmake gtar pot sudo
run: |
#####################################################################################
### Prepare, build, and test
#####################################################################################
### based on ref: <https://github.com/rust-lang/rustup/pull/2783>
### and on ref: <https://github.com/uutils/coreutils/commit/86c610a84b8b6c>
### * NOTE: All steps need to be run in this block, otherwise, we are operating back
### on the mac host.
set -exo pipefail
#
### Basic user setup ################################################################
TEST_USER=tester
TEST_USER_HOME="/opt/$TEST_USER"
REPO_NAME=${GITHUB_WORKSPACE##*/}
WORKSPACE_PARENT="/home/runner/work/${REPO_NAME}"
WORKSPACE="${WORKSPACE_PARENT}/${REPO_NAME}"
export WORKSPACE
#
mkdir -p "$TEST_USER_HOME"
pw adduser -n "$TEST_USER" -d "$TEST_USER_HOME" -c "Tester" -h -
chown -R "$TEST_USER":"$TEST_USER" "$TEST_USER_HOME"
chown -R "$TEST_USER":"$TEST_USER" "/$WORKSPACE_PARENT"/
cat > /usr/local/etc/sudoers.d/wheel<<EOF
$TEST_USER ALL=(ALL) NOPASSWD: ALL
EOF
#
### Install rust stable from rustup ################################################
su "$TEST_USER" -c "/bin/sh -exo pipefail" <<"EOH"
whoami
echo "$HOME"
fetch -o /tmp/rustup.sh https://sh.rustup.rs
sh /tmp/rustup.sh -y --profile=minimal
### Run tests #######################################################################
. "$HOME/.cargo/env"
"$WORKSPACE/scripts/freebsd-ci-test.sh"
EOH
# end
- name: Upload failure
if: failure()
uses: ./.github/actions/artifact_failure
with:
name: test-freebsd-15.0-stable
# test_freebsd removed from Vercel fork

release:
name: release
Expand Down
19 changes: 0 additions & 19 deletions .github/workflows/close-snap.yml

This file was deleted.

Loading
Loading