|
7 | 7 |
|
8 | 8 | jobs: |
9 | 9 | build-x64-linux: |
10 | | - timeout-minutes: 360 |
11 | | - env: |
12 | | - VCPKG_DEP_LIST: x64-linux |
13 | | - VCPKG_FEATURE_FLAGS: -binarycaching |
14 | | - runs-on: [self-hosted, linux, X64, dep-builder] |
| 10 | + runs-on: [self-hosted, linux, "${{matrix.arch}}", dep-builder] |
15 | 11 | strategy: |
16 | 12 | fail-fast: false |
17 | 13 | matrix: |
| 14 | + arch: ["x64", "arm64"] |
18 | 15 | osversion: [ubuntu-22.04] |
19 | | - stdlib: [libc++, stdlibc++] |
20 | | - sanitizer: [null, 'Address', 'Thread', 'Undefined'] |
| 16 | + stdlib: [libcxx, libstdcxx] |
| 17 | + sanitizer: ['none', 'address', 'thread', 'undefined'] |
21 | 18 | steps: |
22 | 19 | - uses: AutoModality/action-clean@v1 |
23 | 20 | - uses: actions/checkout@v2 |
24 | 21 | with: |
25 | 22 | submodules: 'recursive' |
26 | | - - name: Set output vars to the actual tag name |
27 | | - id: vars |
28 | | - run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} |
29 | | - - name: Build Docker |
30 | | - id: builddocker |
31 | | - working-directory: ${{ github.workspace }}/docker/ |
32 | | - run: docker build -t nes_clang_build_${{ matrix.osversion }} -f Dockerfile-${{ matrix.osversion }} . |
33 | 23 | - name: Build Clang |
34 | 24 | id: installdeps |
35 | 25 | run: | |
36 | | - echo "${{ matrix.stdlib }}" |
37 | | - docker run -v ${{ github.workspace }}:/build_dir -e ENABLE_SANITIZER=${{ matrix.sanitizer || '' }} -e STDLIB=${{ matrix.stdlib }} --rm nes_clang_build_${{ matrix.osversion }} \ |
38 | | - ./build_dir/build_ubuntu-x64.sh |
| 26 | + docker run -v ${{ github.workspace }}:/build_dir -e ENABLE_SANITIZER=${{ matrix.sanitizer }} -e STDLIB=${{ matrix.stdlib }} -e ARCH=${{ matrix.arch }} --rm nebulastream/nes-development-base:libcxx_enumerate ./build_dir/build_llvm.sh |
39 | 27 | - name: Compress artifacts |
40 | 28 | id: compressdeps |
41 | 29 | run: | |
42 | | - 7z a nes-llvm-20-${{ matrix.osversion }}-${{ matrix.stdlib }}-X64-${{ matrix.sanitizer || 'None' }}.7z clang -mx9 -aoa |
| 30 | + 7z a nes-llvm-20-${{ matrix.arch }}-${{ matrix.sanitizer }}-${{ matrix.stdlib }}.7z clang -mx9 -aoa |
43 | 31 | - name: Release |
44 | 32 | uses: softprops/action-gh-release@v1 |
45 | 33 | id: createrelease |
46 | 34 | with: |
47 | 35 | files: | |
48 | | - nes-llvm-20-${{ matrix.osversion }}-${{ matrix.stdlib }}-X64-${{ matrix.sanitizer || 'None' }}.7z |
| 36 | + nes-llvm-20-${{ matrix.arch }}-${{ matrix.sanitizer }}-${{ matrix.stdlib }}.7z |
49 | 37 | - name: Clean build artifacts |
50 | 38 | id: cleanbuildartifacts |
51 | 39 | if: always() |
52 | 40 | run: | |
53 | 41 | rm -rf llvm-project |
54 | 42 | rm -rf .git |
55 | 43 | rm -rf clang |
56 | | - - name: Remove docker image |
57 | | - id: removedockerimage |
58 | | - if: always() |
59 | | - run: | |
60 | | - test -n "$(docker image ls -q nes_clang_build_${{ matrix.osversion }})" && \ |
61 | | - docker image rm $(docker image ls -q nes_clang_build_${{ matrix.osversion }}) || \ |
62 | | - true |
63 | | -
|
64 | | - build-arm-linux: |
65 | | - env: |
66 | | - VCPKG_DEP_LIST: arm64-linux |
67 | | - VCPKG_FEATURE_FLAGS: -binarycaching |
68 | | - runs-on: [self-hosted, linux, ARM64, dep-builder] |
69 | | - strategy: |
70 | | - matrix: |
71 | | - osversion: [ubuntu-22.04] |
72 | | - stdlib: [libc++, stdlibc++] |
73 | | - sanitizer: [null, 'Address', 'Thread', 'Undefined'] |
74 | | - steps: |
75 | | - - uses: AutoModality/action-clean@v1 |
76 | | - - uses: actions/checkout@v2 |
77 | | - with: |
78 | | - submodules: 'recursive' |
79 | | - - name: Set output vars to the actual tag name |
80 | | - id: vars |
81 | | - run: echo ::set-output name=tag::${GITHUB_REF#refs/*/} |
82 | | - - name: Build Docker |
83 | | - id: builddocker |
84 | | - working-directory: ${{ github.workspace }}/docker/ |
85 | | - run: docker build -t nes_clang_build_${{ matrix.osversion }} -f Dockerfile-${{ matrix.osversion }} . |
86 | | - - name: Build Clang |
87 | | - id: installdeps |
88 | | - run: | |
89 | | - docker run -v ${{ github.workspace }}:/build_dir -e ENABLE_SANITIZER=${{ matrix.sanitizer || '' }} -e STDLIB=${{ matrix.stdlib }} --rm nes_clang_build_${{ matrix.osversion }} \ |
90 | | - ./build_dir/build_ubuntu-arm64.sh |
91 | | - - name: Compress artifacts |
92 | | - id: compressdeps |
93 | | - run: | |
94 | | - 7z a nes-llvm-20-${{ matrix.osversion }}-${{ matrix.stdlib }}-arm64-${{ matrix.sanitizer || 'None' }}.7z clang -mx9 -aoa |
95 | | - - name: Release |
96 | | - uses: softprops/action-gh-release@v1 |
97 | | - id: createrelease |
98 | | - with: |
99 | | - files: | |
100 | | - nes-llvm-20-${{ matrix.osversion }}-${{ matrix.stdlib }}-arm64-${{ matrix.sanitizer || 'None' }}.7z |
101 | | - - name: Clean build artifacts |
102 | | - id: cleanbuildartifacts |
103 | | - if: always() |
104 | | - run: | |
105 | | - rm -rf clang |
106 | | - rm -rf llvm-project |
107 | | - rm -rf .git |
108 | | - - name: Remove docker image |
109 | | - id: removedockerimage |
110 | | - if: always() |
111 | | - run: | |
112 | | - test -n "$(docker image ls -q nes_clang_build_${{ matrix.osversion }})" && \ |
113 | | - docker image rm $(docker image ls -q nes_clang_build_${{ matrix.osversion }}) || \ |
114 | | - true |
115 | | -
|
0 commit comments