mirror of https://gerrit.osmocom.org/osmo-ci
jobs/gerrit-lint: run as part of pipeline
Reduce mails by running gerrit-lint as part of the gerrit-verifications pipeline. Related: OS#2385 Change-Id: I5f1340248cd116c5fa5134eee3fae50baf7ef851
This commit is contained in:
parent
4d214f4f9a
commit
58ecce985b
|
@ -1,99 +1,17 @@
|
|||
# This file holds all gerrit lint verifications https://jenkins.osmocom.org/jenkins/view/Jenkins-Gerrit/.
|
||||
# One can simply add a gerrit job by adding project's repository to repos list.
|
||||
# Add project's repositories to jobs/gerrit-verifications.yml. When
|
||||
# pipeline_lint is set for that project, the pipeline will call the gerrit-lint
|
||||
# job for it.
|
||||
|
||||
- project:
|
||||
name: gerrit-lint
|
||||
# following default values can be overridden by each repo
|
||||
disabled: false
|
||||
gerrit_url: 'ssh://jenkins@gerrit.osmocom.org:29418'
|
||||
repos_url: '{gerrit_url}/{repos}'
|
||||
gerrit_project: '{repos}'
|
||||
|
||||
# in alphabetical order
|
||||
repos:
|
||||
- asn1c
|
||||
- cellmgr-ng
|
||||
- docker-playground
|
||||
- libasn1c
|
||||
- libgtpnl
|
||||
- libosmo-abis
|
||||
- libosmo-gprs
|
||||
- libosmo-netif
|
||||
- libosmo-pfcp
|
||||
- libosmo-sccp
|
||||
- libosmocore
|
||||
- libsmpp34
|
||||
- libtelnet
|
||||
- libusrp
|
||||
- openbsc
|
||||
- openggsn
|
||||
- osmo-bsc
|
||||
- osmo-bsc-nat
|
||||
- osmo-bts
|
||||
- osmo-hnodeb
|
||||
- osmo-hnbgw
|
||||
- osmo-upf
|
||||
- osmo-ci
|
||||
|
||||
- osmo_dia2gsup:
|
||||
repos_url: '{gerrit_url}/erlang/{repos}'
|
||||
gerrit_project: 'erlang/{repos}'
|
||||
|
||||
- osmo-e1-hardware
|
||||
- osmo-ggsn
|
||||
- osmo-gsm-manuals
|
||||
|
||||
- osmo_gsup:
|
||||
repos_url: '{gerrit_url}/erlang/{repos}'
|
||||
gerrit_project: 'erlang/{repos}'
|
||||
|
||||
- osmo-hlr
|
||||
- osmo-iuh
|
||||
- osmo-mgw
|
||||
- osmo-msc
|
||||
- osmo-pcap
|
||||
- osmo-pcu
|
||||
|
||||
- osmo-python-tests:
|
||||
repos_url: '{gerrit_url}/python/{repos}'
|
||||
gerrit_project: 'python/{repos}'
|
||||
|
||||
- osmo-sgsn
|
||||
|
||||
- osmo_ss7:
|
||||
repos_url: '{gerrit_url}/erlang/{repos}'
|
||||
gerrit_project: 'erlang/{repos}'
|
||||
|
||||
- osmo-sip-connector
|
||||
- osmo-trx
|
||||
- osmocom-bb
|
||||
- osmo-tetra
|
||||
- osmo-sysmon
|
||||
- osmo-remsim
|
||||
- simtrace2
|
||||
- osmo-asf4-dfu
|
||||
- osmo-ccid-firmware
|
||||
- osmo-e1d
|
||||
- osmo-cbc
|
||||
- osmo-e1-recorder
|
||||
- gapk
|
||||
- osmo-uecups
|
||||
- osmo-el2tpd
|
||||
- osmo-smlc
|
||||
- osmo-gbproxy
|
||||
- pysim
|
||||
|
||||
- osmo-ttcn3-hacks:
|
||||
repos_url: 'https://gerrit.osmocom.org/{repos}'
|
||||
|
||||
jobs:
|
||||
- 'gerrit-{repos}-lint'
|
||||
- 'gerrit-lint'
|
||||
|
||||
- job-template:
|
||||
name: 'gerrit-{repos}-lint'
|
||||
- job:
|
||||
name: 'gerrit-lint'
|
||||
project-type: freestyle
|
||||
node: osmocom-gerrit-debian9
|
||||
disabled: '{obj:disabled}'
|
||||
retry-count: 3 # scm checkout
|
||||
properties:
|
||||
- build-discarder:
|
||||
|
@ -102,8 +20,7 @@
|
|||
artifact-days-to-keep: -1
|
||||
artifact-num-to-keep: -1
|
||||
description: |
|
||||
Run linting on patches submitted to gerrit for
|
||||
<a href="https://gerrit.osmocom.org/#/q/status:open+project:{repos}">{repos}</a>
|
||||
Lint job of CI for patches sent to <a href="https://gerrit.osmocom.org">gerrit</a>.
|
||||
</br></br>
|
||||
Related issue: <a href="https://osmocom.org/issues/5087">OS#5087</a>
|
||||
|
||||
|
@ -113,11 +30,29 @@
|
|||
description: |
|
||||
osmo-ci.git branch
|
||||
default: 'master'
|
||||
- string:
|
||||
name: GERRIT_BRANCH
|
||||
description: set by gerrit verification pipeline job
|
||||
- string:
|
||||
name: GERRIT_HOST
|
||||
description: set by gerrit verification pipeline job
|
||||
- string:
|
||||
name: GERRIT_PATCHSET_REVISION
|
||||
description: set by gerrit verification pipeline job
|
||||
- string:
|
||||
name: GERRIT_PORT
|
||||
description: set by gerrit verification pipeline job
|
||||
- string:
|
||||
name: GERRIT_REFSPEC
|
||||
description: set by gerrit verification pipeline job
|
||||
- string:
|
||||
name: GERRIT_REPO_URL
|
||||
description: set by gerrit verification pipeline job
|
||||
|
||||
scm:
|
||||
- git:
|
||||
basedir: 'code-from-gerrit'
|
||||
url: '{obj:repos_url}'
|
||||
url: '$GERRIT_REPO_URL'
|
||||
credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d
|
||||
branches:
|
||||
- $GERRIT_BRANCH
|
||||
|
@ -130,35 +65,12 @@
|
|||
recursive: false
|
||||
- git:
|
||||
basedir: 'osmo-ci'
|
||||
url: '{gerrit_url}/osmo-ci'
|
||||
url: 'https://gerrit.osmocom.org/osmo-ci'
|
||||
credentials-id: d5eda5e9-b59d-44ba-88d2-43473cb6e42d
|
||||
branches:
|
||||
- '$BRANCH_CI'
|
||||
wipe-workspace: true
|
||||
|
||||
triggers:
|
||||
- gerrit:
|
||||
trigger-on:
|
||||
- patchset-created-event:
|
||||
exclude-drafts: true
|
||||
exclude-no-code-change: true
|
||||
projects:
|
||||
- project-compare-type: 'PLAIN'
|
||||
project-pattern: '{obj:gerrit_project}'
|
||||
branches:
|
||||
- branch-compare-type: 'ANT'
|
||||
branch-pattern: '**'
|
||||
skip-vote:
|
||||
successful: false
|
||||
failed: false
|
||||
unstable: false
|
||||
notbuilt: false
|
||||
silent: false
|
||||
escape-quotes: false
|
||||
no-name-and-email: false
|
||||
trigger-for-unreviewed-patches: true
|
||||
server-name: gerrit.osmocom.org
|
||||
|
||||
builders:
|
||||
- shell: 'cd code-from-gerrit && ../osmo-ci/lint/lint_diff.sh HEAD~1'
|
||||
|
||||
|
|
|
@ -66,11 +66,16 @@
|
|||
gerrit_project: '{repos}'
|
||||
# Which jobs to run in the pipeline
|
||||
pipeline_build: true
|
||||
pipeline_lint: true
|
||||
|
||||
# in alphabetical order
|
||||
repos:
|
||||
- asn1c
|
||||
- cellmgr-ng
|
||||
|
||||
- docker-playground:
|
||||
pipeline_build: false
|
||||
|
||||
- libasn1c
|
||||
- libgtpnl
|
||||
- libosmo-abis
|
||||
|
@ -300,7 +305,8 @@
|
|||
su build -c 'make compile';
|
||||
"
|
||||
|
||||
- dahdi-tools
|
||||
- dahdi-tools:
|
||||
pipeline_lint: false
|
||||
|
||||
jobs:
|
||||
- 'gerrit-{repos}'
|
||||
|
@ -314,6 +320,14 @@
|
|||
name: PIPELINE_BUILD
|
||||
description: Enable the build job (runs contrib/jenkins.sh)
|
||||
default: '{obj:pipeline_build}'
|
||||
- bool:
|
||||
name: PIPELINE_LINT
|
||||
description: Enable the lint job
|
||||
default: '{obj:pipeline_lint}'
|
||||
- string:
|
||||
name: REPO_URL
|
||||
description: Clone URL, to be passed to jobs started in the pipeline
|
||||
default: '{obj:repos_url}'
|
||||
dsl: |
|
||||
pipeline {{
|
||||
agent {{ label "osmocom-gerrit" }}
|
||||
|
@ -338,11 +352,34 @@
|
|||
}}
|
||||
}}
|
||||
}}
|
||||
stage("Lint") {{
|
||||
when {{
|
||||
expression {{ params.PIPELINE_LINT }}
|
||||
}}
|
||||
steps {{
|
||||
script {{
|
||||
// Run the lint job for this repository and keep going on failure
|
||||
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {{
|
||||
env.PIPELINE_LINT_PASSED = "0"
|
||||
build job: 'gerrit-lint', parameters: [
|
||||
string(name: "GERRIT_BRANCH", value: "${{env.GERRIT_BRANCH}}"),
|
||||
string(name: "GERRIT_HOST", value: "${{env.GERRIT_HOST}}"),
|
||||
string(name: "GERRIT_PATCHSET_REVISION", value: "${{env.GERRIT_PATCHSET_REVISION}}"),
|
||||
string(name: "GERRIT_PORT", value: "${{env.GERRIT_PORT}}"),
|
||||
string(name: "GERRIT_REFSPEC", value: "${{env.GERRIT_REFSPEC}}"),
|
||||
string(name: "GERRIT_REPO_URL", value: "${{env.REPO_URL}}"),
|
||||
]
|
||||
env.PIPELINE_LINT_PASSED = "1"
|
||||
}}
|
||||
}}
|
||||
}}
|
||||
}}
|
||||
}}
|
||||
}}
|
||||
stage("Result") {{
|
||||
steps {{
|
||||
echo "PIPELINE_BUILD_PASSED=${{env.PIPELINE_BUILD_PASSED}}"
|
||||
echo "PIPELINE_LINT_PASSED=${{env.PIPELINE_LINT_PASSED}}"
|
||||
}}
|
||||
}}
|
||||
// The end result is success if all started jobs were successful,
|
||||
|
|
Loading…
Reference in New Issue