Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More tests in Long Test job #6743

Merged
merged 25 commits into from
Jan 15, 2025
Merged
Changes from 17 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
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
168 changes: 168 additions & 0 deletions .github/workflows/long-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,171 @@ jobs:
build/workspace/*/err
build/workspace/*.ledger/*
if-no-files-found: ignore

long-e2e-debug:
maxtropets marked this conversation as resolved.
Show resolved Hide resolved
achamayou marked this conversation as resolved.
Show resolved Hide resolved
if: ${{ contains(github.event.pull_request.labels.*.name, 'run-long-test') || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'}}
name: Long E2E - all (Debug)
runs-on: [self-hosted, 1ES.Pool=gha-virtual-ccf-sub]
container:
image: ghcr.io/microsoft/ccf/ci/default:build-08-01-2025-2

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: "Build"
run: |
git config --global --add safe.directory /__w/CCF/CCF
mkdir build
cd build
cmake -GNinja -DCOMPILE_TARGET=virtual -DCMAKE_BUILD_TYPE=Debug -DLONG_TESTS=ON -DLVI_MITIGATIONS=OFF ..
maxtropets marked this conversation as resolved.
Show resolved Hide resolved
ninja

- name: "Test"
run: |
set +x
maxtropets marked this conversation as resolved.
Show resolved Hide resolved
cd build
./tests.sh --output-on-failure --timeout 1600 -LE "benchmark"

- name: "Upload logs"
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: logs-e2e-debug
path: |
build/workspace/*/*.config.json
build/workspace/*/out
build/workspace/*/err
build/workspace/*.ledger/*
if-no-files-found: ignore

long-e2e-release:
if: ${{ contains(github.event.pull_request.labels.*.name, 'run-long-test') || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'}}
name: Long E2E - all (Release)
runs-on: [self-hosted, 1ES.Pool=gha-virtual-ccf-sub]
container:
image: ghcr.io/microsoft/ccf/ci/default:build-08-01-2025-2

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: "Build"
run: |
git config --global --add safe.directory /__w/CCF/CCF
mkdir build
cd build
cmake -GNinja -DCOMPILE_TARGET=virtual -DCMAKE_BUILD_TYPE=Release ..
ninja

- name: "Test"
run: |
set +x
cd build
./tests.sh --output-on-failure --timeout 1600 -LE "benchmark"

- name: "Upload logs"
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: logs-e2e-release
path: |
build/workspace/*/*.config.json
build/workspace/*/out
build/workspace/*/err
build/workspace/*.ledger/*
if-no-files-found: ignore

e2e-suite-shuffled:
if: ${{ contains(github.event.pull_request.labels.*.name, 'run-long-test') || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'}}
achamayou marked this conversation as resolved.
Show resolved Hide resolved
name: Long E2E suite (Shuffled)
runs-on: [self-hosted, 1ES.Pool=gha-virtual-ccf-sub]
container:
image: ghcr.io/microsoft/ccf/ci/default:build-08-01-2025-2

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: "Build"
run: |
git config --global --add safe.directory /__w/CCF/CCF
mkdir build
cd build
cmake -GNinja -DCOMPILE_TARGET=virtual -DCMAKE_BUILD_TYPE=Debug -DLONG_TESTS=ON -DSHUFFLE_SUITE=ON ..
ninja

- name: "Test"
run: |
set +x
cd build
./tests.sh --output-on-failure --timeout 1600 -R "suite"

- name: "Upload logs"
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: logs-e2e-shuffled
path: |
build/workspace/*/*.config.json
build/workspace/*/out
build/workspace/*/err
build/workspace/*.ledger/*
if-no-files-found: ignore

long-azure-linux:
if: ${{ contains(github.event.pull_request.labels.*.name, 'run-long-test') || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'}}
name: "Azure Linux Long Test"
runs-on: [self-hosted, 1ES.Pool=gha-virtual-ccf-sub]
container:
image: mcr.microsoft.com/azurelinux/base/core:3.0
options: --user root --publish-all --cap-add NET_ADMIN --cap-add NET_RAW --cap-add SYS_PTRACE -v /lib/modules:/lib/modules:ro

steps:
- name: "Install dependencies"
run: |
set -ex
gpg --import /etc/pki/rpm-gpg/MICROSOFT-RPM-GPG-KEY
achamayou marked this conversation as resolved.
Show resolved Hide resolved
tdnf -y update
# Source control
tdnf -y install ca-certificates git
# Build tools
tdnf -y install build-essential clang cmake ninja-build which
# Dependencies
tdnf -y install openssl-devel libuv-devel nghttp2-devel
# Test dependencies
tdnf -y install libarrow-devel parquet-libs-devel lldb npm jq expect
# Install CDDL via rubygems
tdnf -y install rubygems
gem install cddl
shell: bash

- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: "Build Debug (Long Test)"
run: |
set -ex
git config --global --add safe.directory /__w/CCF/CCF
mkdir build
cd build
CC=`which clang` CXX=`which clang++` cmake -GNinja -DCOMPILE_TARGET=virtual -DCMAKE_BUILD_TYPE=Debug -DLVI_MITIGATIONS=OFF -DUSE_LIBCXX=OFF -DLONG_TEST=ON ..
maxtropets marked this conversation as resolved.
Show resolved Hide resolved
ninja
shell: bash

- name: "Test virtual (Long Test)"
run: |
set -ex
cd build
rm -rf /github/home/.cache
mkdir -p /github/home/.cache
export ASAN_SYMBOLIZER_PATH=$(realpath /usr/bin/llvm-symbolizer-15)
maxtropets marked this conversation as resolved.
Show resolved Hide resolved
# Unit tests
./tests.sh --output-on-failure -L unit -j$(nproc --all)
# All e2e tests, which are now supported on Mariner.
./tests.sh --timeout 360 --output-on-failure -LE "benchmark|lts_compatibility"
shell: bash
Loading