From d9791f4fcb74a6d8fd44684f666d727fd46ab3fb Mon Sep 17 00:00:00 2001 From: Chris Packham Date: Mon, 24 Aug 2020 20:38:36 +1200 Subject: CI: Build ct-ng once Build ct-ng once and use the result to build the toolchains. Signed-off-by: Chris Packham diff --git a/.github/workflows/continuous-integration-workflow.yml b/.github/workflows/continuous-integration-workflow.yml index 33e00d6..97df813 100644 --- a/.github/workflows/continuous-integration-workflow.yml +++ b/.github/workflows/continuous-integration-workflow.yml @@ -5,18 +5,8 @@ on: pull_request: jobs: - build: + crosstool: runs-on: ubuntu-latest - strategy: - matrix: - sample: [ - "arm-unknown-linux-gnueabi", - "aarch64-unknown-linux-gnu", - "mips-unknown-elf", - "powerpc64-unknown-linux-gnu", - "powerpc-unknown-linux-gnu", - "x86_64-multilib-linux-uclibc" - ] steps: - name: "clone" uses: actions/checkout@v2 @@ -26,18 +16,51 @@ jobs: - name: "build ct-ng" run: | ./bootstrap - ./configure --enable-local + ./configure --prefix=$PWD/.local/ make + make install + tar -cf ct-ng.tar .local/ + - name: "upload ct-ng" + uses: actions/upload-artifact@v2 + with: + name: crosstool + path: ct-ng.tar - name: "upload config.log" uses: actions/upload-artifact@v2 with: name: config.log path: config.log if: ${{ always() }} + + toolchains: + needs: crosstool + runs-on: ubuntu-latest + strategy: + matrix: + sample: [ + "arm-unknown-linux-gnueabi", + "aarch64-unknown-linux-gnu", + "mips-unknown-elf", + "powerpc64-unknown-linux-gnu", + "powerpc-unknown-linux-gnu", + "x86_64-multilib-linux-uclibc" + ] + steps: + - name: "download ct-ng" + uses: actions/download-artifact@v2 + with: + name: crosstool + - name: "extract ct-ng" + run: | + tar -xf ct-ng.tar + - name: "prereq" + run: | + sudo apt-get install -y gperf help2man libtool-bin + echo "::add-path::$GITHUB_WORKSPACE/.local/bin" - name: "build ${{ matrix.sample }}" run: | mkdir -p src - ./ct-ng ${{ matrix.sample }} + ct-ng ${{ matrix.sample }} sed -i -e '/CT_LOG_PROGRESS_BAR/s/y$/n/' .config sed -i -e '/CT_LOCAL_TARBALLS_DIR/s/HOME/CT_TOP_DIR/' .config sed -i -e '/CT_PREFIX_DIR/s/HOME/CT_TOP_DIR/' .config @@ -45,7 +68,7 @@ jobs: sed -i -e '/CT_LOG_LEVEL_MAX/d' .config echo 'CT_LOG_ALL=y' >>.config echo 'CT_LOG_LEVEL_MAX="ALL"' >>.config - ./ct-ng build + ct-ng build - name: "upload log" uses: actions/upload-artifact@v2 with: -- cgit v0.10.2-6-g49f6