Jenkinsfile 1.07 KB
Newer Older
1
pipeline {
2
	agent none
3
4
	environment {
		GLUON_SITEDIR = "contrib/ci/minimal-site"
5
6
		GLUON_TARGET = "x86-64"
		BUILD_LOG = "1"
7
8
9
	}
	stages {
		stage('lint') {
10
11
12
13
14
15
16
17
			parallel {
				stage('lint-lua') {
					agent { label 'gluon-docker' }
					steps {
						sh 'make lint-lua'
					}
				}
				stage('lint-sh') {
18
					agent { label 'gluon-docker-v1' }
19
20
21
					steps {
						sh 'make lint-sh'
					}
22
				}
23
24
25
			}
		}
		stage('docs') {
26
			agent { label 'gluon-docker' }
27
28
29
30
31
			steps {
				sh 'make -C docs html'
			}
		}
		stage('build') {
32
			agent { label 'gluon-docker' }
33
34
			steps {
				sh 'make update'
35
36
				sh 'test -d /dl_cache && ln -s /dl_cache openwrt/dl || true'
				sh 'make -j$(nproc) V=s'
37
38
39
			}
		}
	}
40
}
41

42
43
44
45
46
47
48
49
50
51
52
/*
 api-history:

 Every time the build dependencies of gluon change, the version
 every container has to be rebuilt. Therefore, we use Jenkins
 labels which intoduce a version number which is documented here.
 As soon, as you properly rebuilt your docker container, you
 can notify lemoer, that you have updated your node.

 - gluon-docker-v1: add shellcheck binary to the build environment
*/