Fix: Update script and Dockerfile
[releng/global-jjb.git] / shell / sigul-sign-dir.sh
1 #!/bin/bash -l
2 # SPDX-License-Identifier: EPL-1.0
3 ##############################################################################
4 # Copyright (c) 2018 The Linux Foundation and others.
5 #
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Eclipse Public License v1.0
8 # which accompanies this distribution, and is available at
9 # http://www.eclipse.org/legal/epl-v10.html
10 ##############################################################################
11 echo "---> sigul-sign-dir.sh"
12
13 # Ensure we fail the job if any steps fail.
14 set -e -o pipefail
15
16 OS=$(facter operatingsystem | tr '[:upper:]' '[:lower:]')
17 OS_RELEASE=$(facter lsbdistrelease | tr '[:upper:]' '[:lower:]')
18 if [[ "$OS_RELEASE" == "8" && "$OS" == 'centos' ]]; then
19     # Get Dockerfile and the enterpoint to build the docker image.
20     wget -O "${WORKSPACE}/sigul-sign.sh" "https://raw.githubusercontent.com/"\
21 "lfit/releng-global-jjb/master/shell/sigul-sign.sh"
22     wget -O "${WORKSPACE}/Dockerfile" "https://raw.githubusercontent.com/"\
23 "lfit/releng-global-jjb/master/docker/Dockerfile"
24
25     # Setup the docker environment for jenkins user
26     docker build -f ${WORKSPACE}/Dockerfile \
27         --build-arg SIGN_DIR=${SIGN_DIR} \
28         -t sigul-sign .
29
30     docker volume create --driver local \
31         --opt type=none \
32         --opt device=/w/workspace \
33         --opt o=bind \
34         wrkspc_vol
35
36     docker volume inspect wrkspc_vol
37
38     docker run -e SIGUL_KEY="${SIGUL_KEY}" \
39         -e SIGUL_PASSWORD="${SIGUL_PASSWORD}" \
40         -e SIGUL_CONFIG=${SIGUL_CONFIG} \
41         -e SIGN_DIR=${SIGN_DIR} \
42         -e WORKSPACE=${WORKSPACE} \
43         --name sigul-sign \
44         --security-opt label:disable \
45         --mount type=bind,source="/w/workspace",target="/w/workspace" \
46         --mount type=bind,source="/home/jenkins",target="/home/jenkins" \
47         -u root:root -w $(pwd) sigul-sign
48
49     # change the .asc files owner permissions back to jenkins
50     sudo chown -R jenkins:jenkins "${SIGN_DIR}"
51 else
52     lftools sign sigul -m "${SIGN_MODE}" "${SIGN_DIR}"
53 fi