mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-15 17:21:08 +00:00
CI: buildah to build images (#7741)
* CI: buildah to build images * CI: simplify variables * CI: whitespaces * CI: secure login
This commit is contained in:
+20
-101
@@ -24,8 +24,6 @@ stages:
|
|||||||
- check
|
- check
|
||||||
- test
|
- test
|
||||||
- build
|
- build
|
||||||
- chaos-env
|
|
||||||
- chaos
|
|
||||||
- publish
|
- publish
|
||||||
- deploy
|
- deploy
|
||||||
- flaming-fir
|
- flaming-fir
|
||||||
@@ -399,12 +397,11 @@ build-linux-substrate: &build-binary
|
|||||||
<<: *collect-artifacts
|
<<: *collect-artifacts
|
||||||
<<: *docker-env
|
<<: *docker-env
|
||||||
rules:
|
rules:
|
||||||
# .build-refs with manual on PRs and chaos
|
# .build-refs with manual on PRs
|
||||||
- if: $CI_PIPELINE_SOURCE == "web"
|
- if: $CI_PIPELINE_SOURCE == "web"
|
||||||
- if: $CI_COMMIT_REF_NAME == "master"
|
- if: $CI_COMMIT_REF_NAME == "master"
|
||||||
- if: $CI_COMMIT_REF_NAME == "tags"
|
- if: $CI_COMMIT_REF_NAME == "tags"
|
||||||
- if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
|
- if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
|
||||||
- if: $CI_COMMIT_MESSAGE =~ /\[chaos:(basic|medium|large)\]/ && $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # i.e add [chaos:basic] in commit message to trigger
|
|
||||||
- if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
|
- if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
|
||||||
when: manual
|
when: manual
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
@@ -490,118 +487,40 @@ build-rust-doc:
|
|||||||
- echo "<meta http-equiv=refresh content=0;url=sc_service/index.html>" > ./crate-docs/index.html
|
- echo "<meta http-equiv=refresh content=0;url=sc_service/index.html>" > ./crate-docs/index.html
|
||||||
- sccache -s
|
- sccache -s
|
||||||
|
|
||||||
#### stage: chaos-env
|
|
||||||
|
|
||||||
build-chaos-docker:
|
|
||||||
stage: chaos-env
|
|
||||||
rules:
|
|
||||||
# .build-refs with chaos
|
|
||||||
- if: $CI_PIPELINE_SOURCE == "web"
|
|
||||||
- if: $CI_COMMIT_REF_NAME == "master"
|
|
||||||
- if: $CI_COMMIT_REF_NAME == "tags"
|
|
||||||
- if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
|
|
||||||
- if: $CI_COMMIT_MESSAGE =~ /\[chaos:(basic|medium|large)\]/ && $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # i.e add [chaos:basic] in commit message to trigger
|
|
||||||
needs:
|
|
||||||
- job: build-linux-substrate
|
|
||||||
image: docker:stable
|
|
||||||
tags:
|
|
||||||
- kubernetes-parity-build
|
|
||||||
variables:
|
|
||||||
<<: *default-vars
|
|
||||||
DOCKER_HOST: tcp://localhost:2375
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
PRODUCT: substrate
|
|
||||||
DOCKERFILE: $PRODUCT.Dockerfile
|
|
||||||
CONTAINER_IMAGE: paritypr/$PRODUCT
|
|
||||||
environment:
|
|
||||||
name: parity-simnet
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
before_script:
|
|
||||||
- test "$DOCKER_CHAOS_USER" -a "$DOCKER_CHAOS_TOKEN"
|
|
||||||
|| ( echo "no docker credentials provided"; exit 1 )
|
|
||||||
- docker login -u "$DOCKER_CHAOS_USER" -p "$DOCKER_CHAOS_TOKEN"
|
|
||||||
- docker info
|
|
||||||
script:
|
|
||||||
- cd ./artifacts/$PRODUCT/
|
|
||||||
- VERSION="ci-${CI_COMMIT_SHORT_SHA}"
|
|
||||||
- echo "${PRODUCT} version = ${VERSION}"
|
|
||||||
- test -z "${VERSION}" && exit 1
|
|
||||||
- docker build
|
|
||||||
--build-arg VCS_REF="${CI_COMMIT_SHA}"
|
|
||||||
--build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')"
|
|
||||||
--tag $CONTAINER_IMAGE:$VERSION
|
|
||||||
--file $DOCKERFILE .
|
|
||||||
- docker push $CONTAINER_IMAGE:$VERSION
|
|
||||||
after_script:
|
|
||||||
- docker logout
|
|
||||||
|
|
||||||
#### stage: chaos
|
|
||||||
|
|
||||||
chaos-test-singlenodeheight:
|
|
||||||
stage: chaos
|
|
||||||
rules:
|
|
||||||
# .build-refs with chaos
|
|
||||||
- if: $CI_PIPELINE_SOURCE == "web"
|
|
||||||
- if: $CI_COMMIT_REF_NAME == "master"
|
|
||||||
- if: $CI_COMMIT_REF_NAME == "tags"
|
|
||||||
- if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
|
|
||||||
- if: $CI_COMMIT_MESSAGE =~ /\[chaos:(basic|medium|large)\]/ && $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # i.e add [chaos:basic] in commit message to trigger
|
|
||||||
image: paritypr/simnet:latest
|
|
||||||
needs:
|
|
||||||
- job: build-chaos-docker
|
|
||||||
tags:
|
|
||||||
- parity-simnet
|
|
||||||
variables:
|
|
||||||
<<: *default-vars
|
|
||||||
PRODUCT: substrate
|
|
||||||
DOCKERFILE: $PRODUCT.Dockerfile
|
|
||||||
CONTAINER_IMAGE: paritypr/$PRODUCT
|
|
||||||
KEEP_NAMESPACE: 0
|
|
||||||
NAMESPACE: "substrate-ci-${CI_COMMIT_SHORT_SHA}-${CI_PIPELINE_ID}"
|
|
||||||
VERSION: "ci-${CI_COMMIT_SHORT_SHA}"
|
|
||||||
interruptible: true
|
|
||||||
environment:
|
|
||||||
name: parity-simnet
|
|
||||||
script:
|
|
||||||
- simnet spawn dev -i $CONTAINER_IMAGE:$VERSION
|
|
||||||
- simnet singlenodeheight -h 30
|
|
||||||
after_script:
|
|
||||||
- simnet clean
|
|
||||||
|
|
||||||
#### stage: publish
|
#### stage: publish
|
||||||
|
|
||||||
.build-push-docker-image: &build-push-docker-image
|
.build-push-docker-image: &build-push-docker-image
|
||||||
<<: *build-refs
|
<<: *build-refs
|
||||||
<<: *kubernetes-build
|
<<: *kubernetes-build
|
||||||
image: docker:stable
|
image: quay.io/buildah/stable
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
variables: &docker-build-vars
|
variables: &docker-build-vars
|
||||||
<<: *default-vars
|
<<: *default-vars
|
||||||
DOCKER_HOST: tcp://localhost:2375
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
GIT_STRATEGY: none
|
GIT_STRATEGY: none
|
||||||
DOCKERFILE: $PRODUCT.Dockerfile
|
DOCKERFILE: $PRODUCT.Dockerfile
|
||||||
CONTAINER_IMAGE: parity/$PRODUCT
|
IMAGE_NAME: docker.io/parity/$PRODUCT
|
||||||
before_script:
|
before_script:
|
||||||
- test "$Docker_Hub_User_Parity" -a "$Docker_Hub_Pass_Parity"
|
- test "$Docker_Hub_User_Parity" -a "$Docker_Hub_Pass_Parity" ||
|
||||||
|| ( echo "no docker credentials provided"; exit 1 )
|
( echo "no docker credentials provided"; exit 1 )
|
||||||
- docker login -u "$Docker_Hub_User_Parity" -p "$Docker_Hub_Pass_Parity"
|
|
||||||
- docker info
|
|
||||||
script:
|
script:
|
||||||
- cd ./artifacts/$PRODUCT/
|
- cd ./artifacts/$PRODUCT/
|
||||||
- VERSION="$(cat ./VERSION)"
|
- VERSION="$(cat ./VERSION)"
|
||||||
- echo "${PRODUCT} version = ${VERSION}"
|
- echo "${PRODUCT} version = ${VERSION}"
|
||||||
- test -z "${VERSION}" && exit 1
|
- test -z "${VERSION}" && exit 1
|
||||||
- docker build
|
- buildah bud
|
||||||
|
--squash
|
||||||
|
--format=docker
|
||||||
--build-arg VCS_REF="${CI_COMMIT_SHA}"
|
--build-arg VCS_REF="${CI_COMMIT_SHA}"
|
||||||
--build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')"
|
--build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')"
|
||||||
--tag $CONTAINER_IMAGE:$VERSION
|
--tag "$IMAGE_NAME:$VERSION"
|
||||||
--tag $CONTAINER_IMAGE:latest
|
--tag "$IMAGE_NAME:latest"
|
||||||
--file $DOCKERFILE .
|
--file "$DOCKERFILE" .
|
||||||
- docker push $CONTAINER_IMAGE:$VERSION
|
- echo "$Docker_Hub_Pass_Parity" |
|
||||||
- docker push $CONTAINER_IMAGE:latest
|
buildah login --username "$Docker_Hub_User_Parity" --password-stdin docker.io
|
||||||
|
- buildah info
|
||||||
|
- buildah push
|
||||||
|
--format=v2s2
|
||||||
|
"$IMAGE_NAME:$VERSION"
|
||||||
|
"$IMAGE_NAME:latest"
|
||||||
|
|
||||||
publish-docker-substrate:
|
publish-docker-substrate:
|
||||||
stage: publish
|
stage: publish
|
||||||
@@ -615,7 +534,7 @@ publish-docker-substrate:
|
|||||||
<<: *docker-build-vars
|
<<: *docker-build-vars
|
||||||
PRODUCT: substrate
|
PRODUCT: substrate
|
||||||
after_script:
|
after_script:
|
||||||
- docker logout
|
- buildah logout "$IMAGE_NAME"
|
||||||
# only VERSION information is needed for the deployment
|
# only VERSION information is needed for the deployment
|
||||||
- find ./artifacts/ -depth -not -name VERSION -type f -delete
|
- find ./artifacts/ -depth -not -name VERSION -type f -delete
|
||||||
|
|
||||||
@@ -629,7 +548,7 @@ publish-docker-subkey:
|
|||||||
<<: *docker-build-vars
|
<<: *docker-build-vars
|
||||||
PRODUCT: subkey
|
PRODUCT: subkey
|
||||||
after_script:
|
after_script:
|
||||||
- docker logout
|
- buildah logout "$IMAGE_NAME"
|
||||||
|
|
||||||
publish-s3-release:
|
publish-s3-release:
|
||||||
stage: publish
|
stage: publish
|
||||||
|
|||||||
Reference in New Issue
Block a user