From 62636a76826ca199a56fae7fa336a18631215d77 Mon Sep 17 00:00:00 2001 From: wuhuizuo Date: Mon, 9 Sep 2024 11:40:57 +0000 Subject: [PATCH] feat(apps/prod/tekton/configs): add cache for crypress installtion --- .../configs/pipelines/pingcap-build-package.yaml | 9 +++++++-- .../tekton/configs/pipelines/pingcap-release-ga.yaml | 12 ++++++------ apps/prod/tekton/configs/pvcs/cypress-cache.yaml | 11 +++++++++++ apps/prod/tekton/configs/pvcs/kustomization.yaml | 1 + apps/prod/tekton/configs/tasks/kustomization.yaml | 2 +- .../tekton/configs/tasks/pingcap-build-binaries.yaml | 6 ++++++ ...ages.yaml => pingcap-upload-offline-package.yaml} | 2 +- .../tasks/publish-tiup-from-oci-artifact.yaml | 2 +- .../templates/_/build-component-all-platforms.yaml | 6 ++++++ .../templates/_/build-component-single-platform.yaml | 3 +++ .../triggers/templates/_/build-component.yaml | 8 +++++++- .../triggers/_/ctl/artifact-push-on-harbor.yaml | 4 ++-- 12 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 apps/prod/tekton/configs/pvcs/cypress-cache.yaml rename apps/prod/tekton/configs/tasks/{pingcap-upload-offline-packages.yaml => pingcap-upload-offline-package.yaml} (99%) diff --git a/apps/prod/tekton/configs/pipelines/pingcap-build-package.yaml b/apps/prod/tekton/configs/pipelines/pingcap-build-package.yaml index 79120b039..319baebf7 100644 --- a/apps/prod/tekton/configs/pipelines/pingcap-build-package.yaml +++ b/apps/prod/tekton/configs/pipelines/pingcap-build-package.yaml @@ -40,7 +40,7 @@ spec: description: the base OCI registry server for store artifacts, it can be set with prefix repo path. default: "hub.pingcap.net" - name: force-builder-image - description: > + description: > The builder image to use for building binaries by force, if empty. Default the task will complete one from config in artifacts.git repo. type: string @@ -61,7 +61,10 @@ spec: description: secret containing a .gitconfig and .git-credentials file. optional: true - name: cargo-home - description: cache for cargo pacakges when build binaries + description: cache for cargo packages when build binaries + optional: true + - name: cypress-cache + description: cache for cypress installation files when building frontend projects. optional: true tasks: - name: checkout @@ -161,6 +164,8 @@ spec: workspace: dockerconfig - name: cargo-home workspace: cargo-home + - name: cypress-cache + workspace: cypress-cache - name: build-images when: - input: "$(params.push)" diff --git a/apps/prod/tekton/configs/pipelines/pingcap-release-ga.yaml b/apps/prod/tekton/configs/pipelines/pingcap-release-ga.yaml index 9c52ea445..be95d0472 100644 --- a/apps/prod/tekton/configs/pipelines/pingcap-release-ga.yaml +++ b/apps/prod/tekton/configs/pipelines/pingcap-release-ga.yaml @@ -120,7 +120,7 @@ spec: runAfter: - "compose-offline-pkgs-amd64-community" taskRef: - name: pingcap-upload-offline-pacakges + name: pingcap-upload-offline-package params: - { name: version, value: "$(params.version)" } - { name: edition, value: community } @@ -141,7 +141,7 @@ spec: runAfter: - "compose-offline-pkgs-amd64-enterprise" taskRef: - name: pingcap-upload-offline-pacakges + name: pingcap-upload-offline-package params: - { name: version, value: "$(params.version)" } - { name: edition, value: enterprise } @@ -162,7 +162,7 @@ spec: runAfter: - "compose-offline-pkgs-amd64-dm" taskRef: - name: pingcap-upload-offline-pacakges + name: pingcap-upload-offline-package workspaces: - { name: aws-secrets, workspace: aws-secrets } params: @@ -185,7 +185,7 @@ spec: runAfter: - "compose-offline-pkgs-arm64-community" taskRef: - name: pingcap-upload-offline-pacakges + name: pingcap-upload-offline-package params: - { name: version, value: "$(params.version)" } - { name: edition, value: community } @@ -206,7 +206,7 @@ spec: runAfter: - "compose-offline-pkgs-arm64-enterprise" taskRef: - name: pingcap-upload-offline-pacakges + name: pingcap-upload-offline-package params: - { name: version, value: "$(params.version)" } - { name: edition, value: enterprise } @@ -227,7 +227,7 @@ spec: runAfter: - "compose-offline-pkgs-arm64-dm" taskRef: - name: pingcap-upload-offline-pacakges + name: pingcap-upload-offline-package workspaces: - { name: aws-secrets, workspace: aws-secrets } params: diff --git a/apps/prod/tekton/configs/pvcs/cypress-cache.yaml b/apps/prod/tekton/configs/pvcs/cypress-cache.yaml new file mode 100644 index 000000000..cf17a0c16 --- /dev/null +++ b/apps/prod/tekton/configs/pvcs/cypress-cache.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: cypress-cache +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 20Gi + storageClassName: ceph-block diff --git a/apps/prod/tekton/configs/pvcs/kustomization.yaml b/apps/prod/tekton/configs/pvcs/kustomization.yaml index a23255e36..7dbc1cc93 100644 --- a/apps/prod/tekton/configs/pvcs/kustomization.yaml +++ b/apps/prod/tekton/configs/pvcs/kustomization.yaml @@ -2,4 +2,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - cargo-home.yaml + - cypress-cache.yaml - tiup-locks.yaml diff --git a/apps/prod/tekton/configs/tasks/kustomization.yaml b/apps/prod/tekton/configs/tasks/kustomization.yaml index 9dc5eea2b..01b8a97a8 100644 --- a/apps/prod/tekton/configs/tasks/kustomization.yaml +++ b/apps/prod/tekton/configs/tasks/kustomization.yaml @@ -34,7 +34,7 @@ resources: - pingcap-get-set-release-version.yaml - pingcap-git-clone-ext.yaml - pingcap-upload-enterprise-plugins.yaml - - pingcap-upload-offline-packages.yaml + - pingcap-upload-offline-package.yaml - publish-tiup-from-oci-artifact.yaml - release/create-pr-to-add-release-anchor-commit.yaml - release/create-pr-to-bump-tikv-version.yaml diff --git a/apps/prod/tekton/configs/tasks/pingcap-build-binaries.yaml b/apps/prod/tekton/configs/tasks/pingcap-build-binaries.yaml index 59cdaa57b..3ff4b2954 100644 --- a/apps/prod/tekton/configs/tasks/pingcap-build-binaries.yaml +++ b/apps/prod/tekton/configs/tasks/pingcap-build-binaries.yaml @@ -16,6 +16,10 @@ spec: description: Cache for cargo packages. mountPath: /workspace/.cargo optional: true + - name: cypress-cache + description: Cache for cypress installation files. + mountPath: /workspace/.cache/Cypress + optional: true - name: dockerconfig description: Includes a docker `config.json` mountPath: /root/.docker @@ -97,6 +101,8 @@ spec: value: /workspace/.cargo - name: NPM_CONFIG_REGISTRY value: https://registry.npmmirror.com + - name: CYPRESS_CACHE_FOLDER + value: /workspace/.cache/Cypress script: | script="/workspace/build-package-artifacts.sh" if [ ! -f "$script" ]; then diff --git a/apps/prod/tekton/configs/tasks/pingcap-upload-offline-packages.yaml b/apps/prod/tekton/configs/tasks/pingcap-upload-offline-package.yaml similarity index 99% rename from apps/prod/tekton/configs/tasks/pingcap-upload-offline-packages.yaml rename to apps/prod/tekton/configs/tasks/pingcap-upload-offline-package.yaml index 46dde414e..ad62961da 100644 --- a/apps/prod/tekton/configs/tasks/pingcap-upload-offline-packages.yaml +++ b/apps/prod/tekton/configs/tasks/pingcap-upload-offline-package.yaml @@ -1,7 +1,7 @@ apiVersion: tekton.dev/v1beta1 kind: Task metadata: - name: pingcap-upload-offline-pacakges + name: pingcap-upload-offline-package labels: app.kubernetes.io/version: "0.2" annotations: diff --git a/apps/prod/tekton/configs/tasks/publish-tiup-from-oci-artifact.yaml b/apps/prod/tekton/configs/tasks/publish-tiup-from-oci-artifact.yaml index 05ca50562..0238bd348 100644 --- a/apps/prod/tekton/configs/tasks/publish-tiup-from-oci-artifact.yaml +++ b/apps/prod/tekton/configs/tasks/publish-tiup-from-oci-artifact.yaml @@ -73,7 +73,7 @@ spec: set -exo pipefail if [ ! -f /workspace/publish.sh ]; then - echo "No tiup pacakges are need to published." + echo "No tiup packages are need to published." exit 0 fi diff --git a/apps/prod/tekton/configs/triggers/templates/_/build-component-all-platforms.yaml b/apps/prod/tekton/configs/triggers/templates/_/build-component-all-platforms.yaml index e7020c0a6..cfb423eed 100644 --- a/apps/prod/tekton/configs/triggers/templates/_/build-component-all-platforms.yaml +++ b/apps/prod/tekton/configs/triggers/templates/_/build-component-all-platforms.yaml @@ -103,6 +103,9 @@ spec: - name: cargo-home persistentVolumeClaim: claimName: cargo-home + - name: cypress-cache + persistentVolumeClaim: + claimName: cypress-cache - apiVersion: tekton.dev/v1beta1 kind: PipelineRun metadata: @@ -173,6 +176,9 @@ spec: - name: cargo-home persistentVolumeClaim: claimName: cargo-home + - name: cypress-cache + persistentVolumeClaim: + claimName: cypress-cache - apiVersion: tekton.dev/v1beta1 kind: PipelineRun metadata: diff --git a/apps/prod/tekton/configs/triggers/templates/_/build-component-single-platform.yaml b/apps/prod/tekton/configs/triggers/templates/_/build-component-single-platform.yaml index f36c7f503..3b856a08a 100644 --- a/apps/prod/tekton/configs/triggers/templates/_/build-component-single-platform.yaml +++ b/apps/prod/tekton/configs/triggers/templates/_/build-component-single-platform.yaml @@ -107,3 +107,6 @@ spec: - name: cargo-home persistentVolumeClaim: claimName: cargo-home + - name: cypress-cache + persistentVolumeClaim: + claimName: cypress-cache diff --git a/apps/prod/tekton/configs/triggers/templates/_/build-component.yaml b/apps/prod/tekton/configs/triggers/templates/_/build-component.yaml index 1306e517b..63bd4fda7 100644 --- a/apps/prod/tekton/configs/triggers/templates/_/build-component.yaml +++ b/apps/prod/tekton/configs/triggers/templates/_/build-component.yaml @@ -104,7 +104,10 @@ spec: secretName: git-credentials-basic - name: cargo-home persistentVolumeClaim: - claimName: cargo-home + claimName: cargo-home + - name: cypress-cache + persistentVolumeClaim: + claimName: cypress-cache - apiVersion: tekton.dev/v1beta1 kind: PipelineRun metadata: @@ -175,3 +178,6 @@ spec: - name: cargo-home persistentVolumeClaim: claimName: cargo-home + - name: cypress-cache + persistentVolumeClaim: + claimName: cypress-cache \ No newline at end of file diff --git a/apps/prod/tekton/configs/triggers/triggers/_/ctl/artifact-push-on-harbor.yaml b/apps/prod/tekton/configs/triggers/triggers/_/ctl/artifact-push-on-harbor.yaml index d70ab8426..1512d35a5 100644 --- a/apps/prod/tekton/configs/triggers/triggers/_/ctl/artifact-push-on-harbor.yaml +++ b/apps/prod/tekton/configs/triggers/triggers/_/ctl/artifact-push-on-harbor.yaml @@ -17,7 +17,7 @@ spec: 'pingcap/tiflow/package', 'pingcap/tidb-binlog/package', 'pingcap/tidb-ctl/package', - 'tikv/pd/pacakge', + 'tikv/pd/package', 'tikv/tikv/package' ] && body.event_data.resources[0].tag.matches('^(master|main)(-[0-9a-f]{7,10})_(darwin|linux)_(amd64|arm64)$') @@ -66,7 +66,7 @@ spec: 'pingcap/tiflow/package', 'pingcap/tidb-binlog/package', 'pingcap/tidb-ctl/package', - 'tikv/pd/pacakge', + 'tikv/pd/package', 'tikv/tikv/package' ] && body.event_data.resources[0].tag.matches('^release-[0-9]+[.][0-9]+(-[0-9a-f]{7,10})_(darwin|linux)_(amd64|arm64)$')