diff options
author | Ben V. Brown <[email protected]> | 2020-09-06 13:28:24 +1000 |
---|---|---|
committer | GitHub <[email protected]> | 2020-09-06 13:28:24 +1000 |
commit | f5bc1e15b5b410ba48429683159a3753e0b9ae88 (patch) | |
tree | 12376d41c488e92641ca74f7ea3036706638f9dd | |
parent | 04b4f2a3eda121cb1f9d2e83b5a056b03acd8dff (diff) | |
download | IronOS-f5bc1e15b5b410ba48429683159a3753e0b9ae88.tar.gz IronOS-f5bc1e15b5b410ba48429683159a3753e0b9ae88.zip |
CI performance (#690)
More CI performance increase
* Runs all builds in parallel
* Avoids using the extra docker container in CI
-rw-r--r-- | .github/workflows/ccpp.yml | 62 | ||||
-rw-r--r-- | Dockerfile | 1 | ||||
-rw-r--r-- | setup.sh | 13 | ||||
-rwxr-xr-x | workspace/TS100/build.sh | 2 |
4 files changed, 65 insertions, 13 deletions
diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index c983a9c8..530a212f 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -3,35 +3,75 @@ name: C/C++ CI on: [pull_request, push] jobs: - build: + build_TS80: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + - name: chmod - run: chmod +x build.sh - - name: translation - run: | - cd Translation\ Editor - python3 make_translation.py - - name: make - run: ./build.sh + run: chmod +x setup.sh && chmod +x workspace/TS100/build.sh + + - name: setup + run: ./setup.sh + + - name: build TS80 + run: cd workspace/TS100 && ./build.sh -m TS80 + - name: Archive TS80 artifacts uses: actions/upload-artifact@v2 with: name: TS80 - path: ci/artefacts/TS80_* + path: | + workspace/TS100/Hexfile/TS80_*.hex + workspace/TS100/Hexfile/TS80_*.bin if-no-files-found: error + build_TS80P: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: chmod + run: chmod +x setup.sh && chmod +x workspace/TS100/build.sh + + - name: setup + run: ./setup.sh + + - name: build TS80P + run: cd workspace/TS100 && ./build.sh -m TS80P + - name: Archive TS80P artifacts uses: actions/upload-artifact@v2 with: name: TS80P - path: ci/artefacts/TS80P_* + path: | + workspace/TS100/Hexfile/TS80P_*.hex + workspace/TS100/Hexfile/TS80P_*.bin if-no-files-found: error + build_TS100: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: chmod + run: chmod +x setup.sh && chmod +x workspace/TS100/build.sh + + - name: setup + run: ./setup.sh + + - name: build TS100 + run: cd workspace/TS100 && ./build.sh -m TS100 + - name: Archive TS100 artifacts uses: actions/upload-artifact@v2 with: name: TS100 - path: ci/artefacts/TS100_* + path: | + workspace/TS100/Hexfile/TS100_*.hex + workspace/TS100/Hexfile/TS100_*.bin if-no-files-found: error @@ -6,7 +6,6 @@ WORKDIR /build # Install any needed packages specified in requirements.txt
RUN apt-get update && \
- apt-get upgrade -y && \
apt-get install -y \
make \
bzip2 \
diff --git a/setup.sh b/setup.sh new file mode 100644 index 00000000..36ba14f4 --- /dev/null +++ b/setup.sh @@ -0,0 +1,13 @@ +#!/bin/bash +set -e +# Setup shell file to setup the environment on an ubuntu machine +sudo apt-get update +sudo apt-get install -y make bzip2 git python3 wget +sudo mkdir /build +cd /build + +sudo wget -qO- https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 | sudo tar -xj + +# Add compiler to the path + +sudo ln -s /build/gcc-arm-none-eabi-9-2020-q2-update/bin/* /usr/local/bin diff --git a/workspace/TS100/build.sh b/workspace/TS100/build.sh index 068d7f20..80b9a808 100755 --- a/workspace/TS100/build.sh +++ b/workspace/TS100/build.sh @@ -10,7 +10,7 @@ AVAILABLE_MODELS=("TS100" "TS80" "TS80P") BUILD_MODELS=() usage() { - echo "Usage : $(basename "$0") [-l <LANG_CODE>] [-m <TS100|TS80>] [-h] + echo "Usage : $(basename "$0") [-l <LANG_CODE>] [-m <TS100|TS80|TS80P>] [-h] Parameters : -l LANG_CODE : Force a specific language (E.g. : EN, FR, NL_BE, ...) |