113 lines
3.1 KiB
YAML
113 lines
3.1 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: openwrt-get
|
|
#image: cr.lan/debian-stable-build-essential
|
|
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
|
|
#image: cr.lan/debian-stable-build-essential
|
|
image: cr.lan/debian-stable-openwrt-build
|
|
script: |
|
|
#!/usr/bin/env bash
|
|
echo $PATH
|
|
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
|
|
cd /usr/src/openwrt
|
|
CCACHE_DIR=$(echo staging_dir/target-*)/ccache ccache -s
|
|
ls -la .
|
|
./scripts/feeds update -a
|
|
./scripts/feeds install -a
|
|
# build env does not like to be run as root....
|
|
export FORCE_UNSAFE_CONFIGURE=1
|
|
make -j6 download world $(params.make_flags) V=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
|
|
#export MINIO_HOST=https://minio.live-infra.svc.cluster.local:9443
|
|
#export MINIO_ACCESS_KEY=openwrt
|
|
#export MINIO_SECRET_KEY=eFVneg8I08MsE3tCeBDPxsMu9M2V2Fvy
|
|
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
|
|
spec:
|
|
taskRef:
|
|
name: build-openwrt
|
|
params:
|
|
- name: config
|
|
value: dumont.chaos_openwrt-21.02
|
|
- 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 |