Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ci
Path: blob/main/jjb/macro.yaml
1130 views
1
- parameter:
2
name: USE_GIT_COMMIT
3
parameters:
4
- string:
5
name: USE_GIT_COMMIT
6
description: Git commit hash to build
7
8
- builder:
9
name: checkout-scripts
10
builders:
11
- shell: |
12
rm -fr freebsd-ci
13
git clone --depth=1 --single-branch -b main https://github.com/freebsd/freebsd-ci.git
14
cd freebsd-ci; git rev-parse HEAD; cd ..
15
16
- builder:
17
name: execute-job-build-script
18
builders:
19
- shell: |
20
sh -ex freebsd-ci/jobs/${{JOB_NAME}}/build.sh
21
22
- builder:
23
name: add-svn-revision-description
24
builders:
25
- system-groovy:
26
command: "build.setDescription(build.envVars.containsKey('GIT_COMMIT') ? build.envVars.GIT_COMMIT : 'r' + build.envVars.SVN_REVISION)"
27
28
- publisher:
29
name: scan-clang-warnings
30
publishers:
31
- warnings:
32
console-log-parsers:
33
- Clang (LLVM based)
34
35
- publisher:
36
name: scan-gcc-warnings
37
publishers:
38
- warnings:
39
console-log-parsers:
40
- GNU Make + GNU C Compiler (gcc)
41
42
- publisher:
43
name: publish-junit-results
44
publishers:
45
- junit:
46
results: test-report.xml
47
48
- publisher:
49
name: publish-checkstyle-results
50
publishers:
51
- checkstyle:
52
pattern: checkstyle-result.xml
53
54
- publisher:
55
name: publish-clang-scan-build-results
56
publishers:
57
- scan-build
58
59
- wrapper:
60
name: bind-artifact-credential
61
wrappers:
62
- credentials-binding:
63
- username-password-separated:
64
credential-id: artifact-credential
65
username: ARTIFACT_CRED_USER
66
password: ARTIFACT_CRED_PASS
67
68
- publisher:
69
name: make-symlink
70
publishers:
71
- postbuildscript:
72
mark-unstable-if-failed: true
73
builders:
74
- build-on:
75
- SUCCESS
76
build-steps:
77
- shell: ./freebsd-ci/artifact/post-link.py
78
79
- wrapper:
80
name: use-latest-testvm-revision
81
wrappers:
82
- pre-scm-buildstep:
83
failOnError: true
84
buildsteps:
85
- shell: |
86
if [ -z "${{USE_GIT_COMMIT}}" ]; then
87
ARTIFACT_SERVER=artifact.ci.freebsd.org
88
ARTIFACT_SUBDIR=snapshot/${{FBSD_BRANCH}}/latest_testvm/${{FBSD_TARGET}}/${{FBSD_TARGET_ARCH}}
89
USE_GIT_COMMIT=$(curl -s https://${{ARTIFACT_SERVER}}/${{ARTIFACT_SUBDIR}}/revision.txt)
90
fi
91
if [ -z "${{USE_GIT_COMMIT}}" ]; then
92
# Backup method -- interrogate Jenkins directly.
93
# Assumes description is set to the commit hash.
94
USE_GIT_COMMIT=$(curl -s ${{JENKINS_URL}}/job/FreeBSD-${{FBSD_BRANCH}}-${{FBSD_TARGET_ARCH}}-testvm/lastSuccessfulBuild/api/json | jq '.description')
95
fi
96
rm -f ${{WORKSPACE}}/use_git_commit.property
97
echo "USE_GIT_COMMIT=${{USE_GIT_COMMIT}}" > ${{WORKSPACE}}/use_git_commit.property
98
- inject:
99
properties-file: "${{WORKSPACE}}/use_git_commit.property"
100
101