File: build.yml

package info (click to toggle)
libbpf 1.6.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,696 kB
  • sloc: ansic: 36,195; cpp: 782; sh: 637; makefile: 170; python: 23
file content (92 lines) | stat: -rw-r--r-- 2,307 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
name: libbpf-build

on:
  pull_request:
  push:
  schedule:
    - cron:  '0 18 * * *'

concurrency:
  group: ci-build-${{ github.head_ref }}
  cancel-in-progress: true

jobs:

  debian:
    runs-on: ubuntu-latest
    name: Debian Build (${{ matrix.name }})
    strategy:
      fail-fast: false
      matrix:
        include:
          - name: default
            target: RUN
          - name: ASan+UBSan
            target: RUN_ASAN
          - name: clang ASan+UBSan
            target: RUN_CLANG_ASAN
          - name: gcc-10 ASan+UBSan
            target: RUN_GCC10_ASAN
          - name: clang
            target: RUN_CLANG
          - name: clang-14
            target: RUN_CLANG14
          - name: clang-15
            target: RUN_CLANG15
          - name: clang-16
            target: RUN_CLANG16
          - name: gcc-10
            target: RUN_GCC10
          - name: gcc-11
            target: RUN_GCC11
          - name: gcc-12
            target: RUN_GCC12
    steps:
      - uses: actions/checkout@v4
        name: Checkout
      - uses: ./.github/actions/setup
        name: Setup
      - uses: ./.github/actions/debian
        name: Build
        with:
          target: ${{ matrix.target }}

  ubuntu:
    runs-on: ubuntu-latest
    name: Ubuntu Build (${{ matrix.arch }})
    strategy:
      fail-fast: false
      matrix:
        include:
          - arch: aarch64
          - arch: ppc64le
          - arch: s390x
          - arch: amd64
    steps:
      - uses: actions/checkout@v4
        name: Checkout

      - name: Setup QEMU
        uses: docker/setup-qemu-action@v3
        with:
          image: tonistiigi/binfmt:qemu-v8.1.5

      - uses: ./.github/actions/setup
        name: Pre-Setup

      - run: source /tmp/ci_setup && sudo -E $CI_ROOT/managers/ubuntu.sh
        if: matrix.arch == 'amd64'
        name: Setup

      - name: Build in docker
        if: matrix.arch != 'amd64'
        run: |
          cp /tmp/ci_setup ${GITHUB_WORKSPACE}
          docker run --rm \
                 --platform linux/${{ matrix.arch }} \
                 -v ${GITHUB_WORKSPACE}:${GITHUB_WORKSPACE} \
                 -e GITHUB_WORKSPACE=${GITHUB_WORKSPACE} \
                 -w /ci/workspace \
                 ubuntu:noble \
                 ${GITHUB_WORKSPACE}/ci/build-in-docker.sh