Commit d1ad3052 authored by James T. Lee's avatar James T. Lee
Browse files

Initial haswell-workstation build

Parameterize the GitLab CI script and add the profile change to the
Containerfile.
parent 3304b28f
Pipeline #295 failed with stage
in 3 minutes and 29 seconds
...@@ -4,21 +4,36 @@ default: ...@@ -4,21 +4,36 @@ default:
before_script: before_script:
- 'buildah login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"' - 'buildah login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"'
'Build haswell-server': .'Build haswell-server':
stage: 'build' stage: 'build'
tags: ['nest'] tags: ['nest']
script: variables:
CPU: 'haswell'
ROLE: 'server'
QEMU_ARCH: 'x86_64'
script: &script
- 'mkdir debug' - 'mkdir debug'
- 'buildah bud --pull - 'buildah bud --pull
--security-opt seccomp=unconfined --security-opt seccomp=unconfined
--build-arg STAGE0_TAG=haswell --build-arg STAGE0_TAG="$CPU"
--build-arg FACTER_emerge_default_opts="$CI_HOST_EMERGE_DEFAULT_OPTS" --build-arg FACTER_emerge_default_opts="$CI_HOST_EMERGE_DEFAULT_OPTS"
--build-arg FACTER_makeopts="$CI_HOST_MAKEOPTS" --build-arg FACTER_makeopts="$CI_HOST_MAKEOPTS"
--build-arg PROFILE="${CPU}/${ROLE}"
-v "/usr/bin/qemu-${QEMU_ARCH}:/usr/bin/qemu-${QEMU_ARCH}:ro"
-v "${PUPPET_CERTIFICATE}:/etc/puppetlabs/puppet/ssl/certs/ci.pem" -v "${PUPPET_CERTIFICATE}:/etc/puppetlabs/puppet/ssl/certs/ci.pem"
-v "${PUPPET_PRIVATE_KEY}:/etc/puppetlabs/puppet/ssl/private_keys/ci.pem" -v "${PUPPET_PRIVATE_KEY}:/etc/puppetlabs/puppet/ssl/private_keys/ci.pem"
-v "${PWD}/debug:/usr/lib/debug" -v "${PWD}/debug:/usr/lib/debug"
-v /nest:/nest -v /nest:/nest
-t "${CI_REGISTRY_IMAGE}:haswell-server" .' -t "${CI_REGISTRY_IMAGE}:${CPU}-${ROLE}" .'
- 'buildah bud --build-arg STAGE0_TAG=haswell -t "${CI_REGISTRY_IMAGE}/debug:haswell-server" -f Containerfile.debug .' - 'buildah bud --build-arg STAGE0_TAG="$CPU" -t "${CI_REGISTRY_IMAGE}/debug:${CPU}-${ROLE}" -f Containerfile.debug .'
- 'buildah push "${CI_REGISTRY_IMAGE}:haswell-server"' - 'buildah push "${CI_REGISTRY_IMAGE}:${CPU}-${ROLE}"'
- 'buildah push "${CI_REGISTRY_IMAGE}/debug:haswell-server"' - 'buildah push "${CI_REGISTRY_IMAGE}/debug:${CPU}-${ROLE}"'
'Build haswell-workstation':
stage: 'build'
tags: ['nest']
variables:
CPU: 'haswell'
ROLE: 'workstation'
QEMU_ARCH: 'x86_64'
script: *script
...@@ -3,9 +3,15 @@ FROM nest/stage0:${STAGE0_TAG} ...@@ -3,9 +3,15 @@ FROM nest/stage0:${STAGE0_TAG}
ARG FACTER_emerge_default_opts ARG FACTER_emerge_default_opts
ARG FACTER_makeopts ARG FACTER_makeopts
ARG PROFILE
RUN eix-sync -q RUN eix-sync -q
RUN FACTER_build=stage1 puppet agent --test --certname ci --environment main --logdir /var/log/puppet --rundir /var/run/puppet --vardir /var/lib/puppet --runtimeout 0; [ $? -eq 2 ] RUN FACTER_build=stage1 puppet agent --test --certname ci --environment main --tags nest::base::distcc,nest::base::portage,nest::base::puppet --logdir /var/log/puppet --rundir /var/run/puppet --vardir /var/lib/puppet --runtimeout 0; [ $? -eq 2 ]
RUN eselect profile set "nest:${PROFILE}"
RUN emerge --info
RUN emerge -v --update --deep --newuse --with-bdeps=y @world
RUN emerge --depclean
RUN FACTER_build=stage1 puppet agent --test --runtimeout 0; [ $? -eq 2 ]
RUN rm -rf /var/db/repos RUN rm -rf /var/db/repos
CMD ["/bin/zsh"] CMD ["/bin/zsh"]
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment