2
0
Files
openwrt-configs/build-dir825-rndis.yaml

131 lines
3.3 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
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