Browse Source

MEN-3271: Add upload of RaspberryPi 4 image.

Changelog: None

Signed-off-by: Kristian Amlie <kristian.amlie@northern.tech>
2.1.x
Kristian Amlie 5 years ago
parent
commit
09bb462e5b
No known key found for this signature in database GPG Key ID: F464407C996AF03F
  1. 82
      .gitlab-ci.yml
  2. 0
      configs/images/raspberrypi_raspbian_config

82
.gitlab-ci.yml

@ -42,7 +42,7 @@ build:
paths: paths:
- image.tar - image.tar
convert_raspbian: .template_convert_raspbian: &convert_raspbian
stage: convert stage: convert
image: teracy/ubuntu:18.04-dind-18.09.9 image: teracy/ubuntu:18.04-dind-18.09.9
services: services:
@ -67,13 +67,24 @@ convert_raspbian:
- echo "MENDER_CLIENT_VERSION=${MENDER_CLIENT_VERSION}" > mender_client_version_config - echo "MENDER_CLIENT_VERSION=${MENDER_CLIENT_VERSION}" > mender_client_version_config
- env MENDER_ARTIFACT_NAME=${RASPBIAN_NAME}-mender-${MENDER_CLIENT_VERSION} - env MENDER_ARTIFACT_NAME=${RASPBIAN_NAME}-mender-${MENDER_CLIENT_VERSION}
./docker-mender-convert -d ${RASPBIAN_NAME}.img ./docker-mender-convert -d ${RASPBIAN_NAME}.img
-c configs/raspberrypi3_config -c configs/${RASPBERRYPI_PLATFORM}_config
-c configs/images/raspberrypi3_raspbian_config -c configs/images/raspberrypi_raspbian_config
-c mender_client_version_config -c mender_client_version_config
# Upload to temporary S3 bucket # Upload to temporary S3 bucket
- tar czf deploy.tar.gz deploy - mv deploy ${RASPBERRYPI_PLATFORM}
- aws s3 cp deploy.tar.gz s3://mender-gitlab-tmp-storage/$CI_PROJECT_NAME/$CI_PIPELINE_ID/deploy.tar.gz - tar czf ${RASPBERRYPI_PLATFORM}.tar.gz ${RASPBERRYPI_PLATFORM}
- aws s3 cp ${RASPBERRYPI_PLATFORM}.tar.gz s3://mender-gitlab-tmp-storage/$CI_PROJECT_NAME/$CI_PIPELINE_ID/${RASPBERRYPI_PLATFORM}.tar.gz
convert_raspbian_raspberrypi3:
<<: *convert_raspbian
variables:
RASPBERRYPI_PLATFORM: raspberrypi3
convert_raspbian_raspberrypi4:
<<: *convert_raspbian
variables:
RASPBERRYPI_PLATFORM: raspberrypi4
.template_test_acceptance: &test_acceptance .template_test_acceptance: &test_acceptance
stage: test_acceptance stage: test_acceptance
@ -84,7 +95,6 @@ convert_raspbian:
- mender-qa-slave - mender-qa-slave
dependencies: dependencies:
- build - build
- convert_raspbian
timeout: 2h timeout: 2h
before_script: before_script:
- export AWS_ACCESS_KEY_ID=$TMP_STORAGE_AWS_ACCESS_KEY_ID - export AWS_ACCESS_KEY_ID=$TMP_STORAGE_AWS_ACCESS_KEY_ID
@ -110,15 +120,32 @@ convert_raspbian:
reports: reports:
junit: results_*.xml junit: results_*.xml
test_acceptance_prebuilt_raspberrypi: .template_test_acceptance_prebuilt_raspberrypi: &test_acceptance_prebuilt_raspberrypi
<<: *test_acceptance <<: *test_acceptance
script: script:
# Fetch artifacts from temporary S3 bucket # Fetch artifacts from temporary S3 bucket
- aws s3 cp s3://mender-gitlab-tmp-storage/$CI_PROJECT_NAME/$CI_PIPELINE_ID/deploy.tar.gz deploy.tar.gz - aws s3 cp s3://mender-gitlab-tmp-storage/$CI_PROJECT_NAME/$CI_PIPELINE_ID/${RASPBERRYPI_PLATFORM}.tar.gz ${RASPBERRYPI_PLATFORM}.tar.gz
- tar xzf deploy.tar.gz - tar xzf ${RASPBERRYPI_PLATFORM}.tar.gz
- mv ${RASPBERRYPI_PLATFORM} deploy
# Extract converted Raspbian artifacts # Extract converted Raspbian artifacts
- unxz deploy/${RASPBIAN_NAME}-raspberrypi3-mender.img.xz - unxz deploy/${RASPBIAN_NAME}-${RASPBERRYPI_PLATFORM}-mender.img.xz
- ./scripts/test/run-tests.sh --no-pull --prebuilt-image raspberrypi ${RASPBIAN_NAME}-raspberrypi3-mender - ./scripts/test/run-tests.sh --no-pull --prebuilt-image raspberrypi ${RASPBIAN_NAME}-${RASPBERRYPI_PLATFORM}-mender
test_acceptance_prebuilt_raspberrypi3:
<<: *test_acceptance_prebuilt_raspberrypi
dependencies:
- build
- convert_raspbian_raspberrypi3
variables:
RASPBERRYPI_PLATFORM: raspberrypi3
test_acceptance_prebuilt_raspberrypi4:
<<: *test_acceptance_prebuilt_raspberrypi
dependencies:
- build
- convert_raspbian_raspberrypi4
variables:
RASPBERRYPI_PLATFORM: raspberrypi4
test_acceptance_qemux86_64: test_acceptance_qemux86_64:
<<: *test_acceptance <<: *test_acceptance
@ -156,21 +183,30 @@ publish:s3:
- export AWS_SECRET_ACCESS_KEY=$TMP_STORAGE_AWS_SECRET_ACCESS_KEY - export AWS_SECRET_ACCESS_KEY=$TMP_STORAGE_AWS_SECRET_ACCESS_KEY
- apt update && apt install -yyq awscli - apt update && apt install -yyq awscli
# Fetch artifacts from temporary S3 bucket # Fetch artifacts from temporary S3 bucket
- aws s3 cp s3://mender-gitlab-tmp-storage/$CI_PROJECT_NAME/$CI_PIPELINE_ID/deploy.tar.gz deploy.tar.gz - for RASPBERRYPI_PLATFORM in raspberrypi3 raspberrypi4; do
- tar xzf deploy.tar.gz - aws s3 cp s3://mender-gitlab-tmp-storage/$CI_PROJECT_NAME/$CI_PIPELINE_ID/${RASPBERRYPI_PLATFORM}.tar.gz ${RASPBERRYPI_PLATFORM}.tar.gz
- tar xzf ${RASPBERRYPI_PLATFORM}.tar.gz
- done
script: script:
# Prepare high privilege S3 keys (the TMP_STORAGE keys are for the tmp storage only) # Prepare high privilege S3 keys (the TMP_STORAGE keys are for the tmp storage only)
- export AWS_ACCESS_KEY_ID=$PUBLISH_AWS_ACCESS_KEY_ID - export AWS_ACCESS_KEY_ID=$PUBLISH_AWS_ACCESS_KEY_ID
- export AWS_SECRET_ACCESS_KEY=$PUBLISH_AWS_SECRET_ACCESS_KEY - export AWS_SECRET_ACCESS_KEY=$PUBLISH_AWS_SECRET_ACCESS_KEY
- echo "Publishing ${RASPBIAN_NAME}-mender-${MENDER_CLIENT_VERSION}.img.xz version to S3"
- aws s3 cp deploy/${RASPBIAN_NAME}-raspberrypi3-mender.img.xz - for RASPBERRYPI_PLATFORM in raspberrypi3 raspberrypi4; do
s3://$S3_BUCKET_NAME/${RASPBIAN_NAME}/arm/${RASPBIAN_NAME}-mender-${MENDER_CLIENT_VERSION}.img.xz - PUBLISH_NAME=${RASPBIAN_NAME}-${RASPBERRYPI_PLATFORM}-mender-${MENDER_CLIENT_VERSION}.img.xz
- aws s3api put-object-acl --acl public-read --bucket $S3_BUCKET_NAME - echo "Publishing ${PUBLISH_NAME} version to S3"
--key ${RASPBIAN_NAME}/arm/${RASPBIAN_NAME}-mender-${MENDER_CLIENT_VERSION}.img.xz - aws s3 cp ${RASPBERRYPI_PLATFORM}/${RASPBIAN_NAME}-${RASPBERRYPI_PLATFORM}-mender.img.xz
- echo "Publishing ${RASPBIAN_NAME}-mender-${MENDER_CLIENT_VERSION}.mender version to S3" s3://$S3_BUCKET_NAME/${RASPBIAN_NAME}/arm/${PUBLISH_NAME}
- aws s3 cp deploy/${RASPBIAN_NAME}-raspberrypi3-mender.mender - aws s3api put-object-acl --acl public-read --bucket $S3_BUCKET_NAME
s3://$S3_BUCKET_NAME/${RASPBIAN_NAME}/arm/${RASPBIAN_NAME}-mender-${MENDER_CLIENT_VERSION}.mender --key ${RASPBIAN_NAME}/arm/${PUBLISH_NAME}
- aws s3api put-object-acl --acl public-read --bucket $S3_BUCKET_NAME
--key ${RASPBIAN_NAME}/arm/${RASPBIAN_NAME}-mender-${MENDER_CLIENT_VERSION}.mender - PUBLISH_NAME=${RASPBIAN_NAME}-${RASPBERRYPI_PLATFORM}-mender-${MENDER_CLIENT_VERSION}.mender
- echo "Publishing ${PUBLISH_NAME} version to S3"
- aws s3 cp ${RASPBERRYPI_PLATFORM}/${RASPBIAN_NAME}-${RASPBERRYPI_PLATFORM}-mender.mender
s3://$S3_BUCKET_NAME/${RASPBIAN_NAME}/arm/${PUBLISH_NAME}
- aws s3api put-object-acl --acl public-read --bucket $S3_BUCKET_NAME
--key ${RASPBIAN_NAME}/arm/${PUBLISH_NAME}
- done
only: only:
- /^(master|[0-9]+\.[0-9]+\.x)$/ - /^(master|[0-9]+\.[0-9]+\.x)$/

0
configs/images/raspberrypi3_raspbian_config → configs/images/raspberrypi_raspbian_config

Loading…
Cancel
Save