92 lines
2.2 KiB
YAML
92 lines
2.2 KiB
YAML
|
kind: pipeline
|
||
|
type: docker
|
||
|
name: default
|
||
|
|
||
|
image:
|
||
|
tasks:
|
||
|
-
|
||
|
steps:
|
||
|
- name: submodules
|
||
|
image: alpine/git
|
||
|
commands:
|
||
|
- git submodule update --init --recursive
|
||
|
|
||
|
- name: patch
|
||
|
image: alpine/git
|
||
|
depends_on: [ submodules ]
|
||
|
commands:
|
||
|
- |-
|
||
|
sed -i 's/GNU bash, version (3\\\.\[1-9\]|4)/GNU bash, version (3.[1-9]|4|5)/g' modules/sdk/crosstool-NG/configure.ac
|
||
|
|
||
|
- mkdir -p modules/sdk/crosstool-NG/.build/tarballs
|
||
|
- wget https://github.com/libexpat/libexpat/releases/download/R_2_1_0/expat-2.1.0.tar.gz -O modules/sdk/crosstool-NG/.build/tarballs/expat-2.1.0.tar.gz
|
||
|
|
||
|
- name: toolchain
|
||
|
image: debian:sid
|
||
|
depends_on: [ patch ]
|
||
|
commands:
|
||
|
- apt update
|
||
|
- apt install -y make bash gawk g++ gcc libc6-dev flex bison automake autoconf gperf texinfo wget git bzip2 help2man libtool libtool-bin unrar-free unzip ncurses-dev libexpat-dev python-dev python3
|
||
|
- cd modules/sdk
|
||
|
- export CT_EXPERIMENTAL=y
|
||
|
- export CT_ALLOW_BUILD_AS_ROOT=y
|
||
|
- export CT_ALLOW_BUILD_AS_ROOT_SURE=y
|
||
|
- make standalone=y -j$(nproc)
|
||
|
- wget -N https://raw.githubusercontent.com/espressif/esptool/master/esptool.py -O xtensa-lx106-elf/bin/esptool.py
|
||
|
|
||
|
- name: firmware
|
||
|
image: debian:sid
|
||
|
depends_on: [ toolchain ]
|
||
|
commands:
|
||
|
- apt update
|
||
|
- apt remove --purge -y python2
|
||
|
- apt install -y make python3 python3-serial python-is-python3 perl
|
||
|
- export PATH=$(pwd)/modules/sdk/xtensa-lx106-elf/bin:$PATH
|
||
|
- make firmware -j$(nproc)
|
||
|
|
||
|
- name: pcb
|
||
|
image: setsoft/kicad_auto
|
||
|
commands:
|
||
|
- apt update
|
||
|
- apt install -y make zip
|
||
|
- make pcb -j$(nproc)
|
||
|
|
||
|
- name: case
|
||
|
image: debian:sid
|
||
|
commands:
|
||
|
- apt update
|
||
|
- apt install -y make
|
||
|
- make case -j$(nproc)
|
||
|
|
||
|
- name: unittest
|
||
|
image: debian:sid
|
||
|
depends_on: [ patch ]
|
||
|
commands:
|
||
|
- apt update
|
||
|
- apt install -y make
|
||
|
- make -C firmware unittest
|
||
|
|
||
|
- name: systest
|
||
|
image: debian:sid
|
||
|
depends_on: [ firmware ]
|
||
|
commands:
|
||
|
- apt update
|
||
|
- apt install -y make
|
||
|
- make -C firmware systest
|
||
|
|
||
|
- name: gitea_release
|
||
|
image: plugins/gitea-release
|
||
|
depends_on: [ firmware, pcb, case, unittest, systest ]
|
||
|
settings:
|
||
|
api_key:
|
||
|
from_secret: j3d1_droneio_key
|
||
|
base_url: https://git.neulandlabor.de/
|
||
|
files:
|
||
|
- firmware/firmware/fiatlux.bin
|
||
|
checksum:
|
||
|
- sha512
|
||
|
- md5
|
||
|
title: buildtest
|
||
|
when:
|
||
|
event: tag
|