CI performance (#690)
More CI performance increase * Runs all builds in parallel * Avoids using the extra docker container in CI
This commit is contained in:
62
.github/workflows/ccpp.yml
vendored
62
.github/workflows/ccpp.yml
vendored
@@ -3,35 +3,75 @@ name: C/C++ CI
|
|||||||
on: [pull_request, push]
|
on: [pull_request, push]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build_TS80:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: chmod
|
- name: chmod
|
||||||
run: chmod +x build.sh
|
run: chmod +x setup.sh && chmod +x workspace/TS100/build.sh
|
||||||
- name: translation
|
|
||||||
run: |
|
- name: setup
|
||||||
cd Translation\ Editor
|
run: ./setup.sh
|
||||||
python3 make_translation.py
|
|
||||||
- name: make
|
- name: build TS80
|
||||||
run: ./build.sh
|
run: cd workspace/TS100 && ./build.sh -m TS80
|
||||||
|
|
||||||
- name: Archive TS80 artifacts
|
- name: Archive TS80 artifacts
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: TS80
|
name: TS80
|
||||||
path: ci/artefacts/TS80_*
|
path: |
|
||||||
|
workspace/TS100/Hexfile/TS80_*.hex
|
||||||
|
workspace/TS100/Hexfile/TS80_*.bin
|
||||||
if-no-files-found: error
|
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
|
- name: Archive TS80P artifacts
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: TS80P
|
name: TS80P
|
||||||
path: ci/artefacts/TS80P_*
|
path: |
|
||||||
|
workspace/TS100/Hexfile/TS80P_*.hex
|
||||||
|
workspace/TS100/Hexfile/TS80P_*.bin
|
||||||
if-no-files-found: error
|
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
|
- name: Archive TS100 artifacts
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: TS100
|
name: TS100
|
||||||
path: ci/artefacts/TS100_*
|
path: |
|
||||||
|
workspace/TS100/Hexfile/TS100_*.hex
|
||||||
|
workspace/TS100/Hexfile/TS100_*.bin
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ WORKDIR /build
|
|||||||
|
|
||||||
# Install any needed packages specified in requirements.txt
|
# Install any needed packages specified in requirements.txt
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get upgrade -y && \
|
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
make \
|
make \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
|
|||||||
13
setup.sh
Normal file
13
setup.sh
Normal file
@@ -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
|
||||||
@@ -10,7 +10,7 @@ AVAILABLE_MODELS=("TS100" "TS80" "TS80P")
|
|||||||
BUILD_MODELS=()
|
BUILD_MODELS=()
|
||||||
|
|
||||||
usage() {
|
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 :
|
Parameters :
|
||||||
-l LANG_CODE : Force a specific language (E.g. : EN, FR, NL_BE, ...)
|
-l LANG_CODE : Force a specific language (E.g. : EN, FR, NL_BE, ...)
|
||||||
|
|||||||
Reference in New Issue
Block a user