688 lines
18 KiB
YAML
688 lines
18 KiB
YAML
name: NightlyTests
|
|
on:
|
|
workflow_dispatch:
|
|
repository_dispatch:
|
|
push:
|
|
branches-ignore:
|
|
- 'main'
|
|
- 'feature'
|
|
- 'v*.*-*'
|
|
paths-ignore:
|
|
- '**'
|
|
- '!.github/workflows/NightlyTests.yml'
|
|
- '!.github/patches/duckdb-wasm/**'
|
|
pull_request:
|
|
types: [opened, reopened, ready_for_review, converted_to_draft]
|
|
paths-ignore:
|
|
- '**'
|
|
- '!.github/workflows/NightlyTests.yml'
|
|
- '!.github/patches/duckdb-wasm/**'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || '' }}-${{ github.base_ref || '' }}-${{ github.ref != 'refs/heads/main' || github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
|
DUCKDB_WASM_VERSION: "cf2048bd6d669ffa05c56d7d453e09e99de8b87e"
|
|
CCACHE_SAVE: ${{ vars.BRANCHES_TO_BE_CACHED == '' || contains(vars.BRANCHES_TO_BE_CACHED, github.ref) }}
|
|
|
|
jobs:
|
|
check-draft:
|
|
# We run all other jobs on PRs only if they are not draft PR
|
|
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- name: Preliminary checks on CI
|
|
run: echo "Event name is ${{ github.event_name }}"
|
|
|
|
linux-memory-leaks:
|
|
name: Linux Memory Leaks
|
|
needs: check-draft
|
|
runs-on: ubuntu-24.04
|
|
env:
|
|
GEN: ninja
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install Ninja
|
|
shell: bash
|
|
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: make
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: |
|
|
python3 test/memoryleak/test_memory_leaks.py
|
|
|
|
release-assert:
|
|
name: Release Assertions
|
|
runs-on: ubuntu-latest
|
|
needs: linux-memory-leaks
|
|
env:
|
|
GEN: ninja
|
|
BUILD_JEMALLOC: 1
|
|
CORE_EXTENSIONS: "icu;tpch;tpcds;fts;json;inet;httpfs"
|
|
DISABLE_SANITIZER: 1
|
|
CRASH_ON_ASSERT: 1
|
|
RUN_SLOW_VERIFIERS: 1
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build libcurl4-openssl-dev
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: UNSAFE_NUMERIC_CAST=1 make relassert
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: |
|
|
python3 scripts/run_tests_one_by_one.py build/relassert/test/unittest "*" --no-exit --timeout 1200
|
|
|
|
release-assert-osx:
|
|
name: Release Assertions OSX
|
|
runs-on: macos-latest
|
|
needs: linux-memory-leaks
|
|
env:
|
|
GEN: ninja
|
|
CORE_EXTENSIONS: "icu;tpch;tpcds;fts;json;inet;httpfs"
|
|
DISABLE_SANITIZER: 1
|
|
CRASH_ON_ASSERT: 1
|
|
RUN_SLOW_VERIFIERS: 1
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install Ninja
|
|
run: brew install ninja llvm
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: CMAKE_LLVM_PATH='/opt/homebrew/opt/llvm' UNSAFE_NUMERIC_CAST=1 make relassert
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: |
|
|
python3 scripts/run_tests_one_by_one.py build/relassert/test/unittest "*" --no-exit --timeout 1200
|
|
|
|
release-assert-osx-storage:
|
|
name: Release Assertions OSX Storage
|
|
runs-on: macos-latest
|
|
needs: linux-memory-leaks
|
|
env:
|
|
GEN: ninja
|
|
CORE_EXTENSIONS: "icu;tpch;tpcds;fts;json;inet"
|
|
DISABLE_SANITIZER: 1
|
|
CRASH_ON_ASSERT: 1
|
|
RUN_SLOW_VERIFIERS: 1
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install Ninja
|
|
run: brew install ninja
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: UNSAFE_NUMERIC_CAST=1 make relassert
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: |
|
|
python3 scripts/run_tests_one_by_one.py build/relassert/test/unittest "*" --no-exit --timeout 1200 --force-storage
|
|
|
|
smaller-binary:
|
|
name: Smaller Binary
|
|
runs-on: ubuntu-24.04
|
|
needs: linux-memory-leaks
|
|
env:
|
|
GEN: ninja
|
|
BUILD_JEMALLOC: 1
|
|
CORE_EXTENSIONS: "icu;tpch;tpcds;json"
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: SMALLER_BINARY=1 make
|
|
|
|
- name: Measure Size
|
|
shell: bash
|
|
run: ls -trlah build/release/src/libduckdb*
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: |
|
|
build/release/test/unittest "*"
|
|
|
|
release-assert-clang:
|
|
name: Release Assertions with Clang
|
|
runs-on: ubuntu-latest
|
|
needs: linux-memory-leaks
|
|
env:
|
|
CC: clang
|
|
CXX: clang++
|
|
GEN: ninja
|
|
BUILD_JEMALLOC: 1
|
|
CORE_EXTENSIONS: "icu;tpch;tpcds;fts;json;inet;httpfs"
|
|
DISABLE_SANITIZER: 1
|
|
CRASH_ON_ASSERT: 1
|
|
RUN_SLOW_VERIFIERS: 1
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build llvm libcurl4-openssl-dev
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: UNSAFE_NUMERIC_CAST=1 make relassert
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: |
|
|
python3 scripts/run_tests_one_by_one.py build/relassert/test/unittest "*" --no-exit --timeout 1200
|
|
|
|
sqllogic:
|
|
name: Sqllogic tests
|
|
runs-on: ubuntu-latest # Secondary task of this CI job is to test building duckdb on latest ubuntu
|
|
needs: linux-memory-leaks
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@v1.2.11 # Note: pinned due to GLIBC incompatibility in later releases
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
# Build is implied by 'make sqlite' that will invoke implicitly 'make release' (we make it explicit)
|
|
- name: Build
|
|
shell: bash
|
|
run: make release
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: make sqlite
|
|
|
|
storage-initialization:
|
|
name: Storage Initialization Verification
|
|
runs-on: ubuntu-22.04
|
|
needs: linux-memory-leaks
|
|
env:
|
|
CC: gcc-10
|
|
CXX: g++-10
|
|
GEN: ninja
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: make debug
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: python3 scripts/test_zero_initialize.py
|
|
|
|
extension-updating:
|
|
name: Extension updating test
|
|
runs-on: ubuntu-22.04
|
|
needs: linux-memory-leaks
|
|
env:
|
|
CC: gcc-10
|
|
CXX: g++-10
|
|
GEN: ninja
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Cleanup disk before build
|
|
run: |
|
|
echo "Disk usage before clean up:"
|
|
df -h
|
|
sudo apt-get clean
|
|
sudo rm -rf /var/lib/apt/lists/*
|
|
docker system prune -af || true
|
|
rm -rf ~/.cache
|
|
sudo rm -rf /usr/share/dotnet
|
|
sudo rm -rf /opt/ghc
|
|
sudo rm -rf "/usr/local/share/boost"
|
|
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
|
|
echo "Disk usage after clean up:"
|
|
df -h
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build
|
|
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.10'
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: pip install awscli
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: CORE_EXTENSIONS="tpch" make
|
|
|
|
- name: Start Minio
|
|
shell: bash
|
|
run: |
|
|
sudo ./scripts/install_s3_test_server.sh
|
|
./scripts/generate_presigned_url.sh
|
|
source ./scripts/run_s3_test_server.sh
|
|
source ./scripts/set_s3_test_server_variables.sh
|
|
sleep 60
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: |
|
|
./scripts/run_extension_medata_tests.sh
|
|
|
|
regression-test-memory-safety:
|
|
name: Regression Tests between safe and unsafe builds
|
|
runs-on: ubuntu-22.04
|
|
needs: linux-memory-leaks
|
|
env:
|
|
CC: gcc-10
|
|
CXX: g++-10
|
|
GEN: ninja
|
|
BUILD_BENCHMARK: 1
|
|
BUILD_JEMALLOC: 1
|
|
CORE_EXTENSIONS: "tpch;tpcds;httpfs"
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Checkout tools repo
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
path: unsafe
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: |
|
|
sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build libcurl4-openssl-dev && pip install requests
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: |
|
|
make
|
|
|
|
cd unsafe
|
|
UNSAFE_NUMERIC_CAST=1 DISABLE_MEMORY_SAFETY=1 make
|
|
|
|
- name: Set up benchmarks
|
|
shell: bash
|
|
run: |
|
|
cp -r benchmark unsafe/
|
|
|
|
- name: Regression Test Micro
|
|
if: always()
|
|
shell: bash
|
|
run: |
|
|
python scripts/regression/test_runner.py --old unsafe/build/release/benchmark/benchmark_runner --new build/release/benchmark/benchmark_runner --benchmarks .github/regression/micro.csv --verbose --threads 2
|
|
|
|
- name: Regression Test TPCH
|
|
if: always()
|
|
shell: bash
|
|
run: |
|
|
python scripts/regression/test_runner.py --old unsafe/build/release/benchmark/benchmark_runner --new build/release/benchmark/benchmark_runner --benchmarks .github/regression/tpch.csv --verbose --threads 2
|
|
|
|
- name: Regression Test TPCDS
|
|
if: always()
|
|
shell: bash
|
|
run: |
|
|
python scripts/regression/test_runner.py --old unsafe/build/release/benchmark/benchmark_runner --new build/release/benchmark/benchmark_runner --benchmarks .github/regression/tpcds.csv --verbose --threads 2
|
|
|
|
- name: Regression Test H2OAI
|
|
if: always()
|
|
shell: bash
|
|
run: |
|
|
python scripts/regression/test_runner.py --old unsafe/build/release/benchmark/benchmark_runner --new build/release/benchmark/benchmark_runner --benchmarks .github/regression/h2oai.csv --verbose --threads 2
|
|
|
|
- name: Regression Test IMDB
|
|
if: always()
|
|
shell: bash
|
|
run: |
|
|
python scripts/regression/test_runner.py --old unsafe/build/release/benchmark/benchmark_runner --new build/release/benchmark/benchmark_runner --benchmarks .github/regression/imdb.csv --verbose --threads 2
|
|
|
|
vector-and-block-sizes:
|
|
name: Tests different vector and block sizes
|
|
runs-on: ubuntu-24.04
|
|
env:
|
|
LSAN_OPTIONS: suppressions=${{ github.workspace }}/.sanitizer-leak-suppressions.txt
|
|
needs: linux-memory-leaks
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
id: build
|
|
shell: bash
|
|
env:
|
|
CORE_EXTENSIONS: "json;parquet;icu;tpch;tpcds"
|
|
GEN: ninja
|
|
STANDARD_VECTOR_SIZE: 512
|
|
run: make relassert
|
|
|
|
- name: Fast and storage tests with default and small block size
|
|
shell: bash
|
|
run: |
|
|
./build/relassert/test/unittest
|
|
./build/relassert/test/unittest "test/sql/storage/*"
|
|
./build/relassert/test/unittest --test-config test/configs/block_size_16kB.json
|
|
./build/relassert/test/unittest "test/sql/storage/*" --test-config test/configs/block_size_16kB.json
|
|
|
|
linux-debug-configs:
|
|
name: Tests different configurations with a debug build
|
|
runs-on: ubuntu-24.04
|
|
env:
|
|
LSAN_OPTIONS: suppressions=${{ github.workspace }}/.sanitizer-leak-suppressions.txt
|
|
needs: linux-memory-leaks
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
id: build
|
|
shell: bash
|
|
env:
|
|
CORE_EXTENSIONS: "json;parquet;icu;tpch;tpcds"
|
|
GEN: ninja
|
|
run: make debug
|
|
|
|
- name: test/configs/enable_verification_for_debug.json
|
|
if: (success() || failure()) && steps.build.conclusion == 'success'
|
|
shell: bash
|
|
run: |
|
|
./build/debug/test/unittest --test-config test/configs/enable_verification_for_debug.json
|
|
|
|
linux-wasm-experimental:
|
|
name: WebAssembly duckdb-wasm builds
|
|
# disable in NightlyTests
|
|
if: false
|
|
needs: check-draft
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: mymindstorm/setup-emsdk@v12
|
|
with:
|
|
version: 'latest'
|
|
|
|
- name: Setup
|
|
shell: bash
|
|
run: |
|
|
git clone https://github.com/duckdb/duckdb-wasm
|
|
cd duckdb-wasm
|
|
git checkout ${{ env.DUCKDB_WASM_VERSION }}
|
|
shopt -s nullglob
|
|
for filename in ../.github/patches/duckdb-wasm/*.patch; do
|
|
git apply $filename
|
|
done
|
|
git submodule init
|
|
git submodule update
|
|
git rm -r submodules/duckdb
|
|
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
path: duckdb-wasm/submodules/duckdb
|
|
|
|
- name: Setup
|
|
shell: bash
|
|
run: |
|
|
cd duckdb-wasm
|
|
make patch_duckdb || echo "done"
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Print version
|
|
shell: bash
|
|
run: |
|
|
emcc --version
|
|
|
|
- name: Build WebAssembly MVP
|
|
shell: bash
|
|
run: |
|
|
cd duckdb-wasm
|
|
bash scripts/wasm_build_lib.sh relsize mvp $(pwd)/submodules/duckdb
|
|
|
|
- name: Build WebAssembly EH
|
|
shell: bash
|
|
run: |
|
|
cd duckdb-wasm
|
|
bash scripts/wasm_build_lib.sh relsize eh $(pwd)/submodules/duckdb
|
|
|
|
- name: Build WebAssembly COI
|
|
shell: bash
|
|
run: |
|
|
cd duckdb-wasm
|
|
bash scripts/wasm_build_lib.sh relsize coi $(pwd)/submodules/duckdb
|
|
|
|
- name: Package
|
|
shell: bash
|
|
run: |
|
|
zip -r duckdb-wasm32.zip duckdb-wasm/packages/duckdb-wasm/src/bindings
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: duckdb-wasm32
|
|
path: |
|
|
duckdb-wasm32.zip
|
|
|
|
hash-zero:
|
|
name: Hash Zero
|
|
runs-on: ubuntu-24.04
|
|
needs: linux-memory-leaks
|
|
env:
|
|
GEN: ninja
|
|
CORE_EXTENSIONS: "icu;parquet;tpch;tpcds;fts;json;inet"
|
|
HASH_ZERO: 1
|
|
LSAN_OPTIONS: suppressions=${{ github.workspace }}/.sanitizer-leak-suppressions.txt
|
|
DUCKDB_TEST_DESCRIPTION: 'Compiled with HASH_ZERO=1. Use require no_hash_zero to skip.'
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build
|
|
|
|
- name: Setup Ccache
|
|
uses: hendrikmuhs/ccache-action@main
|
|
with:
|
|
key: ${{ github.job }}
|
|
save: ${{ env.CCACHE_SAVE }}
|
|
|
|
- name: Build
|
|
shell: bash
|
|
run: make relassert
|
|
|
|
- name: Test
|
|
shell: bash
|
|
run: build/relassert/test/unittest --test-config test/configs/hash_zero.json
|
|
|
|
codecov:
|
|
name: Code Coverage
|
|
runs-on: ubuntu-22.04
|
|
needs: linux-memory-leaks
|
|
env:
|
|
GEN: ninja
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Install
|
|
shell: bash
|
|
run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build lcov curl g++ zip
|
|
|
|
- name: Set up Python 3.9
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.9'
|
|
|
|
- name: Install pytest
|
|
run: |
|
|
python3 -m pip install pytest
|
|
|
|
- name: Check Coverage
|
|
shell: bash
|
|
continue-on-error: true
|
|
run: |
|
|
make coverage-check
|
|
|
|
- name: Create Archive
|
|
if: ${{ success() || failure() }}
|
|
shell: bash
|
|
run: |
|
|
zip -r coverage.zip coverage_html
|
|
|
|
- uses: actions/upload-artifact@v4
|
|
if: ${{ success() || failure() }}
|
|
with:
|
|
name: coverage
|
|
path: coverage.zip
|
|
if-no-files-found: error
|