Skip to content

Commit 5bcdd54

Browse files
committed
Add clang-format dockerfile to this repo.
Add --rebuild-docker flag in trigger
1 parent da1e620 commit 5bcdd54

File tree

2 files changed

+54
-1
lines changed

2 files changed

+54
-1
lines changed

dockerfile/clang-format.dockerfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# MEGA clang-format Linter
2+
# mega-docker.artifactory.developers.mega.co.nz:8443/clang-format-desktop:latest
3+
4+
FROM ubuntu:22.04
5+
6+
ENV DEBCONF_NOWARNINGS=yes
7+
ENV DEBIAN_FRONTEND=noninteractive
8+
9+
RUN apt-get update && \
10+
apt-get install -y git clang-format && \
11+
useradd clang-format -d /var/lib/clang-format -m -s /bin/bash
12+
13+
USER clang-format
14+
15+
WORKDIR /var/lib/clang-format

jenkinsfile/MR_status/Jenkinsfile_MR_clang_format

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
def REBUILD_IMAGE = false
2+
13
pipeline {
24
agent none
35
options {
46
buildDiscarder(logRotator(numToKeepStr: '135', daysToKeepStr: '21'))
57
gitLabConnection('GitLabConnectionJenkins')
8+
ansiColor('xterm')
69
}
710
stages {
811
stage('Update Gitlab commit status') {
@@ -27,10 +30,45 @@ pipeline {
2730
])
2831
}
2932
}
33+
stage('Get parameters'){
34+
steps {
35+
script{
36+
// flag may be `--rebuild-docker` or empty ``
37+
def flag = sh(script: 'echo "$gitlabTriggerPhrase" | grep -o "\\-\\-rebuild-docker\\$" || :', returnStdout: true).trim()
38+
REBUILD_IMAGE = flag == "--rebuild-docker"
39+
echo "REBUILD_IMAGE set to ${REBUILD_IMAGE}"
40+
}
41+
}
42+
}
43+
stage('Rebuild docker image') {
44+
when {
45+
beforeAgent true
46+
expression { REBUILD_IMAGE }
47+
}
48+
steps {
49+
dir ("dockerfile") {
50+
sh """
51+
docker build \
52+
-f clang-format.dockerfile \
53+
-t mega-docker.artifactory.developers.mega.co.nz:8443/clang-format-desktop:latest \
54+
.
55+
"""
56+
}
57+
withCredentials([usernamePassword(credentialsId: 'artifactory-jenkins-docker', usernameVariable: 'ART_USER', passwordVariable: 'ART_PASS')]) {
58+
sh """
59+
echo \$ART_PASS | docker login \
60+
-u \$ART_USER \
61+
--password-stdin \
62+
mega-docker.artifactory.developers.mega.co.nz:8443
63+
docker push mega-docker.artifactory.developers.mega.co.nz:8443/clang-format-desktop:latest
64+
"""
65+
}
66+
}
67+
}
3068
stage('Clang format'){
3169
agent {
3270
docker {
33-
image 'mega-docker.artifactory.developers.mega.co.nz:8443/clang-format:latest'
71+
image 'mega-docker.artifactory.developers.mega.co.nz:8443/clang-format-desktop:latest'
3472
reuseNode true
3573
}
3674
}

0 commit comments

Comments
 (0)