Skip to content

Commit b3aa7ea

Browse files
authored
Include Azure DevOps badges; generate README table (#826)
1 parent 84be767 commit b3aa7ea

File tree

2 files changed

+151
-38
lines changed

2 files changed

+151
-38
lines changed

README.md

Lines changed: 23 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,41 +2,26 @@
22

33
[![Join the chat at https://gitter.im/dotnet/source-build](https://badges.gitter.im/dotnet/source-build.svg)](https://gitter.im/dotnet/source-build?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
44

5-
|OS|Release|Debug|
6-
|--|-------|-----|
7-
|CentOS7.1|[![Build Status][centos-release-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/CentOS7.1_Release/)|[![Build Status][centos-debug-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/CentOS7.1_Debug/)
8-
|CentOS7.1 (Tarball)|[![Build Status][centos-tarball-release-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/CentOS7.1_Tarball_Release/)|[![Build Status][centos-tarball-debug-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/CentOS7.1_Tarball_Debug/)
9-
|Debian8.4|[![Build Status][debian-release-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Debian8.4_Release/)|[![Build Status][debian-debug-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Debian8.4_Debug/)
10-
|Fedora24|[![Build Status][fedora-release-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Fedora24_Release/)|[![Build Status][fedora-debug-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Fedora24_Debug/)
11-
|OSX10.12|[![Build Status][osx-release-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/OSX10.12_Release/)|[![Build Status][osx-debug-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/OSX10.12_Debug/)
12-
|RHEL7.2|[![Build Status][rhel-release-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Release/)|[![Build Status][rhel-debug-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Debug/)
13-
|RHEL7.2 (Tarball)|[![Build Status][rhel-tarball-release-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Tarball_Release/)|[![Build Status][rhel-tarball-debug-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Tarball_Debug/)
14-
|RHEL7.2 (Unshared)|[![Build Status][rhel-unshared-release-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Unshared_Release/)|[![Build Status][rhel-unshared-debug-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Unshared_Debug/)
15-
|Ubuntu16.04|[![Build Status][ubuntu-release-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Ubuntu16.04_Release/)|[![Build Status][ubuntu-debug-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Ubuntu16.04_Debug/)
16-
|Windows|[![Build Status][windows-release-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Windows_NT_Release/)|[![Build Status][windows-debug-badge]](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Windows_NT_Debug/)
17-
18-
[centos-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/CentOS7.1_Release
19-
[centos-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/CentOS7.1_Debug
20-
[centos-tarball-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/CentOS7.1_Tarball_Release
21-
[centos-tarball-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/CentOS7.1_Tarball_Debug
22-
[debian-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Debian8.4_Release
23-
[debian-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Debian8.4_Debug
24-
[fedora-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Fedora24_Release
25-
[fedora-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Fedora24_Debug
26-
[linux_arm-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Linux_ARM_Release
27-
[linux_arm-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Linux_ARM_Debug
28-
[osx-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/OSX10.12_Release
29-
[osx-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/OSX10.12_Debug
30-
[rhel-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Release
31-
[rhel-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Debug
32-
[rhel-tarball-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Tarball_Release
33-
[rhel-tarball-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Tarball_Debug
34-
[rhel-unshared-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Unshared_Release
35-
[rhel-unshared-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Unshared_Debug
36-
[ubuntu-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Ubuntu16.04_Release
37-
[ubuntu-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Ubuntu16.04_Debug
38-
[windows-release-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Windows_NT_Release
39-
[windows-debug-badge]: https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Windows_NT_Debug
5+
<!-- Use scripts/generate-readme-table.sh to update table. -->
6+
<!-- Generated table start -->
7+
| OS | *Jenkins*<br/>Release | <br/>Debug | *Azure DevOps*<br/>Release |
8+
| -- | :-- | :-- | :-- |
9+
| CentOS7.1 | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/CentOS7.1_Release)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/CentOS7.1_Release/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/CentOS7.1_Debug)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/CentOS7.1_Debug/) | [![Build Status](https://dev.azure.com/dnceng/internal/_apis/build/status/dotnet/source-build/source-build-CI?branchName=release/2.1&jobname=centos71&configuration=Production)](https://dev.azure.com/dnceng/internal/_build/latest?definitionId=114) |
10+
| CentOS7.1 (Online) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/CentOS7.1_Tarball_Release)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/CentOS7.1_Tarball_Release/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/CentOS7.1_Tarball_Debug)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/CentOS7.1_Tarball_Debug/) | [![Build Status](https://dev.azure.com/dnceng/internal/_apis/build/status/dotnet/source-build/source-build-CI?branchName=release/2.1&jobname=centos71&configuration=Online)](https://dev.azure.com/dnceng/internal/_build/latest?definitionId=114) |
11+
| CentOS7.1 (Online Portable) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/CentOS7.1_Tarball_Release_Portable)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/CentOS7.1_Tarball_Release_Portable/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/CentOS7.1_Tarball_Debug_Portable)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/CentOS7.1_Tarball_Debug_Portable/) | [![Build Status](https://dev.azure.com/dnceng/internal/_apis/build/status/dotnet/source-build/source-build-CI?branchName=release/2.1&jobname=centos71&configuration=Online%20Portable)](https://dev.azure.com/dnceng/internal/_build/latest?definitionId=114) |
12+
| CentOS7.1 (Offline) | | | [![Build Status](https://dev.azure.com/dnceng/internal/_apis/build/status/dotnet/source-build/source-build-CI?branchName=release/2.1&jobname=centos71&configuration=Offline)](https://dev.azure.com/dnceng/internal/_build/latest?definitionId=114) |
13+
| CentOS7.1 (Offline Portable) | | | [![Build Status](https://dev.azure.com/dnceng/internal/_apis/build/status/dotnet/source-build/source-build-CI?branchName=release/2.1&jobname=centos71&configuration=Offline%20Portable)](https://dev.azure.com/dnceng/internal/_build/latest?definitionId=114) |
14+
| Debian8.4 | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Debian8.4_Release)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Debian8.4_Release/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Debian8.4_Debug)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Debian8.4_Debug/) |
15+
| Fedora24 | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Fedora24_Release)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Fedora24_Release/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Fedora24_Debug)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Fedora24_Debug/) |
16+
| OSX10.12 | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/OSX10.12_Release)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/OSX10.12_Release/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/OSX10.12_Debug)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/OSX10.12_Debug/) | [![Build Status](https://dev.azure.com/dnceng/internal/_apis/build/status/dotnet/source-build/source-build-CI?branchName=release/2.1&jobname=OSX&configuration=Production)](https://dev.azure.com/dnceng/internal/_build/latest?definitionId=114) |
17+
| RHEL7.2 | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Release)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Release/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Debug)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Debug/) |
18+
| RHEL7.2 (Online) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Tarball_Release)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Tarball_Release/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Tarball_Debug)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Tarball_Debug/) |
19+
| RHEL7.2 (Online Portable) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Tarball_Release_Portable)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Tarball_Release_Portable/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Tarball_Debug_Portable)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Tarball_Debug_Portable/) |
20+
| RHEL7.2 (Offline) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Unshared_Release)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Unshared_Release/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Unshared_Debug)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Unshared_Debug/) |
21+
| RHEL7.2 (Offline Portable) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Unshared_Release_Portable)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Unshared_Release_Portable/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/RHEL7.2_Unshared_Debug_Portable)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/RHEL7.2_Unshared_Debug_Portable/) |
22+
| Ubuntu16.04 | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Ubuntu16.04_Release)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Ubuntu16.04_Release/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Ubuntu16.04_Debug)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Ubuntu16.04_Debug/) | [![Build Status](https://dev.azure.com/dnceng/internal/_apis/build/status/dotnet/source-build/source-build-CI?branchName=release/2.1&jobname=ubuntu1604&configuration=Production)](https://dev.azure.com/dnceng/internal/_build/latest?definitionId=114) |
23+
| Windows | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Windows_NT_Release)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Windows_NT_Release/) | [![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/release_2.1/Windows_NT_Debug)](https://ci.dot.net/job/dotnet_source-build/job/release_2.1/job/Windows_NT_Debug/) |
24+
<!-- Generated table end -->
4025

4126
This repository contains a set of scripts for building the .NET Core Runtime and SDK from source. The scripts were built to make it easy for anyone to build the .NET Core product.
4227

@@ -60,7 +45,7 @@ The most common users are expected to be:
6045

6146
* .NET Core contributors.
6247
* Linux distribution maintainers.
63-
* Cloud service developers.
48+
* Cloud service developers.
6449

6550
You do not have to build the entire product to contribute to .NET Core. Often, you only need to build a single binary to test a change. There are some scenarios where building the whole product is useful, such as adding and testing a feature that requires changes to multiple repos.
6651

@@ -73,10 +58,10 @@ The scripts can be thought of as solving challenges that would otherwise making
7358
* Most of the product is written in managed code and requires the .NET Core SDK to build. This approach is a great use of the product, but presents a boot-strapping problem for the build.
7459

7560
## Goals
76-
61+
7762
Many Linux distributions have specific rules for official packages. The rules can be summarized as two main rules: source for everything, and consistent reproducability.
7863

79-
A key goal of this repository was to satisfy the official packaging rules of commonly used Linux distributions, such as [Fedora](https://fedoraproject.org/wiki/Packaging:Guidelines) and [Debian](https://www.debian.org/doc/manuals/maint-guide/build.en.html).
64+
A key goal of this repository was to satisfy the official packaging rules of commonly used Linux distributions, such as [Fedora](https://fedoraproject.org/wiki/Packaging:Guidelines) and [Debian](https://www.debian.org/doc/manuals/maint-guide/build.en.html).
8065

8166
## License
8267

scripts/generate-readme-table.sh

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
script_root="$(cd -P "$( dirname "$0" )" && pwd)"
5+
6+
branch=release/2.1
7+
8+
branch_jenkins=$(printf "$branch" | sed 's/\//_/')
9+
branch_azdo=$branch
10+
11+
readme="$script_root/../README.md"
12+
13+
if [ ! -f "$readme" ]; then
14+
echo "$readme must exist."
15+
exit 1
16+
fi
17+
18+
print_rows() {
19+
echo '| OS | *Jenkins*<br/>Release | <br/>Debug | *Azure DevOps*<br/>Release |'
20+
echo '| -- | :-- | :-- | :-- |'
21+
row 'CentOS7.1' 'Production'; jenkins; azdo; end
22+
row 'CentOS7.1' 'Online'; jenkins; azdo; end
23+
row 'CentOS7.1' 'Online Portable'; jenkins; azdo; end
24+
row 'CentOS7.1' 'Offline'; none; none; azdo; end
25+
row 'CentOS7.1' 'Offline Portable'; none; none; azdo; end
26+
row 'Debian8.4' 'Production'; jenkins; end
27+
row 'Fedora24' 'Production'; jenkins; end
28+
row 'OSX10.12' 'Production'; jenkins; azdo; end
29+
row 'RHEL7.2' 'Production'; jenkins; end
30+
row 'RHEL7.2' 'Online'; jenkins; end
31+
row 'RHEL7.2' 'Online Portable'; jenkins; end
32+
row 'RHEL7.2' 'Offline'; jenkins; end
33+
row 'RHEL7.2' 'Offline Portable'; jenkins; end
34+
row 'Ubuntu16.04' 'Production'; jenkins; azdo; end
35+
row 'Windows' 'Production'; jenkins; end
36+
}
37+
38+
raw_print() {
39+
printf '%s' "$1"
40+
}
41+
42+
row() {
43+
os=$1
44+
job_type=$2
45+
display_name=$os
46+
if [ "$job_type" != "Production" ]; then
47+
display_name="$display_name ($job_type)"
48+
fi
49+
printf "| $display_name | "
50+
}
51+
52+
end() {
53+
printf '\n'
54+
}
55+
56+
jenkins() {
57+
job=$os
58+
tarball_type=
59+
portability=
60+
61+
case $job in
62+
Windows)
63+
job="Windows_NT"
64+
;;
65+
esac
66+
67+
case $job_type in
68+
*Online*)
69+
tarball_type="_Tarball"
70+
;;
71+
*Offline*)
72+
tarball_type="_Unshared"
73+
;;
74+
esac
75+
76+
case $job_type in
77+
*Portable*)
78+
portability="_Portable"
79+
esac
80+
81+
for configuration in _Release _Debug; do
82+
j=$job$tarball_type$configuration$portability
83+
raw_print "[![Build Status](https://ci.dot.net/buildStatus/icon?job=dotnet_source-build/$branch_jenkins/$j)]"
84+
raw_print "(https://ci.dot.net/job/dotnet_source-build/job/$branch_jenkins/job/$j/) | "
85+
done
86+
}
87+
88+
azdo() {
89+
job=$(raw_print $os | awk '{print tolower($0)}' | sed 's/\.//g')
90+
91+
case $os in
92+
OSX10.12)
93+
job=OSX
94+
;;
95+
esac
96+
97+
job_type_escaped=$(raw_print "$job_type" | sed 's/ /%20/g')
98+
query="?branchName=$branch_azdo&jobname=$job&configuration=$job_type_escaped"
99+
100+
raw_print "[![Build Status](https://dev.azure.com/dnceng/internal/_apis/build/status/dotnet/source-build/source-build-CI$query)]"
101+
raw_print "(https://dev.azure.com/dnceng/internal/_build/latest?definitionId=114) | "
102+
}
103+
104+
none() {
105+
raw_print '| '
106+
}
107+
108+
cp "$readme" "$readme.old"
109+
110+
phase=before
111+
while read line; do
112+
if [ "$phase" = before ]; then
113+
echo "$line"
114+
if [ "$line" = '<!-- Generated table start -->' ]; then
115+
print_rows
116+
phase=skip
117+
fi
118+
elif [ "$phase" = skip ]; then
119+
if [ "$line" = '<!-- Generated table end -->' ]; then
120+
echo "$line"
121+
phase=after
122+
fi
123+
else
124+
echo "$line"
125+
fi
126+
done < "$readme.old" > "$readme"
127+
128+
rm "$readme.old"

0 commit comments

Comments
 (0)