1
1
#! /bin/bash
2
2
3
+ header () {
4
+ echo " +--------------------------------------------+"
5
+ echo " | $* "
6
+ echo " +--------------------------------------------+"
7
+ echo
8
+ }
9
+
3
10
update_fresh_container () {
4
- echo " Upgrading and installing packages"
5
- sudo DEBIAN_FRONTEND=noninteractive apt-get -qq update -y
6
- sudo DEBIAN_FRONTEND=noninteractive apt-get -qq install alien libicu70 -y
11
+ header " Upgrading and installing packages"
12
+ sudo DEBIAN_FRONTEND=noninteractive apt-get -qq update -y > /dev/null
13
+ sudo DEBIAN_FRONTEND=noninteractive apt-get -qq install dotnet-sdk-8.0 -y > /dev/null
7
14
8
15
if [ $? -ne 0 ]; then
9
16
exit 32
10
17
fi
11
18
sudo apt autoclean
12
19
13
- sudo sed " s/--no-absolute-filenames//" /usr/share/perl5/Alien/Package/Rpm.pm > /tmp/Rpm.pm
14
- sudo cp /tmp/Rpm.pm /usr/share/perl5/Alien/Package/Rpm.pm
15
-
16
20
echo " Initializing LXD environment"
17
21
sudo lxd init --preseed < /tmp/lxd-preseed.yaml
18
22
@@ -21,60 +25,6 @@ update_fresh_container() {
21
25
}
22
26
23
27
setup_dotnet_sdk () {
24
- MIRROR=" https://mirror.lchs.network/pub/almalinux/9/AppStream/${ARCH} /os/Packages"
25
- case " ${SDK} " in
26
- 8)
27
- PKGS=" dotnet-apphost-pack-8.0-8.0.5-1.el9_4 dotnet-host-8.0.5-1.el9_4"
28
- PKGS=" ${PKGS} dotnet-hostfxr-8.0-8.0.5-1.el9_4 dotnet-targeting-pack-8.0-8.0.5-1.el9_4"
29
- PKGS=" ${PKGS} dotnet-templates-8.0-8.0.105-1.el9_4 dotnet-runtime-8.0-8.0.5-1.el9_4"
30
- PKGS=" ${PKGS} dotnet-sdk-8.0-8.0.105-1.el9_4 aspnetcore-runtime-8.0-8.0.5-1.el9_4"
31
- PKGS=" ${PKGS} aspnetcore-targeting-pack-8.0-8.0.5-1.el9_4 netstandard-targeting-pack-2.1-8.0.105-1.el9_4"
32
- PKGS=" ${PKGS} dotnet-runtime-dbg-8.0-8.0.5-1.el9_4 dotnet-sdk-dbg-8.0-8.0.105-1.el9_4 aspnetcore-runtime-dbg-8.0-8.0.5-1.el9_4"
33
- ;;
34
- 7)
35
- PKGS=" dotnet-apphost-pack-7.0-7.0.19-1.el9_4 dotnet-host-8.0.5-1.el9_4"
36
- PKGS=" ${PKGS} dotnet-hostfxr-7.0-7.0.19-1.el9_4 dotnet-targeting-pack-7.0-7.0.19-1.el9_4"
37
- PKGS=" ${PKGS} dotnet-templates-7.0-7.0.119-1.el9_4 dotnet-runtime-7.0-7.0.19-1.el9_4"
38
- PKGS=" ${PKGS} dotnet-sdk-7.0-7.0.119-1.el9_4 aspnetcore-runtime-7.0-7.0.19-1.el9_4"
39
- PKGS=" ${PKGS} aspnetcore-targeting-pack-7.0-7.0.19-1.el9_4 netstandard-targeting-pack-2.1-8.0.105-1.el9_4"
40
- ;;
41
- * )
42
- echo " Unsupported architecture ${ARCH} " >&2
43
- return 1
44
- ;;
45
- esac
46
- echo " Retrieving dotnet packages"
47
- sudo sed -i' ' -e ' s/--no-absolute-filenames//' /usr/share/perl5/Alien/Package/Rpm.pm
48
- pushd /tmp > /dev/null
49
- for pkg in ${PKGS}
50
- do
51
- RPM=" ${pkg} .${ARCH} .rpm"
52
- wget -q ${MIRROR} /${RPM}
53
- echo -n " Converting ${RPM} ... "
54
- sudo alien -d ${RPM} | & grep -v ^warning
55
- if [ $? -ne 0 ]; then
56
- return 2
57
- fi
58
- rm -f ${RPM}
59
- done
60
-
61
- echo " Installing dotnet"
62
- sudo DEBIAN_FRONTEND=noninteractive dpkg --install /tmp/* .deb
63
- if [ $? -ne 0 ]; then
64
- return 3
65
- fi
66
- sudo rm -f /tmp/* .deb
67
- popd > /dev/null
68
-
69
- if [ ${SDK} -ne 6 ]; then
70
- pushd /usr/lib64/dotnet/packs > /dev/null
71
- sudo ln -s Microsoft.AspNetCore.App.Ref Microsoft.AspNetCore.App.Runtime.linux-${ARCH}
72
- sudo ln -s Microsoft.AspNetCore.App.Ref Microsoft.AspNetCore.App.linux-${ARCH}
73
- sudo ln -s Microsoft.NETCore.App.Host.rhel.9-${ARCH} Microsoft.NETCore.App.Host.linux-${ARCH}
74
- sudo ln -s Microsoft.NETCore.App.Ref Microsoft.NETCore.App.Runtime.linux-${ARCH}
75
- popd > /dev/null
76
- fi
77
-
78
28
echo " Using SDK - ` dotnet --version` "
79
29
80
30
# fix ownership
@@ -87,19 +37,19 @@ setup_dotnet_sdk() {
87
37
}
88
38
89
39
patch_runner () {
90
- echo " Patching runner"
40
+ header " Cloning repo and Patching runner"
91
41
cd /tmp
92
42
git clone -q ${RUNNERREPO}
93
43
cd runner
94
- git checkout $( git describe --tags $( git rev-list --tags --max-count=1 ) ) -b ${ARCH}
95
- git apply /home/ubuntu/runner-${ARCH} .patch
96
- sed -i' ' -e /version/s/6 ......\" $/${SDK} .0.100\" / src/global.json
44
+ git checkout main -b build
45
+ git apply /home/ubuntu/runner-sdk-8 .patch
46
+ sed -i' ' -e /version/s/8 ......\" $/8 .0.100\" / src/global.json
97
47
return $?
98
48
}
99
49
100
50
build_runner () {
101
51
export DOTNET_NUGET_SIGNATURE_VERIFICATION=false
102
- echo " Building runner binary"
52
+ header " Building runner binary"
103
53
cd src
104
54
105
55
echo " dev layout"
@@ -121,7 +71,7 @@ build_runner() {
121
71
}
122
72
123
73
install_runner () {
124
- echo " Installing runner"
74
+ header " Installing runner"
125
75
sudo mkdir -p /opt/runner
126
76
sudo tar -xf /tmp/runner/_package/* .tar.gz -C /opt/runner
127
77
if [ $? -eq 0 ]; then
0 commit comments