Skip to content

ci: get sanitizer results #4278

ci: get sanitizer results

ci: get sanitizer results #4278

Workflow file for this run

name: Spread
on:
push:
branches:
- main
- release/[0-9]+.[0-9]+
tags:
- v[0-9]+[0-9]+.[0-9]+
merge_group:
types: [checks_requested]
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
concurrency:
group: ${{ github.workflow }}-${{ github.event.number && format('pr{0}', github.event.number) || github.run_id }}
cancel-in-progress: true
jobs:
BuildAndTest:
strategy:
fail-fast: false
matrix:
spread-task:
- lxd:alpine-3.18:spread/build/alpine:amd64
- lxd:alpine-edge:spread/build/alpine:amd64
- lxd:ubuntu-22.04:spread/build/sbuild:debian_sid
- lxd:ubuntu-22.04:spread/build/sbuild:ubuntu
- lxd:ubuntu-22.04:spread/build/sbuild:ubuntu_lunar
- lxd:ubuntu-22.04:spread/build/sbuild:ubuntu_arm64
- lxd:ubuntu-22.04:spread/build/sbuild:ubuntu_armhf
- lxd:ubuntu-22.04:spread/build/ubuntu:clang
- lxd:fedora-37:spread/build/fedora:amd64
- lxd:fedora-38:spread/build/fedora:amd64
- lxd:fedora-rawhide:spread/build/fedora:amd64
- lxd:ubuntu-22.04:spread/build/sbuild:ubuntu_devel
- lxd:ubuntu-22.04:spread/build/sbuild:ubuntu_proposed
- lxd:ubuntu-22.04:spread/build/ubuntu:asan
- lxd:ubuntu-22.04:spread/build/ubuntu:asan_clang
- lxd:ubuntu-22.04:spread/build/ubuntu:tsan
- lxd:ubuntu-22.04:spread/build/ubuntu:tsan_clang
- lxd:ubuntu-22.04:spread/build/ubuntu:ubsan
- lxd:ubuntu-22.04:spread/build/ubuntu:ubsan_clang
runs-on: ubuntu-latest
env:
DEBFULLNAME: "Mir CI Bot"
DEBEMAIL: "[email protected]"
SPREAD_PATH: "/tmp/spread"
CCACHE_DIR: "/tmp/ccache"
steps:
- name: Set up LXD
uses: canonical/setup-lxd@main
- name: Set up Spread
run: |
sudo snap install spread-mir-ci
sudo snap connect spread-mir-ci:lxd lxd:lxd
lxc profile set default security.privileged=true security.nesting=true
sudo apt-get update
sudo apt-get install --yes binfmt-support qemu-user-static
echo "LXD_DIR=/var/snap/lxd/common/lxd" >> $GITHUB_ENV
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up CCache
id: setup-ccache
run: |
mkdir --parents ${CCACHE_DIR}
/snap/bin/lxc profile device add default ccache disk source=${CCACHE_DIR} path=/root/.ccache
# Find the merge base to avoid populating the cache with short lived cache entries
# and evicting those we care for - from `main`
echo "merge-base=$( git merge-base origin/main ${{ github.sha }} )" >> $GITHUB_OUTPUT
- name: CCache
uses: actions/cache@v3
with:
key: ccache-${{ matrix.spread-task }}-${{ steps.setup-ccache.outputs.merge-base }}
# if exact match isn't found, use the most recent entry for the task
restore-keys: |
ccache-${{ matrix.spread-task }}-
path: ${{ env.CCACHE_DIR }}
- name: Ensure ccache size
run: |
# a full build yielded at most 650M cache
echo "max_size = 800M" > ${CCACHE_DIR}/ccache.conf
- name: Run Spread task
run: snap run spread-mir-ci.spread -reuse -v ${{ matrix.spread-task }}
- name: CCache stats
run: cat ${CCACHE_DIR}/ccache.stats
- if: ${{ failure() && runner.debug }}
name: Setup upterm session
uses: lhotari/action-upterm@v1
with:
limit-access-to-actor: true