2019-09-18 07:16:43 +02:00
|
|
|
#
|
2019-09-18 07:21:43 +02:00
|
|
|
# MetaCall Guix by Parra Studios
|
|
|
|
# Docker image for using GuixSD in a CI/CD environment.
|
2019-09-18 07:16:43 +02:00
|
|
|
#
|
|
|
|
# Copyright (C) 2016 - 2019 Vicente Eduardo Ferrer Garcia <vic798@gmail.com>
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
#
|
|
|
|
|
|
|
|
language: minimal
|
|
|
|
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
|
|
|
|
sudo: required
|
|
|
|
|
|
|
|
services:
|
|
|
|
- docker
|
|
|
|
|
|
|
|
dist: bionic
|
|
|
|
|
|
|
|
# Global environment variables
|
|
|
|
env:
|
|
|
|
global:
|
2019-09-18 07:57:26 +02:00
|
|
|
- DOCKER_VERSION: 19.03.2
|
2019-09-18 08:35:17 +02:00
|
|
|
- DOCKER_BUILDKIT: 1
|
2019-09-18 07:16:43 +02:00
|
|
|
|
2019-09-18 07:29:25 +02:00
|
|
|
# Update Docker
|
2019-09-18 07:16:43 +02:00
|
|
|
before_script:
|
|
|
|
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
|
|
|
- sudo apt-key fingerprint 0EBFCD88
|
2019-09-18 07:44:23 +02:00
|
|
|
- sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable edge"
|
2019-09-18 07:16:43 +02:00
|
|
|
- sudo apt-get update
|
2019-09-18 07:44:23 +02:00
|
|
|
- apt-cache policy docker-ce
|
2019-09-18 08:09:24 +02:00
|
|
|
- sudo apt-get install -y docker-ce="5:${DOCKER_VERSION}~3-0~ubuntu-$(lsb_release -cs)"
|
2019-09-18 08:35:17 +02:00
|
|
|
- sudo mv daemon.json /etc/docker/daemon.json
|
2019-09-18 09:09:08 +02:00
|
|
|
- sudo systemctl restart docker
|
|
|
|
- docker version
|
2019-09-18 10:34:32 +02:00
|
|
|
- docker build --platform=local -o . git://github.com/docker/buildx > logs 2>&1
|
|
|
|
- tail -n 500 logs
|
2019-09-18 09:23:26 +02:00
|
|
|
- mkdir -p ~/.docker/cli-plugins/
|
2019-09-18 09:15:13 +02:00
|
|
|
- mv buildx ~/.docker/cli-plugins/docker-buildx
|
2019-09-18 07:16:43 +02:00
|
|
|
|
|
|
|
# Run the build and packaging
|
|
|
|
script:
|
2019-09-18 09:44:15 +02:00
|
|
|
- docker buildx create --use --name insecure-builder --buildkitd-flags '--allow-insecure-entitlement security.insecure'
|
2019-09-18 10:15:45 +02:00
|
|
|
- sh -c 'while true; do echo "."; sleep 300; done' &
|
|
|
|
- TRAVIS_POLL=$!
|
|
|
|
- echo "Polling process pid (${TRAVIS_POLL})"
|
2019-09-19 01:35:53 +02:00
|
|
|
- docker buildx build --tag metacall/guix --allow security.insecure --build-arg METACALL_GUIX_VERSION="1.0.1" --build-arg METACALL_GUIX_ARCH="x86_64" . > logs 2>&1
|
2019-09-18 10:34:32 +02:00
|
|
|
- tail -n 500 logs
|
2019-09-18 10:15:45 +02:00
|
|
|
- kill -9 ${TRAVIS_POLL}
|
2019-09-18 07:16:43 +02:00
|
|
|
|
2019-09-18 09:15:13 +02:00
|
|
|
# Upload the built images to DockerHub
|
2019-09-18 07:16:43 +02:00
|
|
|
after_script:
|
2019-09-19 01:35:53 +02:00
|
|
|
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
|
|
|
- docker push metacall/guix
|