From c5df083c421ad366c3ef98afab9c281e04b00895 Mon Sep 17 00:00:00 2001 From: Brad Davidson Date: Fri, 10 Nov 2023 10:25:43 +0000 Subject: [PATCH] Add pipeline for riscv64 Signed-off-by: Brad Davidson --- .drone.yml | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/.drone.yml b/.drone.yml index 83c6d0e744a9..91560474e1b0 100644 --- a/.drone.yml +++ b/.drone.yml @@ -539,6 +539,119 @@ volumes: host: path: /var/run/docker.sock +--- +kind: pipeline +name: riscv64 + +platform: + os: linux + arch: amd64 + +# Hack needed for riscv64: https://gist.github.com/colstrom/c2f359f72658aaabb44150ac20b16d7c#gistcomment-3858388 +node: + arch: riscv64 + +trigger: + event: + exclude: + - cron + +clone: + retries: 3 + +steps: +- name: skipfiles + image: plugins/git + commands: + - export NAME=$(test $DRONE_BUILD_EVENT = pull_request && echo remotes/origin/${DRONE_COMMIT_BRANCH:-master} || echo ${DRONE_COMMIT_SHA}~) + - export DIFF=$(git --no-pager diff --name-only $NAME | grep -v -f .droneignore); + - if [ -z "$DIFF" ]; then + echo "All files in PR are on ignore list"; + exit 78; + else + echo "Some files in PR are not ignored, $DIFF"; + fi; + when: + event: + - pull_request + +- name: build + image: rancher/dapper:v0.5.0 + secrets: [ AWS_SECRET_ACCESS_KEY-k3s-ci-uploader, AWS_ACCESS_KEY_ID-k3s-ci-uploader ] + environment: + AWS_SECRET_ACCESS_KEY: + from_secret: AWS_SECRET_ACCESS_KEY-k3s-ci-uploader + AWS_ACCESS_KEY_ID: + from_secret: AWS_ACCESS_KEY_ID-k3s-ci-uploader + commands: + - dapper ci + - echo "${DRONE_TAG}-arm64" | sed -e 's/+/-/g' >.tags + volumes: + - name: docker + path: /var/run/docker.sock + +- name: github_binary_release + image: ibuildthecloud/github-release:v0.0.1 + settings: + api_key: + from_secret: github_token + prerelease: true + checksum: + - sha256 + checksum_file: CHECKSUMsum-riscv64.txt + checksum_flatten: true + files: + - "dist/artifacts/*" + when: + instance: + - drone-publish.k3s.io + ref: + - refs/head/master + - refs/tags/* + event: + - tag + +- name: docker-publish + image: plugins/docker + settings: + dockerfile: package/Dockerfile + password: + from_secret: docker_password + repo: "rancher/k3s" + username: + from_secret: docker_username + when: + instance: + - drone-publish.k3s.io + ref: + - refs/head/master + - refs/tags/* + event: + - tag + +- name: test + image: rancher/dapper:v0.5.0 + secrets: [ AWS_SECRET_ACCESS_KEY-k3s-ci-uploader, AWS_ACCESS_KEY_ID-k3s-ci-uploader ] + environment: + ENABLE_REGISTRY: 'true' + AWS_SECRET_ACCESS_KEY: + from_secret: AWS_SECRET_ACCESS_KEY-k3s-ci-uploader + AWS_ACCESS_KEY_ID: + from_secret: AWS_ACCESS_KEY_ID-k3s-ci-uploader + commands: + - docker build --target test-k3s -t k3s:test-${DRONE_STAGE_ARCH}-${DRONE_COMMIT} -f Dockerfile.test . + - > + docker run -i -e REPO -e TAG -e DRONE_TAG -e DRONE_BUILD_EVENT -e IMAGE_NAME -e AWS_SECRET_ACCESS_KEY -e AWS_ACCESS_KEY_ID -e SONOBUOY_VERSION -e ENABLE_REGISTRY + -v /var/run/docker.sock:/var/run/docker.sock --privileged --network host -v /tmp:/tmp k3s:test-${DRONE_STAGE_ARCH}-${DRONE_COMMIT} + volumes: + - name: docker + path: /var/run/docker.sock + +volumes: +- name: docker + host: + path: /var/run/docker.sock + --- kind: pipeline name: validate_go_mods