Skip to content

Optimize parallel TxSet building logic #34

Optimize parallel TxSet building logic

Optimize parallel TxSet building logic #34

Workflow file for this run

name: CI-private
on:
pull_request:
merge_group:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
fmt:
if: github.event.repository.visibility == 'private'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: rustup update
- run: rustup component add rustfmt
- run: cargo fmt --all --check
cargo-deny:
if: github.event.repository.visibility == 'private'
runs-on: ubuntu-24.04
strategy:
matrix:
checks:
- advisories
- bans licenses sources
# Prevent sudden announcement of a new advisory from failing ci:
continue-on-error: ${{ matrix.checks == 'advisories' }}
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@3fd3802e88374d3fe9159b834c7714ec57d6c979
with:
command: check ${{ matrix.checks }}
# leave arguments empty so we don't test --all-features
# which will see conflicting env versions
arguments:
rust-check-git-rev-deps:
if: github.event.repository.visibility == 'private'
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: stellar/actions/rust-check-git-rev-deps@main
build:
if: github.event.repository.visibility == 'private'
runs-on: ubuntu-latest-16-cores
strategy:
fail-fast: false
matrix:
toolchain: [ "gcc", "clang"]
protocol: ["current"]
steps:
- name: Fix kernel mmap rnd bits
# Asan in llvm provided in ubuntu 22.04 is incompatible with
# high-entropy ASLR in much newer kernels that GitHub runners are
# using leading to random crashes: https://reviews.llvm.org/D148280
run: sudo sysctl vm.mmap_rnd_bits=28
- uses: actions/checkout@v4
with:
fetch-depth: 200
submodules: true
- name: install core packages
run: |
sudo apt-get update
sudo apt-get -y install --no-install-recommends apt-utils dialog git iproute2 procps lsb-release
- name: install tool chain
run: |
sudo apt-get -y install libstdc++-14-dev clang-format-20 ccache lldb
if test "${{ matrix.toolchain }}" = "gcc" ; then
sudo apt-get -y install cpp-14 gcc-14 g++-14
else
sudo apt-get -y install clang-20 llvm-20 libc++-20-dev libc++abi-20-dev
fi
- name: install rustup components
run: rustup component add rustfmt
- name: install cargo-cache
run: cargo install --locked cargo-cache --version 0.8.3
- name: install cargo-sweep
run: cargo install --locked cargo-sweep --version 0.7.0
- name: install dependencies
run: sudo apt-get -y install postgresql git build-essential pkg-config autoconf automake libtool bison flex libpq-dev parallel libunwind-dev sed perl
- name: Build
run: |
if test "${{ matrix.toolchain }}" = "gcc" ; then
export CC='gcc'
export CXX='g++'
else
export CC='clang'
export CXX='clang++'
fi
echo Build with $CC and $CXX
./ci-build.sh --use-temp-db --protocol ${{ matrix.protocol }}