Schedule nightly builds (#9717)

* introduce SCHEDULE_TAG variable for gitlab scheduled nightly builds

* add refs for complex only statement in .gitlab-ci.yml
This commit is contained in:
gabriel klawitter 2018-10-09 15:32:07 +02:00 committed by Afri Schoedon
parent 4b6ebcbb61
commit 5a8fb77fb2
5 changed files with 29 additions and 20 deletions

View File

@ -21,13 +21,17 @@ cache:
.releaseable_branches: # list of git refs for building GitLab artifacts (think "pre-release binaries") .releaseable_branches: # list of git refs for building GitLab artifacts (think "pre-release binaries")
only: &releaseable_branches only: &releaseable_branches
- stable refs:
- beta - stable
- tags - beta
- tags
variables:
- $SCHEDULE_TAG == "nightly"
.collect_artifacts: &collect_artifacts .collect_artifacts: &collect_artifacts
artifacts: artifacts:
name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}" name: "${CI_JOB_NAME}_${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}"
when: on_success when: on_success
expire_in: 1 mos expire_in: 1 mos
paths: paths:
@ -37,7 +41,7 @@ cache:
- VERSION="$(sed -r -n '1,/^version/s/^version = "([^"]+)".*$/\1/p' Cargo.toml)" - VERSION="$(sed -r -n '1,/^version/s/^version = "([^"]+)".*$/\1/p' Cargo.toml)"
- DATE_STR="$(date +%Y%m%d)" - DATE_STR="$(date +%Y%m%d)"
- ID_SHORT="$(echo ${CI_COMMIT_SHA} | cut -c 1-7)" - ID_SHORT="$(echo ${CI_COMMIT_SHA} | cut -c 1-7)"
- test "${CI_COMMIT_REF_NAME}" = "nightly" && VERSION="${VERSION}-${ID_SHORT}-${DATE_STR}" - test "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" = "nightly" && VERSION="${VERSION}-${ID_SHORT}-${DATE_STR}"
- export VERSION - export VERSION
- echo "Version = ${VERSION}" - echo "Version = ${VERSION}"

View File

@ -35,10 +35,10 @@ set_remote_wiki() {
commit_files() { commit_files() {
echo "__________Commit files__________" echo "__________Commit files__________"
git checkout -b rpcdoc-update-${CI_COMMIT_REF_NAME} git checkout -b rpcdoc-update-${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}
git add . git add .
git commit -m "Update docs to ${CI_COMMIT_REF_NAME}" git commit -m "Update docs to ${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}"
git tag -a "${CI_COMMIT_REF_NAME}" -m "Update RPC docs to ${CI_COMMIT_REF_NAME}" git tag -a "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" -m "Update RPC docs to ${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}"
} }
upload_files() { upload_files() {

View File

@ -7,10 +7,10 @@ echo "__________Register Release__________"
DATA="secret=$RELEASES_SECRET" DATA="secret=$RELEASES_SECRET"
echo "Pushing release to Mainnet" echo "Pushing release to Mainnet"
./scripts/gitlab/safe-curl.sh $DATA "http://update.parity.io:1337/push-release/$CI_COMMIT_REF_NAME/$CI_COMMIT_SHA" ./scripts/gitlab/safe-curl.sh $DATA "http://update.parity.io:1337/push-release/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/$CI_COMMIT_SHA"
echo "Pushing release to Kovan" echo "Pushing release to Kovan"
./scripts/gitlab/safe-curl.sh $DATA "http://update.parity.io:1338/push-release/$CI_COMMIT_REF_NAME/$CI_COMMIT_SHA" ./scripts/gitlab/safe-curl.sh $DATA "http://update.parity.io:1338/push-release/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/$CI_COMMIT_SHA"
cd artifacts cd artifacts
ls -l | sort -k9 ls -l | sort -k9
@ -29,9 +29,9 @@ do
case $DIR in case $DIR in
x86_64* ) x86_64* )
DATA="commit=$CI_COMMIT_SHA&sha3=$sha3&filename=parity$WIN&secret=$RELEASES_SECRET" DATA="commit=$CI_COMMIT_SHA&sha3=$sha3&filename=parity$WIN&secret=$RELEASES_SECRET"
../../scripts/gitlab/safe-curl.sh $DATA "http://update.parity.io:1337/push-build/$CI_COMMIT_REF_NAME/$DIR" ../../scripts/gitlab/safe-curl.sh $DATA "http://update.parity.io:1337/push-build/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/$DIR"
# Kovan # Kovan
../../scripts/gitlab/safe-curl.sh $DATA "http://update.parity.io:1338/push-build/$CI_COMMIT_REF_NAME/$DIR" ../../scripts/gitlab/safe-curl.sh $DATA "http://update.parity.io:1338/push-build/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/$DIR"
;; ;;
esac esac
cd .. cd ..
@ -40,10 +40,15 @@ done
echo "__________Push binaries to AWS S3____________" echo "__________Push binaries to AWS S3____________"
aws configure set aws_access_key_id $s3_key aws configure set aws_access_key_id $s3_key
aws configure set aws_secret_access_key $s3_secret aws configure set aws_secret_access_key $s3_secret
if [[ "$CI_COMMIT_REF_NAME" = "beta" || "$CI_COMMIT_REF_NAME" = "stable" || "$CI_COMMIT_REF_NAME" = "nightly" ]];
then case "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" in
(beta|stable|nightly)
export S3_BUCKET=builds-parity-published; export S3_BUCKET=builds-parity-published;
else ;;
(*)
export S3_BUCKET=builds-parity; export S3_BUCKET=builds-parity;
fi ;;
aws s3 sync ./ s3://$S3_BUCKET/$CI_COMMIT_REF_NAME/ esac
aws s3 sync ./ s3://$S3_BUCKET/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/

View File

@ -4,7 +4,7 @@ set -e # fail on any error
set -u # treat unset variables as error set -u # treat unset variables as error
if [ "$CI_COMMIT_REF_NAME" == "master" ]; if [ "$CI_COMMIT_REF_NAME" == "master" ];
then export DOCKER_BUILD_TAG="latest"; then export DOCKER_BUILD_TAG="${SCHEDULE_TAG:-latest}";
else export DOCKER_BUILD_TAG=$CI_COMMIT_REF_NAME; else export DOCKER_BUILD_TAG=$CI_COMMIT_REF_NAME;
fi fi
docker login -u $Docker_Hub_User_Parity -p $Docker_Hub_Pass_Parity docker login -u $Docker_Hub_User_Parity -p $Docker_Hub_Pass_Parity

View File

@ -6,9 +6,9 @@ set -u # treat unset variables as error
git log --graph --oneline --all --decorate=short -n 10 git log --graph --oneline --all --decorate=short -n 10
case $CI_COMMIT_REF_NAME in case ${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}} in
(beta|stable) (beta|stable)
export GIT_COMPARE=$CI_COMMIT_REF_NAME~ export GIT_COMPARE=${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}~
;; ;;
(master|nightly) (master|nightly)
export GIT_COMPARE=master~ export GIT_COMPARE=master~