File: rdep-build-script.yml

package info (click to toggle)
node-typescript 4.9.5%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 533,908 kB
  • sloc: javascript: 2,018,330; makefile: 7; sh: 1
file content (87 lines) | stat: -rw-r--r-- 2,954 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
.rdep-build-before-script: &rdep-build-before-script |
   # Reported in https://salsa.debian.org/salsa-ci-team/pipeline/issues/104,
   # GitLab can only expand variables once. So at the beginning CCACHE_WORK_DIR
   # was assigned to `${WORKING_DIR}/.ccache`, and it will be expanded as
   # `$CI_PROJECT_DIR/debian/output/.ccache`, so it creates a folder named
   # "\$CI_PROJECT_DIR", which is then saved as build cache. To allow smooth
   # transition, that wrongly named folder has to be removed:
   rm -rf '$CI_PROJECT_DIR'

   # salsa-ci-team/pipeline#107
   rm -rf ${CI_PROJECT_DIR}/debian/output/.ccache

   mkdir -p ${WORKING_DIR} ${CCACHE_WORK_DIR}

   # https://salsa.debian.org/salsa-ci-team/pipeline/-/merge_requests/230
   rm -rf ${CCACHE_TMP_DIR}

   mv ${CCACHE_WORK_DIR} ${CCACHE_TMP_DIR}
   add_extra_repository.sh -v -e "${SALSA_CI_EXTRA_REPOSITORY}" -k "${SALSA_CI_EXTRA_REPOSITORY_KEY}"
   echo "deb [trusted=yes] $PARENT_APTLY_REPO" | tee /etc/apt/sources.list.d/pkga.list
   apt-get update



.rdep-build-script: &rdep-build-script |
   set -x
   export CCACHE_DIR=${CCACHE_TMP_DIR}
   # Add deb-src entries
   sed -i 's/^Types:.*/Types: deb deb-src/' /etc/apt/sources.list.d/debian.sources
   apt-get update && eatmydata apt-get install --no-install-recommends -y \
     aptitude \
     devscripts \
     ccache \
     equivs \
     fakeroot \
     build-essential \
     apt-utils
   apt-cache policy node-typescript
   # install build dep
   apt -y build-dep ${REVERSE_DEP}
   # download source
   cd ${WORKING_DIR}
   # Generate ccache links
   dpkg-reconfigure ccache
   PATH="/usr/lib/ccache/:${PATH}"
   # Reset ccache stats
   ccache -z
   # Create salsaci user and fix permissions
   useradd salsaci
   chown -R salsaci. ${WORKING_DIR} ${CCACHE_DIR}
   # Define buildlog filename
   BUILD_LOGFILE="${CI_PROJECT_DIR}/${REVERSE_DEP}.build"
   # Build package as user salsaci
   ret=0
   apt-get source "${REVERSE_DEP}"
   chown -R salsaci "${REVERSE_DEP}"-*
   runuser -u salsaci -- env --chdir "${REVERSE_DEP}"-* eatmydata dpkg-buildpackage --build=any,all --unsigned-changes |& OUTPUT_FILENAME=${BUILD_LOGFILE} filter-output || ret=$?
   if [ "$ret" -eq 0 ]; then
     echo "building $REVERSE_DEP succeeded" > /dev/stderr
   else
     echo "building $REVERSE_DEP failed" > /dev/stderr
     exit "$ret"
   fi
   # Restore PWD to ${WORKING_DIR}
   cd ${WORKING_DIR}
   rm -rf ${WORKING_DIR}/${REVERSE_DEP}*
   # Print ccache stats on job log
   ccache -s

.rdep-build-definition: &rdep-build-definition
  stage: test
  image: ${SALSA_CI_IMAGES_BASE}
  cache:
    key: "${REVERSE_DEP}-build"
    paths:
      - .ccache
  variables:
    CCACHE_TMP_DIR: ${CI_PROJECT_DIR}/../.ccache
    CCACHE_WORK_DIR: ${CI_PROJECT_DIR}/.ccache
  script:
    - *rdep-build-before-script
    - *rdep-build-script
    - mv ${CCACHE_TMP_DIR} ${CCACHE_WORK_DIR}
  needs:
    - pipeline: $PARENT_PIPELINE_ID
      job: build
      artifacts: true