ncnn

Форк
0
/
linux-mips-cpu-gcc.yml 
126 строк · 3.9 Кб
1
name: linux-mips-cpu-gcc
2
on:
3
  push:
4
    branches: [master]
5
    paths:
6
    - '.github/workflows/linux-mips-cpu-gcc.yml'
7
    - 'toolchains/mipsel-linux-gnu.toolchain.cmake'
8
    - 'toolchains/mipsisa32r6el-linux-gnu.toolchain.cmake'
9
    - 'CMakeLists.txt'
10
    - 'cmake/**'
11
    - 'src/*'
12
    - 'src/layer/*'
13
    - 'src/layer/mips/**'
14
    - 'tests/**'
15
  pull_request:
16
    branches: [master]
17
    paths:
18
    - '.github/workflows/linux-mips-cpu-gcc.yml'
19
    - 'toolchains/mipsel-linux-gnu.toolchain.cmake'
20
    - 'toolchains/mipsisa32r6el-linux-gnu.toolchain.cmake'
21
    - 'CMakeLists.txt'
22
    - 'cmake/**'
23
    - 'src/*'
24
    - 'src/layer/*'
25
    - 'src/layer/mips/**'
26
    - 'tests/**'
27
concurrency:
28
  group: linux-mips-cpu-gcc-${{ github.ref }}
29
  cancel-in-progress: true
30
permissions:
31
  contents: read
32

33
jobs:
34
  linux-gcc-mipsel:
35
    runs-on: ubuntu-20.04
36
    steps:
37
    - uses: actions/checkout@v4
38

39
    - name: cache-qemu
40
      id: cache-qemu
41
      uses: actions/cache@v4
42
      with:
43
        path: qemu-install
44
        key: qemu-mipsel-install-20220502-2
45
    - name: install-qemu-build-deps
46
      if: steps.cache-qemu.outputs.cache-hit != 'true'
47
      run: |
48
        sudo apt-get update
49
        sudo apt-get install autoconf automake autotools-dev ninja-build
50
    - name: checkout-qemu
51
      if: steps.cache-qemu.outputs.cache-hit != 'true'
52
      uses: actions/checkout@v4
53
      with:
54
        repository: qemu/qemu
55
        path: qemu
56
        ref: f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65
57
    - name: qemu
58
      if: steps.cache-qemu.outputs.cache-hit != 'true'
59
      run: |
60
        cd qemu
61
        ./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=mipsel-linux-user --disable-system
62
        make -j$(nproc)
63
        make install
64

65
    - name: mipsel-gnu-toolchain
66
      run: |
67
        sudo apt-get update
68
        sudo apt-get install g++-mipsel-linux-gnu
69

70
    - name: configure
71
      run: mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/mipsel-linux-gnu.toolchain.cmake -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF -DNCNN_BUILD_TESTS=ON ..
72
    - name: build
73
      run: cmake --build build -j $(nproc)
74

75
    - name: test
76
      run: |
77
        export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH
78
        cd build
79
        TESTS_EXECUTABLE_LOADER=qemu-mipsel TESTS_EXECUTABLE_LOADER_ARGUMENTS="-L;/usr/mipsel-linux-gnu" ctest --output-on-failure -j $(nproc)
80

81
  linux-gcc-mipsisa32r6el:
82
    runs-on: ubuntu-20.04
83
    steps:
84
    - uses: actions/checkout@v4
85

86
    - name: cache-qemu
87
      id: cache-qemu
88
      uses: actions/cache@v4
89
      with:
90
        path: qemu-install
91
        key: qemu-mipsel-install-20220502-2
92
    - name: install-qemu-build-deps
93
      if: steps.cache-qemu.outputs.cache-hit != 'true'
94
      run: |
95
        sudo apt-get update
96
        sudo apt-get install autoconf automake autotools-dev ninja-build
97
    - name: checkout-qemu
98
      if: steps.cache-qemu.outputs.cache-hit != 'true'
99
      uses: actions/checkout@v4
100
      with:
101
        repository: qemu/qemu
102
        path: qemu
103
        ref: f5643914a9e8f79c606a76e6a9d7ea82a3fc3e65
104
    - name: qemu
105
      if: steps.cache-qemu.outputs.cache-hit != 'true'
106
      run: |
107
        cd qemu
108
        ./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=mipsel-linux-user --disable-system
109
        make -j$(nproc)
110
        make install
111

112
    - name: mipsisa32r6el-gnu-toolchain
113
      run: |
114
        sudo apt-get update
115
        sudo apt-get install g++-mipsisa32r6el-linux-gnu
116

117
    - name: configure
118
      run: mkdir build && cd build && cmake -DCMAKE_TOOLCHAIN_FILE=../toolchains/mipsisa32r6el-linux-gnu.toolchain.cmake -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF -DNCNN_BUILD_TESTS=ON ..
119
    - name: build
120
      run: cmake --build build -j $(nproc)
121

122
    - name: test
123
      run: |
124
        export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH
125
        cd build
126
        TESTS_EXECUTABLE_LOADER=qemu-mipsel TESTS_EXECUTABLE_LOADER_ARGUMENTS="-L;/usr/mipsisa32r6el-linux-gnu" ctest --output-on-failure -j $(nproc)
127

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.