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 workspaces: - name: tmp mountPath: /usr/src/openwrt/tmp steps: - name: openwrt-get resources: requests: memory: 128M cpu: 200m limits: memory: 300M cpu: 800m image: cr.lan/debian-stable-openwrt-build 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 resources: requests: memory: 500m cpu: 500m limits: memory: 1Gi cpu: 3000m image: cr.lan/debian-stable-openwrt-build script: | #!/usr/bin/env bash echo $PATH cd /usr/src/openwrt CCACHE_DIR=$(echo staging_dir/target-*)/ccache ccache -s ls -la . export FORCE_UNSAFE_CONFIGURE=1 export IGNORE_ERRORS=1 ### cleanup #make clean #./scripts/feeds clean -a #### /cleanup echo "res.input.ke...path: $(resources.inputs.openwrt-configs.path)" cp -v $(resources.inputs.openwrt-configs.path)/$(params.config) \ /usr/src/openwrt/.config || exit 1 ./scripts/feeds update -a ./scripts/feeds install -a -f # build env does not like to be run as root.... make V=s -j4 download world $(params.make_flags) 2>&1 - name: upload-assets image: docker.io/minio/mc env: - name: MINIO_HOST valueFrom: secretKeyRef: name: minio-openwrt key: endpoint - name: MINIO_ACCESS_KEY valueFrom: secretKeyRef: name: minio-openwrt key: username - name: MINIO_SECRET_KEY valueFrom: secretKeyRef: name: minio-openwrt key: password script: | #!/usr/bin/env bash cd /usr/src/openwrt/bin mc alias set minio-openwrt $MINIO_HOST $MINIO_ACCESS_KEY $MINIO_SECRET_KEY mc mirror --remove --insecure -a . minio-openwrt/openwrt workspaces: - name: usr-src mountPath: /usr/src --- apiVersion: tekton.dev/v1beta1 kind: TaskRun metadata: name: openwrt-dir825-rndis spec: taskRef: name: build-openwrt params: - name: config value: config-DIR825-rndis - name: version value: openwrt-21.02 resources: inputs: - name: openwrt-configs resourceRef: name: openwrt-configs-git workspaces: - name: usr-src persistentVolumeClaim: claimName: tektoncd-workspaces subPath: usr_src