112 lines
3.4 KiB
YAML
112 lines
3.4 KiB
YAML
apiVersion: tekton.dev/v1alpha1
|
|
kind: PipelineResource
|
|
metadata:
|
|
name: openwrt-configs-git
|
|
spec:
|
|
type: git
|
|
params:
|
|
- name: revision
|
|
value: master
|
|
- name: url
|
|
value: http://git-ui.lan/chaos/openwrt-configs.git
|
|
---
|
|
apiVersion: tekton.dev/v1beta1
|
|
kind: Task
|
|
metadata:
|
|
name: build-openwrt
|
|
spec:
|
|
params:
|
|
- name: make_flags
|
|
type: string
|
|
default: ""
|
|
- name: config
|
|
type: string
|
|
- name: version
|
|
type: string
|
|
default: ""
|
|
resources:
|
|
inputs:
|
|
- name: openwrt-configs
|
|
type: git
|
|
steps:
|
|
- name: setup
|
|
image: cr.lan/debian-stable-build-essential
|
|
script: |
|
|
#!/usr/bin/env bash
|
|
#echo 'deb-src http://apt-cache.lan/deb.debian.org/debian testing main' > /etc/apt/sources.list.d/src-testing.list
|
|
#echo 'deb http://apt-cache.lan/deb.debian.org/debian testing main' > /etc/apt/sources.list.d/testing.list
|
|
apt update -y
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
echo "HACK openjdk bug"
|
|
mkdir -p /etc/ssl/certs/java
|
|
touch /etc/ssl/certs/java/cacerts
|
|
mkdir -p /usr/share/man/man1
|
|
touch /usr/share/man/man1/rmid.1.gz.dpkg-tmp
|
|
echo "////////// HACK openjdk bug"
|
|
apt install -y ca-certificates-java
|
|
dpkg --configure -a
|
|
apt install -y build-essential ccache ecj fastjar file g++ gawk \
|
|
gettext git java-propose-classpath libelf-dev libncurses5-dev \
|
|
libncursesw5-dev libssl-dev python python2.7-dev python3 unzip wget \
|
|
python3-distutils python3-setuptools rsync subversion swig time \
|
|
xsltproc zlib1g-dev
|
|
- name: openwrt-get
|
|
image: cr.lan/debian-stable-build-essential
|
|
script: |
|
|
#!/usr/bin/env bash
|
|
if [ ! -d /usr/src/openwrt ]; then
|
|
git clone https://github.com/openwrt/openwrt.git /usr/src/openwrt
|
|
fi
|
|
cd /usr/src/openwrt
|
|
echo "O_VERS: $(params.version)"
|
|
git branch -l
|
|
git checkout $(params.version) || exit 1
|
|
git pull
|
|
- name: build-openwrt
|
|
image: cr.lan/debian-stable-build-essential
|
|
script: |
|
|
#!/usr/bin/env bash
|
|
|
|
echo $PATH
|
|
echo "res.input.ke...path: $(resources.inputs.openwrt-configs.path)"
|
|
ls -altr /usr/src/
|
|
#distcc config
|
|
echo "localhost/1,cpp,lzo --randomize distcc-0.distcc,cpp,lzo distcc-1.distcc,cpp,lzo distcc-2.distcc,cpp,lzo distcc-3.distcc,cpp,lzo" >/etc/distcc/hosts
|
|
echo "ALL DISTCC HOSTS"
|
|
distcc --show-hosts
|
|
echo "/ALL DISTCC HOSTS"
|
|
|
|
|
|
cp -v $(resources.inputs.openwrt-configs.path)/$(params.config) \
|
|
/usr/src/openwrt/.config || exit 1
|
|
cd /usr/src/openwrt
|
|
./scripts/feeds update -a
|
|
./scripts/feeds install -a
|
|
#distcc-pump make -j20 download world CC=distcc $(params.make_flags)
|
|
make -j2 download world $(params.make_flags)
|
|
workspaces:
|
|
- name: usr-src
|
|
mountPath: /usr/src
|
|
---
|
|
apiVersion: tekton.dev/v1beta1
|
|
kind: TaskRun
|
|
metadata:
|
|
name: openwrt-oxnas820
|
|
spec:
|
|
taskRef:
|
|
name: build-openwrt
|
|
params:
|
|
- name: config
|
|
value: dumont.wks-ATHWIFI
|
|
- name: version
|
|
value: openwrt-19.07
|
|
resources:
|
|
inputs:
|
|
- name: openwrt-configs
|
|
resourceRef:
|
|
name: openwrt-configs-git
|
|
workspaces:
|
|
- name: usr-src
|
|
persistentVolumeClaim:
|
|
claimName: tektoncd-workspaces
|
|
subPath: usr_src |