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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
stages:
- source
- build
- deploy
portable-source:
stage: source
tags:
- graphviz,centos7
script:
- ./autogen.sh
- make dist
artifacts:
when: on_success
expire_in: 1 week
paths:
- VERSION
- COLLECTION
- graphviz-*.tar.gz
only:
- master
.build_template: &rpm_build_definition
stage: build
script:
- rm -rf /home/gitlab-runner/rpmbuild
- GV_VERSION=$( cat VERSION )
- COLLECTION=$( cat COLLECTION )
- rpmbuild -ta graphviz-${GV_VERSION}.tar.gz
- ID=$( cat /etc/redhat-release | cut -d' ' -f1 | tr 'A-Z' 'a-z' )
- VERSION_ID=$( cat /etc/redhat-release | cut -d' ' -f3 | cut -d'.' -f1 )
- if test -f /etc/os-release; then . /etc/os-release; fi
- DIR=Packages/${COLLECTION}/${ID}/${VERSION_ID}
- ARCH=$( uname -m )
- mkdir -p ${DIR}/os/${ARCH}
- mkdir -p ${DIR}/debug/${ARCH}
- mkdir -p ${DIR}/source
- mv /home/gitlab-runner/rpmbuild/SRPMS/*.src.rpm ${DIR}/source/
- mv /home/gitlab-runner/rpmbuild/RPMS/*/*debuginfo*rpm ${DIR}/debug/${ARCH}/
- mv /home/gitlab-runner/rpmbuild/RPMS/*/*.rpm ${DIR}/os/${ARCH}/
artifacts:
when: on_success
expire_in: 1 week
paths:
- Packages/*/*/*/*/*/*.rpm
- Packages/*/*/*/*/*.rpm
only:
- master
.build_template: &deb_build_definition
stage: build
script:
- GV_VERSION=$( cat VERSION )
- COLLECTION=$( cat COLLECTION )
- zcat graphviz-${GV_VERSION}.tar.gz | tar xf -
- (cd graphviz-${GV_VERSION}; fakeroot make -f debian/rules binary)
- . /etc/os-release
- DIR=Packages/${COLLECTION}/${ID}/${VERSION_ID}
- ARCH=$( uname -m )
- mkdir -p ${DIR}/os/${ARCH}
- mkdir -p ${DIR}/debug/${ARCH}
- mkdir -p ${DIR}/source
- mv *.deb ${DIR}/os/${ARCH}/
- mv *.ddeb ${DIR}/debug/${ARCH}/
artifacts:
when: on_success
expire_in: 1 week
paths:
- Packages/*/*/*/*/*/*deb
- Packages/*/*/*/*/*.gz
only:
- master
centos6-build:
<<: *rpm_build_definition
tags:
- graphviz,centos6
centos7-build:
<<: *rpm_build_definition
tags:
- graphviz,centos7
fedora27-build:
<<: *rpm_build_definition
tags:
- graphviz,fedora27
fedora28-build:
<<: *rpm_build_definition
tags:
- graphviz,fedora28
fedora29-build:
<<: *rpm_build_definition
tags:
- graphviz,fedora29
fedora30-build:
<<: *rpm_build_definition
tags:
- graphviz,fedora30
fedora31-build:
<<: *rpm_build_definition
tags:
- graphviz,fedora31
fedora32-build:
<<: *rpm_build_definition
tags:
- graphviz,fedora32
ubuntu18-04-build:
<<: *deb_build_definition
tags:
- graphviz,ubuntu18-04
ubuntu18-10-build:
<<: *deb_build_definition
tags:
- graphviz,ubuntu18-10
ubuntu19-04-build:
<<: *deb_build_definition
tags:
- graphviz,ubuntu19-04
deployment:
stage: deploy
script:
- GV_VERSION=$( cat VERSION )
- COLLECTION=$( cat COLLECTION )
- eval $(ssh-agent -s)
- cat "$DEPLOY_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan "$DEPLOY_HOST" >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- chmod -R o-rwx Packages
- chmod -R g-wx Packages
- chmod -R g+X Packages
- ssh "$DEPLOY_USER"@"$DEPLOY_HOST" 'rm -rf Packages/'"$COLLECTION"'/{fedora,centos,ubuntu}'
- scp -r Packages/* "$DEPLOY_USER"@"$DEPLOY_HOST"':'Packages/
- ssh "$DEPLOY_USER"@"$DEPLOY_HOST" 'for i in Packages/'"$COLLECTION"'/{fedora,centos}/*/{source,os/*,debug/*}; do createrepo $i; done'
- scp graphviz-fedora.repo graphviz-centos.repo "$DEPLOY_USER"@"$DEPLOY_HOST"':'Packages/
- ssh "$DEPLOY_USER"@"$DEPLOY_HOST" mkdir -p Packages/"$COLLECTION"/portable_source
- scp graphviz-"$GV_VERSION".tar.gz "$DEPLOY_USER"@"$DEPLOY_HOST"':'Packages/"$COLLECTION"/portable_source/
only:
- master
tags:
- graphviz,deploy
|