浏览代码

CI: run inside the buildbot docker container

Run github actions insider buildbot docker container.

Signed-off-by: Paul Spooren <[email protected]>
[ run container under buildbot user ]
Signed-off-by: Christian Marangi <[email protected]>
Paul Spooren 3 年之前
父节点
当前提交
8a77adb048
共有 1 个文件被更改,包括 24 次插入46 次删除
  1. 24 46
      .github/workflows/kernel.yml

+ 24 - 46
.github/workflows/kernel.yml

@@ -47,45 +47,17 @@ jobs:
        matrix:
        matrix:
          target: ${{fromJson(needs.determine_targets.outputs.target)}}
          target: ${{fromJson(needs.determine_targets.outputs.target)}}
 
 
+    container: registry.gitlab.com/openwrt/buildbot/buildworker-3.4.1
+
     steps:
     steps:
       - name: Checkout master directory
       - name: Checkout master directory
         uses: actions/checkout@v2
         uses: actions/checkout@v2
         with:
         with:
           path: openwrt
           path: openwrt
 
 
-      - name: Setup Ubuntu
-        env:
-          DEBIAN_FRONTEND: noninteractive
+      - name: Fix permission
         run: |
         run: |
-          sudo apt-get update
-          sudo apt-get -y install \
-            build-essential \
-            ccache \
-            clang-12 \
-            ecj \
-            fastjar \
-            file \
-            g++ \
-            gawk \
-            gettext \
-            git \
-            java-propose-classpath \
-            libelf-dev \
-            libncurses-dev \
-            libssl-dev \
-            mkisofs \
-            python3 \
-            python3-dev \
-            python3-distutils \
-            python3-setuptools \
-            qemu-utils \
-            rsync \
-            subversion \
-            swig \
-            unzip \
-            wget \
-            xsltproc \
-            zlib1g-dev
+          chown -R buildbot:buildbot openwrt
 
 
       - name: Initialization environment
       - name: Initialization environment
         run: |
         run: |
@@ -95,25 +67,31 @@ jobs:
           echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV"
           echo "SUBTARGET=$SUBTARGET" >> "$GITHUB_ENV"
 
 
       - name: Update & Install feeds
       - name: Update & Install feeds
+        shell: su buildbot -c "sh -e {0}"
+        working-directory: openwrt
         run: |
         run: |
-          cd openwrt
           ./scripts/feeds update -a
           ./scripts/feeds update -a
           ./scripts/feeds install -a
           ./scripts/feeds install -a
 
 
-      - name: Setup external toolchain
+      - name: Parse toolchain file
+        working-directory: openwrt
         run: |
         run: |
-          cd openwrt
           TOOLCHAIN_FILE=$(curl "https://downloads.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/sha256sums" \
           TOOLCHAIN_FILE=$(curl "https://downloads.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/sha256sums" \
             | sed -n -e 's/.*\(openwrt-toolchain.*\).tar.xz/\1/p')
             | sed -n -e 's/.*\(openwrt-toolchain.*\).tar.xz/\1/p')
 
 
           echo "TOOLCHAIN_FILE=$TOOLCHAIN_FILE" >> "$GITHUB_ENV"
           echo "TOOLCHAIN_FILE=$TOOLCHAIN_FILE" >> "$GITHUB_ENV"
-          
+
+      - name: Download external toolchain
+        shell: su buildbot -c "sh -e {0}"
+        working-directory: openwrt
+        run: |
           wget -O - https://downloads.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/${TOOLCHAIN_FILE}.tar.xz \
           wget -O - https://downloads.openwrt.org/snapshots/targets/${{ env.TARGET }}/${{ env.SUBTARGET }}/${TOOLCHAIN_FILE}.tar.xz \
             | tar --xz -xf -
             | tar --xz -xf -
 
 
       - name: Configure external toolchain
       - name: Configure external toolchain
+        shell: su buildbot -c "sh -e {0}"
+        working-directory: openwrt
         run: |
         run: |
-          cd openwrt
           ./scripts/ext-toolchain.sh \
           ./scripts/ext-toolchain.sh \
             --toolchain ${{ env.TOOLCHAIN_FILE }}/toolchain-* \
             --toolchain ${{ env.TOOLCHAIN_FILE }}/toolchain-* \
             --config ${{ env.TARGET }}/${{ env.SUBTARGET }}
             --config ${{ env.TARGET }}/${{ env.SUBTARGET }}
@@ -121,19 +99,19 @@ jobs:
           make defconfig
           make defconfig
 
 
       - name: Build tools
       - name: Build tools
-        run: |
-          cd openwrt
-          make tools/install -j$(nproc) BUILD_LOG=1
+        shell: su buildbot -c "sh -e {0}"
+        working-directory: openwrt
+        run: make tools/install -j$(nproc) BUILD_LOG=1
 
 
       - name: Build toolchain
       - name: Build toolchain
-        run: |
-          cd openwrt
-          make toolchain/install -j$(nproc) BUILD_LOG=1
+        shell: su buildbot -c "sh -e {0}"
+        working-directory: openwrt
+        run: make toolchain/install -j$(nproc) BUILD_LOG=1
 
 
       - name: Build Kernel
       - name: Build Kernel
-        run: |
-          cd openwrt
-          make target/compile -j$(nproc) BUILD_LOG=1
+        shell: su buildbot -c "sh -e {0}"
+        working-directory: openwrt
+        run: make target/compile -j$(nproc) BUILD_LOG=1
 
 
       - name: Upload logs
       - name: Upload logs
         if: failure()
         if: failure()