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 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