mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-06 05:38:00 +00:00
e6f5e23b0f
PR adds a job that publishes implementers guide cc https://github.com/paritytech/polkadot-sdk/issues/1614 cc https://github.com/paritytech/ci_cd/issues/879
360 lines
12 KiB
YAML
360 lines
12 KiB
YAML
# This file is part of .gitlab-ci.yml
|
|
# Here are all jobs that are executed during "publish" stage
|
|
|
|
publish-rustdoc:
|
|
stage: publish
|
|
extends: .kubernetes-env
|
|
variables:
|
|
CI_IMAGE: node:18
|
|
GIT_DEPTH: 100
|
|
RUSTDOCS_DEPLOY_REFS: "master"
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "pipeline"
|
|
when: never
|
|
- if: $CI_PIPELINE_SOURCE == "web" && $CI_COMMIT_REF_NAME == "master"
|
|
- if: $CI_COMMIT_REF_NAME == "master"
|
|
needs:
|
|
- job: build-rustdoc
|
|
artifacts: true
|
|
- job: build-implementers-guide
|
|
artifacts: true
|
|
script:
|
|
# If $CI_COMMIT_REF_NAME doesn't match one of $RUSTDOCS_DEPLOY_REFS space-separated values, we
|
|
# exit immediately.
|
|
# Putting spaces at the front and back to ensure we are not matching just any substring, but the
|
|
# whole space-separated value.
|
|
# setup ssh
|
|
- eval $(ssh-agent)
|
|
- ssh-add - <<< ${GITHUB_SSH_PRIV_KEY}
|
|
- mkdir ~/.ssh && touch ~/.ssh/known_hosts
|
|
- ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
|
|
# Set git config
|
|
- git config user.email "devops-team@parity.io"
|
|
- git config user.name "${GITHUB_USER}"
|
|
- git config remote.origin.url "git@github.com:/paritytech/${CI_PROJECT_NAME}.git"
|
|
- git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
|
|
- git fetch origin gh-pages
|
|
# Save README and docs
|
|
- cp -r ./crate-docs/ /tmp/doc/
|
|
- cp -r ./artifacts/book/ /tmp/
|
|
- cp README.md /tmp/doc/
|
|
# we don't need to commit changes because we copy docs to /tmp
|
|
- git checkout gh-pages --force
|
|
# Enable if docs needed for other refs
|
|
# Install `index-tpl-crud` and generate index.html based on RUSTDOCS_DEPLOY_REFS
|
|
# - which index-tpl-crud &> /dev/null || yarn global add @substrate/index-tpl-crud
|
|
# - index-tpl-crud upsert ./index.html ${CI_COMMIT_REF_NAME}
|
|
# Ensure the destination dir doesn't exist.
|
|
- rm -rf ${CI_COMMIT_REF_NAME}
|
|
- rm -rf book/
|
|
- mv -f /tmp/doc ${CI_COMMIT_REF_NAME}
|
|
# dir for implementors guide
|
|
- mkdir -p book
|
|
- mv /tmp/book/html/* book/
|
|
# Upload files
|
|
- git add --all
|
|
# `git commit` has an exit code of > 0 if there is nothing to commit.
|
|
# This causes GitLab to exit immediately and marks this job failed.
|
|
# We don't want to mark the entire job failed if there's nothing to
|
|
# publish though, hence the `|| true`.
|
|
- git commit -m "___Updated docs for ${CI_COMMIT_REF_NAME}___" ||
|
|
echo "___Nothing to commit___"
|
|
- git push origin gh-pages --force
|
|
after_script:
|
|
- rm -rf .git/ ./*
|
|
|
|
# cumulus
|
|
|
|
.build-push-image:
|
|
image: $BUILDAH_IMAGE
|
|
variables:
|
|
DOCKERFILE: "" # docker/path-to.Dockerfile
|
|
IMAGE_NAME: "" # docker.io/paritypr/image_name
|
|
script:
|
|
# - test "$PARITYPR_USER" -a "$PARITYPR_PASS" ||
|
|
# ( echo "no docker credentials provided"; exit 1 )
|
|
- $BUILDAH_COMMAND build
|
|
--format=docker
|
|
--build-arg VCS_REF="${CI_COMMIT_SHA}"
|
|
--build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')"
|
|
--build-arg IMAGE_NAME="${IMAGE_NAME}"
|
|
--tag "$IMAGE_NAME:${DOCKER_IMAGES_VERSION}"
|
|
--file ${DOCKERFILE} .
|
|
- echo "$PARITYPR_PASS" |
|
|
buildah login --username "$PARITYPR_USER" --password-stdin docker.io
|
|
- $BUILDAH_COMMAND info
|
|
- $BUILDAH_COMMAND push --format=v2s2 "$IMAGE_NAME:${DOCKER_IMAGES_VERSION}"
|
|
after_script:
|
|
- buildah logout --all
|
|
|
|
build-push-image-polkadot-parachain-debug:
|
|
stage: publish
|
|
extends:
|
|
- .kubernetes-env
|
|
- .common-refs
|
|
- .build-push-image
|
|
needs:
|
|
- job: build-linux-stable-cumulus
|
|
artifacts: true
|
|
variables:
|
|
DOCKERFILE: "docker/dockerfiles/polkadot-parachain/polkadot-parachain-debug_unsigned_injected.Dockerfile"
|
|
IMAGE_NAME: "docker.io/paritypr/polkadot-parachain-debug"
|
|
|
|
build-push-image-test-parachain:
|
|
stage: publish
|
|
extends:
|
|
- .kubernetes-env
|
|
- .common-refs
|
|
- .build-push-image
|
|
needs:
|
|
- job: build-test-parachain
|
|
artifacts: true
|
|
variables:
|
|
DOCKERFILE: "docker/dockerfiles/test-parachain_injected.Dockerfile"
|
|
IMAGE_NAME: "docker.io/paritypr/test-parachain"
|
|
# publish-s3:
|
|
# stage: publish
|
|
# extends:
|
|
# - .kubernetes-env
|
|
# - .publish-refs
|
|
# image: paritytech/awscli:latest
|
|
# needs:
|
|
# - job: build-linux-stable-cumulus
|
|
# artifacts: true
|
|
# variables:
|
|
# GIT_STRATEGY: none
|
|
# BUCKET: "releases.parity.io"
|
|
# PREFIX: "cumulus/${ARCH}-${DOCKER_OS}"
|
|
# script:
|
|
# - echo "___Publishing a binary with debug assertions!___"
|
|
# - echo "___VERSION = $(cat ./artifacts/VERSION) ___"
|
|
# - aws s3 sync ./artifacts/ s3://${BUCKET}/${PREFIX}/$(cat ./artifacts/VERSION)/
|
|
# - echo "___Updating objects in latest path___"
|
|
# - aws s3 sync s3://${BUCKET}/${PREFIX}/$(cat ./artifacts/VERSION)/ s3://${BUCKET}/${PREFIX}/latest/
|
|
# after_script:
|
|
# - aws s3 ls s3://${BUCKET}/${PREFIX}/latest/
|
|
# --recursive --human-readable --summarize
|
|
|
|
# publish-benchmarks-assets-s3: &publish-benchmarks
|
|
# stage: publish
|
|
# extends:
|
|
# - .kubernetes-env
|
|
# - .benchmarks-refs
|
|
# image: paritytech/awscli:latest
|
|
# needs:
|
|
# - job: benchmarks-assets
|
|
# artifacts: true
|
|
# variables:
|
|
# GIT_STRATEGY: none
|
|
# BUCKET: "releases.parity.io"
|
|
# PREFIX: "cumulus/$CI_COMMIT_REF_NAME/benchmarks-assets"
|
|
# script:
|
|
# - echo "___Publishing benchmark results___"
|
|
# - aws s3 sync ./artifacts/ s3://${BUCKET}/${PREFIX}/
|
|
# after_script:
|
|
# - aws s3 ls s3://${BUCKET}/${PREFIX}/ --recursive --human-readable --summarize
|
|
|
|
# publish-benchmarks-collectives-s3:
|
|
# <<: *publish-benchmarks
|
|
# variables:
|
|
# GIT_STRATEGY: none
|
|
# BUCKET: "releases.parity.io"
|
|
# PREFIX: "cumulus/$CI_COMMIT_REF_NAME/benchmarks-collectives"
|
|
# needs:
|
|
# - job: benchmarks-collectives
|
|
# artifacts: true
|
|
|
|
### Polkadot
|
|
|
|
build-push-image-polkadot-debug:
|
|
stage: publish
|
|
extends:
|
|
- .kubernetes-env
|
|
- .common-refs
|
|
- .build-push-image
|
|
needs:
|
|
- job: build-linux-stable
|
|
artifacts: true
|
|
variables:
|
|
DOCKERFILE: "docker/dockerfiles/polkadot/polkadot_injected_debug.Dockerfile"
|
|
IMAGE_NAME: "docker.io/paritypr/polkadot-debug"
|
|
|
|
build-push-image-colander:
|
|
stage: publish
|
|
extends:
|
|
- .kubernetes-env
|
|
- .common-refs
|
|
- .build-push-image
|
|
needs:
|
|
- job: build-test-collators
|
|
artifacts: true
|
|
variables:
|
|
DOCKERFILE: "docker/dockerfiles/collator_injected.Dockerfile"
|
|
IMAGE_NAME: "docker.io/paritypr/colander"
|
|
|
|
build-push-image-malus:
|
|
stage: publish
|
|
extends:
|
|
- .kubernetes-env
|
|
- .common-refs
|
|
- .build-push-image
|
|
needs:
|
|
- job: build-malus
|
|
artifacts: true
|
|
variables:
|
|
DOCKERFILE: "docker/dockerfiles/malus_injected.Dockerfile"
|
|
IMAGE_NAME: "docker.io/paritypr/malus"
|
|
|
|
build-push-image-substrate-pr:
|
|
stage: publish
|
|
extends:
|
|
- .kubernetes-env
|
|
- .common-refs
|
|
- .build-push-image
|
|
needs:
|
|
- job: build-linux-substrate
|
|
artifacts: true
|
|
variables:
|
|
DOCKERFILE: "docker/dockerfiles/substrate_injected.Dockerfile"
|
|
IMAGE_NAME: "docker.io/paritypr/substrate"
|
|
# old way
|
|
|
|
# .build-push-image-polkadot:
|
|
# before_script:
|
|
# # - test -s ./artifacts/VERSION || exit 1
|
|
# # - test -s ./artifacts/EXTRATAG || exit 1
|
|
# - VERSION="$(cat ./artifacts/VERSION)"
|
|
# - EXTRATAG="$(cat ./artifacts/EXTRATAG)"
|
|
# - echo "Polkadot version = ${VERSION} (EXTRATAG = ${EXTRATAG})"
|
|
# script:
|
|
# # - test "$DOCKER_USER" -a "$DOCKER_PASS" ||
|
|
# # ( echo "no docker credentials provided"; exit 1 )
|
|
# - cd ./artifacts
|
|
# - $BUILDAH_COMMAND build
|
|
# --format=docker
|
|
# --build-arg VCS_REF="${CI_COMMIT_SHA}"
|
|
# --build-arg BUILD_DATE="$(date -u '+%Y-%m-%dT%H:%M:%SZ')"
|
|
# --build-arg IMAGE_NAME="${IMAGE_NAME}"
|
|
# --tag "$IMAGE_NAME:$VERSION"
|
|
# --tag "$IMAGE_NAME:$EXTRATAG"
|
|
# --file ${DOCKERFILE} .
|
|
# # The job will success only on the protected branch
|
|
# # - echo "$DOCKER_PASS" |
|
|
# # buildah login --username "$DOCKER_USER" --password-stdin docker.io
|
|
# # - $BUILDAH_COMMAND info
|
|
# # - $BUILDAH_COMMAND push --format=v2s2 "$IMAGE_NAME:$VERSION"
|
|
# # - $BUILDAH_COMMAND push --format=v2s2 "$IMAGE_NAME:$EXTRATAG"
|
|
# after_script:
|
|
# - buildah logout --all
|
|
|
|
# publish-polkadot-debug-image:
|
|
# stage: publish
|
|
# image: ${BUILDAH_IMAGE}
|
|
# extends:
|
|
# - .kubernetes-env
|
|
# - .build-push-image-polkadot
|
|
# rules:
|
|
# - if: $CI_PIPELINE_SOURCE == "web"
|
|
# - if: $CI_PIPELINE_SOURCE == "schedule"
|
|
# - if: $CI_COMMIT_REF_NAME == "master"
|
|
# - if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
|
|
# - if: $CI_COMMIT_REF_NAME =~ /^v[0-9]+\.[0-9]+.*$/ # i.e. v1.0, v2.1rc1
|
|
# variables:
|
|
# GIT_STRATEGY: none
|
|
# DOCKER_USER: ${PARITYPR_USER}
|
|
# DOCKER_PASS: ${PARITYPR_PASS}
|
|
# # docker/dockerfiles/polkadot/polkadot_injected_debug.Dockerfile
|
|
# DOCKERFILE: polkadot_injected_debug.Dockerfile
|
|
# IMAGE_NAME: docker.io/paritypr/polkadot-debug
|
|
# needs:
|
|
# - job: build-linux-stable
|
|
# artifacts: true
|
|
# after_script:
|
|
# # pass artifacts to the zombienet-tests job
|
|
# # https://docs.gitlab.com/ee/ci/multi_project_pipelines.html#with-variable-inheritance
|
|
# - echo "PARACHAINS_IMAGE_NAME=${IMAGE_NAME}" > ./artifacts/parachains.env
|
|
# - echo "PARACHAINS_IMAGE_TAG=$(cat ./artifacts/EXTRATAG)" >> ./artifacts/parachains.env
|
|
# artifacts:
|
|
# reports:
|
|
# # this artifact is used in zombienet-tests job
|
|
# dotenv: ./artifacts/parachains.env
|
|
# expire_in: 1 days
|
|
|
|
# publish-test-collators-image:
|
|
# # service image for zombienet
|
|
# stage: publish
|
|
# extends:
|
|
# - .kubernetes-env
|
|
# - .build-push-image-polkadot
|
|
# - .zombienet-refs
|
|
# variables:
|
|
# CI_IMAGE: ${BUILDAH_IMAGE}
|
|
# GIT_STRATEGY: none
|
|
# DOCKER_USER: ${PARITYPR_USER}
|
|
# DOCKER_PASS: ${PARITYPR_PASS}
|
|
# # docker/dockerfiles/collator_injected.Dockerfile
|
|
# DOCKERFILE: collator_injected.Dockerfile
|
|
# IMAGE_NAME: docker.io/paritypr/colander
|
|
# needs:
|
|
# - job: build-test-collators
|
|
# artifacts: true
|
|
# after_script:
|
|
# - buildah logout --all
|
|
# # pass artifacts to the zombienet-tests job
|
|
# - echo "COLLATOR_IMAGE_NAME=${IMAGE_NAME}" > ./artifacts/collator.env
|
|
# - echo "COLLATOR_IMAGE_TAG=$(cat ./artifacts/EXTRATAG)" >> ./artifacts/collator.env
|
|
# artifacts:
|
|
# reports:
|
|
# # this artifact is used in zombienet-tests job
|
|
# dotenv: ./artifacts/collator.env
|
|
|
|
# publish-malus-image:
|
|
# # service image for Simnet
|
|
# stage: publish
|
|
# extends:
|
|
# - .kubernetes-env
|
|
# - .build-push-image-polkadot
|
|
# - .zombienet-refs
|
|
# variables:
|
|
# CI_IMAGE: ${BUILDAH_IMAGE}
|
|
# GIT_STRATEGY: none
|
|
# DOCKER_USER: ${PARITYPR_USER}
|
|
# DOCKER_PASS: ${PARITYPR_PASS}
|
|
# # docker/dockerfiles/malus_injected.Dockerfile
|
|
# DOCKERFILE: malus_injected.Dockerfile
|
|
# IMAGE_NAME: docker.io/paritypr/malus
|
|
# needs:
|
|
# - job: build-malus
|
|
# artifacts: true
|
|
# after_script:
|
|
# - buildah logout "$IMAGE_NAME"
|
|
# # pass artifacts to the zombienet-tests job
|
|
# - echo "MALUS_IMAGE_NAME=${IMAGE_NAME}" > ./artifacts/malus.env
|
|
# - echo "MALUS_IMAGE_TAG=$(cat ./artifacts/EXTRATAG)" >> ./artifacts/malus.env
|
|
# artifacts:
|
|
# reports:
|
|
# # this artifact is used in zombienet-tests job
|
|
# dotenv: ./artifacts/malus.env
|
|
|
|
# substrate
|
|
|
|
# publish-substrate-image-pr:
|
|
# # service image for zombienet
|
|
# stage: publish
|
|
# extends:
|
|
# - .kubernetes-env
|
|
# - .build-push-image-polkadot
|
|
# - .zombienet-refs
|
|
# variables:
|
|
# CI_IMAGE: ${BUILDAH_IMAGE}
|
|
# GIT_STRATEGY: none
|
|
# DOCKER_USER: ${PARITYPR_USER}
|
|
# DOCKER_PASS: ${PARITYPR_PASS}
|
|
# DOCKERFILE: substrate_injected.Dockerfile
|
|
# IMAGE_NAME: docker.io/paritypr/substrate
|
|
# needs:
|
|
# - job: build-linux-substrate
|
|
# artifacts: true
|
|
# after_script:
|
|
# - buildah logout "$IMAGE_NAME"
|