aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBen V. Brown <[email protected]>2020-09-06 13:28:24 +1000
committerGitHub <[email protected]>2020-09-06 13:28:24 +1000
commitf5bc1e15b5b410ba48429683159a3753e0b9ae88 (patch)
tree12376d41c488e92641ca74f7ea3036706638f9dd
parent04b4f2a3eda121cb1f9d2e83b5a056b03acd8dff (diff)
downloadIronOS-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.yml62
-rw-r--r--Dockerfile1
-rw-r--r--setup.sh13
-rwxr-xr-xworkspace/TS100/build.sh2
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
diff --git a/Dockerfile b/Dockerfile
index 665a0622..e553efd2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -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, ...)