[skip-ci] build: Fix MUSL performance issues via mimalloc #118
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
push: | |
branches: | |
- github-ci* | |
jobs: | |
debug: | |
name: Debug | |
if: "!contains(github.event.head_commit.message, '[skip-ci]')" | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Restore local cache | |
uses: actions/cache/restore@v4 | |
with: | |
path: ~/.cache/just | |
key: tests-${{ runner.os }}-debug | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Run and prepare docker image | |
run: | | |
docker run -it -d --name ubuntu \ | |
-v $GITHUB_WORKSPACE:/workspace \ | |
-v ~/.cache/just:/root/.cache/just \ | |
-w /workspace ubuntu:20.04 | |
docker exec ubuntu bash -c "\ | |
set -e; \ | |
apt update; \ | |
apt install --yes git jq curl wget clang libstdc++-10-dev patch; \ | |
git config --global --add safe.directory /workspace; \ | |
git config --global --add safe.directory /root/.cache/just/git; \ | |
export PREFIX=/usr/local; \ | |
./.github/install-just.sh" | |
- name: Run all tests in native mode | |
run: | | |
docker exec ubuntu bash -c "\ | |
set -e; \ | |
echo '{\"DEBUG\":true,\"TEST_ENV\":{},\"DROP_LARGE_TESTS\":true}' > debug-native.conf; \ | |
just-mr --main 'just tests' build -c debug-native.conf ALL" | |
- name: Run all tests in compatible mode | |
run: | | |
docker exec ubuntu bash -c "\ | |
set -e; \ | |
echo '{\"DEBUG\":true,\"TEST_ENV\":{\"COMPATIBLE\":\"YES\"},\"DROP_LARGE_TESTS\":true}' > debug-compat.conf; \ | |
just-mr --main 'just tests' build -c debug-compat.conf ALL" | |
- name: Run garbage collector and clean cache | |
run: | | |
docker exec ubuntu bash -c "set -e; just gc" | |
gh extension install actions/gh-actions-cache | |
if [ -n "$(gh actions-cache list -R ${GITHUB_REPOSITORY} -B ${GITHUB_REF} --key 'tests-${{ runner.os }}-debug')" ]; then | |
gh actions-cache delete "tests-${{ runner.os }}-debug" -R ${GITHUB_REPOSITORY} -B ${GITHUB_REF} --confirm | |
fi | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Store local cache | |
uses: actions/cache/save@v4 | |
if: ${{ !cancelled() }} | |
with: | |
path: ~/.cache/just | |
key: tests-${{ runner.os }}-debug | |
release: | |
name: Release | |
if: "!contains(github.event.head_commit.message, '[skip-ci]')" | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Restore local cache | |
uses: actions/cache/restore@v4 | |
with: | |
path: ~/.cache/just | |
key: tests-${{ runner.os }}-release | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Run and prepare docker image | |
run: | | |
docker run -it -d --name ubuntu \ | |
-v $GITHUB_WORKSPACE:/workspace \ | |
-v ~/.cache/just:/root/.cache/just \ | |
-w /workspace ubuntu:20.04 | |
docker exec ubuntu bash -c "\ | |
set -e; \ | |
apt update; \ | |
apt install --yes git jq curl wget clang libstdc++-10-dev patch; \ | |
git config --global --add safe.directory /workspace; \ | |
git config --global --add safe.directory /root/.cache/just/git; \ | |
export PREFIX=/usr/local; \ | |
./.github/install-just.sh" | |
- name: Run all tests in native mode | |
run: | | |
docker exec ubuntu bash -c "\ | |
set -e; \ | |
echo '{\"DEBUG\":false,\"TEST_ENV\":{},\"DROP_LARGE_TESTS\":true}' > release-native.conf; \ | |
just-mr --main 'just tests' build -c release-native.conf ALL" | |
- name: Run all tests in compatible mode | |
run: | | |
docker exec ubuntu bash -c "\ | |
set -e; \ | |
echo '{\"DEBUG\":false,\"TEST_ENV\":{\"COMPATIBLE\":\"YES\"},\"DROP_LARGE_TESTS\":true}' > release-compat.conf; \ | |
just-mr --main 'just tests' build -c release-compat.conf ALL" | |
- name: Run garbage collector and clean cache | |
run: | | |
docker exec ubuntu bash -c "set -e; just gc" | |
gh extension install actions/gh-actions-cache | |
if [ -n "$(gh actions-cache list -R ${GITHUB_REPOSITORY} -B ${GITHUB_REF} --key 'tests-${{ runner.os }}-release')" ]; then | |
gh actions-cache delete "tests-${{ runner.os }}-release" -R ${GITHUB_REPOSITORY} -B ${GITHUB_REF} --confirm | |
fi | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Store local cache | |
uses: actions/cache/save@v4 | |
if: ${{ !cancelled() }} | |
with: | |
path: ~/.cache/just | |
key: tests-${{ runner.os }}-release | |