Skip to content

Commit ddd868c

Browse files
committed
ci: new workflow for tdlib ci
1 parent f454c2d commit ddd868c

File tree

2 files changed

+111
-95
lines changed

2 files changed

+111
-95
lines changed
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
2+
sudo apt-get install -y --quiet buildah podman
3+
4+
# remove tmpctn if exists
5+
buildah ps | grep $CTN_BUILD_TDLIB
6+
[[ $? -eq 0 ]] && buildah rm $CTN_BUILD_TDLIB || \
7+
echo "[INFO] $CTN_BUILD_TDLIB not found"
8+
[[ $? -eq 0 ]] || exit 1
9+
10+
buildah ps | grep $CTN_PACK_TDLIB
11+
[[ $? -eq 0 ]] && buildah rm $CTN_PACK_TDLIB || \
12+
echo "[INFO] $CTN_PACK_TDLIB not found"
13+
[[ $? -eq 0 ]] || exit 2
14+
15+
buildah ps | grep $CTN_PACK_TOOLC
16+
[[ $? -eq 0 ]] && buildah rm $CTN_PACK_TOOLC || \
17+
echo "[INFO] $CTN_PACK_TOOLC not found"
18+
[[ $? -eq 0 ]] || exit 2
19+
20+
# prepare gcc img
21+
buildah ps | grep $CTN_PACK_TDLIB
22+
if [[ $? -ne 0 ]]
23+
then
24+
buildah from --name $CTN_PACK_TOOLC "docker.io/micl2e2/$PICK_TOOLC_IMGFULLNAME"
25+
[[ $? -eq 0 ]] || exit 3
26+
buildah inspect "docker.io/micl2e2/$PICK_TOOLC_IMGFULLNAME" | grep FromImageID
27+
[[ $? -eq 0 ]] || exit 3
28+
fi
29+
30+
# prepare build ctn
31+
buildah from --name $CTN_BUILD_TDLIB $PICK_BASEIMG
32+
[[ $? -eq 0 ]] || exit 4
33+
34+
USE_APT_MIRROR="deb.debian.org"
35+
[[ -n $PICK_APT_MIRROR ]] && USE_APT_MIRROR=$PICK_APT_MIRROR
36+
buildah run $CTN_BUILD_TDLIB -- \
37+
sed -i "s/deb.debian.org/${USE_APT_MIRROR}/" /etc/apt/sources.list
38+
[[ $? -eq 0 ]] || exit 3
39+
40+
buildah run $CTN_BUILD_TDLIB -- \
41+
apt-get -o Acquire::ForceIPv4=true update
42+
[[ $? -eq 0 ]] || exit 5
43+
44+
buildah run $CTN_BUILD_TDLIB -- \
45+
apt-get -o Acquire::ForceIPv4=true install gperf cmake g++ git zlib1g-dev libssl-dev wget -y --quiet
46+
[[ $? -eq 0 ]] || exit 6
47+
48+
$PXY_FRONTEND buildah run $CTN_BUILD_TDLIB -- \
49+
bash -c "git clone --depth=1000 https://github.com/tdlib/td"
50+
[[ $? -eq 0 ]] || exit 7
51+
52+
buildah run $CTN_BUILD_TDLIB -- \
53+
bash -c "cd td && git reset --hard $PICK_TDLIB_SRC"
54+
[[ $? -eq 0 ]] || exit 8
55+
56+
# grab gcc bins
57+
buildah copy --from $CTN_PACK_TOOLC $CTN_BUILD_TDLIB '/usr/local' '/usr/local'
58+
[[ $? -eq 0 ]] || exit 9
59+
60+
buildah run $CTN_BUILD_TDLIB -- \
61+
bash -c "cd td && cmake -DCMAKE_BUILD_TYPE=Release -DOPENSSL_USE_STATIC_LIBS=TRUE -DZLIB_USE_STATIC_LIBS=ON -DCMAKE_C_COMPILER=/usr/local/bin/alt-gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/alt-g++ -B build"
62+
[[ $? -eq 0 ]] || exit 10
63+
64+
buildah run $CTN_BUILD_TDLIB -- \
65+
bash -c 'cd td/build && LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH make -j$(nproc)'
66+
[[ $? -eq 0 ]] || exit 11
67+
68+
buildah run $CTN_BUILD_TDLIB -- \
69+
bash -c 'cd td/build && LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH make test'
70+
[[ $? -eq 0 ]] || exit 12
71+
72+
buildah run $CTN_BUILD_TDLIB -- \
73+
bash -c 'cd td/build && LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH make install'
74+
[[ $? -eq 0 ]] || exit 13
75+
76+
# package
77+
78+
buildah from --name $CTN_PACK_TDLIB $PICK_BASEIMG
79+
[[ $? -eq 0 ]] || exit 14
80+
81+
buildah copy --from $CTN_BUILD_TDLIB $CTN_PACK_TDLIB '/usr/local' '/usr/local'
82+
[[ $? -eq 0 ]] || exit 15
83+
84+
buildah commit $CTN_PACK_TDLIB $PICK_TDLIB_IMGFULLNAME
85+
[[ $? -eq 0 ]] || exit 16
86+
87+
# save tar
88+
podman save --output $PICK_TDLIB_ARTIFACTNAME.tar --format oci-archive $PICK_TDLIB_IMGFULLNAME
89+
[[ $? -eq 0 ]] || exit 17
90+
91+
# save json
92+
buildah inspect $PICK_TDLIB_IMGFULLNAME >$PICK_TDLIB_ARTIFACTNAME.json
93+
[[ $? -eq 0 ]] || exit 18
94+
95+
# save checksums
96+
sha512sum $PICK_TDLIB_ARTIFACTNAME.tar >> CHECKSUMS
97+
[[ $? -eq 0 ]] || exit 19
98+
sha512sum $PICK_TDLIB_ARTIFACTNAME.json >> CHECKSUMS
99+
[[ $? -eq 0 ]] || exit 20
100+

ci/tdlib-gitcmm-gcc12-deb11-x64.bash

Lines changed: 11 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,103 +1,19 @@
1-
source vars-x64-linux-gnu.bash
2-
###
1+
cwd=$(pwd)
2+
bname=$(basename $cwd)
3+
[[ $bname == tg-focus ]] || exit 255
34

4-
# remove tmpctn if exists
5-
buildah ps | grep $CTN_BUILD_TDLIB
6-
test $? -eq 0 && buildah rm $CTN_BUILD_TDLIB || \
7-
echo "[INFO] $CTN_BUILD_TDLIB not found"
8-
test $? -eq 0 || exit 1
5+
###
96

10-
buildah ps | grep $CTN_PACK_TDLIB
11-
test $? -eq 0 && buildah rm $CTN_PACK_TDLIB || \
12-
echo "[INFO] $CTN_PACK_TDLIB not found"
13-
test $? -eq 0 || exit 2
7+
cd ci
148

15-
buildah ps | grep $CTN_PACK_TOOLC
16-
test $? -eq 0 && buildah rm $CTN_PACK_TOOLC || \
17-
echo "[INFO] $CTN_PACK_TOOLC not found"
18-
test $? -eq 0 || exit 2
9+
[[ $? -eq 0 ]] || exit 101
1910

20-
# prepare gcc img
21-
buildah ps | grep $CTN_PACK_TDLIB
22-
if [[ $? -ne 0 ]]
23-
then
24-
buildah from --name $CTN_PACK_TOOLC "docker.io/micl2e2/$PICK_TOOLC_IMGFULLNAME"
25-
test $? -eq 0 || exit 3
26-
podman inspect "docker.io/micl2e2/$PICK_TOOLC_IMGFULLNAME" | grep Id
27-
test $? -eq 0 || exit 3
28-
fi
11+
source vars-x64-linux-gnu.bash
2912

30-
# prepare build ctn
31-
buildah from --name $CTN_BUILD_TDLIB $PICK_BASEIMG
32-
test $? -eq 0 || exit 4
13+
[[ $? -eq 0 ]] || exit 102
3314

34-
if [[ -n $APT_COUNTRY_CODE ]]
35-
then
36-
buildah run $CTN_BUILD_TDLIB -- \
37-
sed -i \
38-
"s/deb\.debian\.org/ftp\.$APT_COUNTRY_CODE\.debian\.org/" \
39-
/etc/apt/sources.list
40-
test $? -eq 0 || exit 5
41-
fi
15+
source vars-allarch-linux-gnu.bash
4216

43-
buildah run $CTN_BUILD_TDLIB -- \
44-
apt-get -o Acquire::ForceIPv4=true update
45-
test $? -eq 0 || exit 5
46-
47-
buildah run $CTN_BUILD_TDLIB -- \
48-
apt-get -o Acquire::ForceIPv4=true install gperf cmake g++ git zlib1g-dev libssl-dev wget -y --quiet
49-
test $? -eq 0 || exit 6
50-
51-
$PXY_FRONTEND buildah run $CTN_BUILD_TDLIB -- \
52-
bash -c "git clone https://github.com/tdlib/td"
53-
test $? -eq 0 || exit 7
54-
55-
buildah run $CTN_BUILD_TDLIB -- \
56-
bash -c "cd td && git reset --hard $PICK_TDLIB_SRC"
57-
test $? -eq 0 || exit 8
58-
59-
# grab gcc bins
60-
buildah copy --from $CTN_PACK_TOOLC $CTN_BUILD_TDLIB '/usr/local' '/usr/local'
61-
test $? -eq 0 || exit 9
62-
63-
buildah run $CTN_BUILD_TDLIB -- \
64-
bash -c "cd td && cmake -DCMAKE_BUILD_TYPE=Release -DOPENSSL_USE_STATIC_LIBS=TRUE -DZLIB_USE_STATIC_LIBS=ON -DCMAKE_C_COMPILER=/usr/local/bin/alt-gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/alt-g++ -B build"
65-
test $? -eq 0 || exit 10
66-
67-
buildah run $CTN_BUILD_TDLIB -- \
68-
bash -c 'cd td/build && LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH make -j$(nproc)'
69-
test $? -eq 0 || exit 11
70-
71-
buildah run $CTN_BUILD_TDLIB -- \
72-
bash -c 'cd td/build && LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH make test'
73-
test $? -eq 0 || exit 12
74-
75-
buildah run $CTN_BUILD_TDLIB -- \
76-
bash -c 'cd td/build && LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH make install'
77-
test $? -eq 0 || exit 13
78-
79-
# package
80-
81-
buildah from --name $CTN_PACK_TDLIB $PICK_BASEIMG
82-
test $? -eq 0 || exit 14
83-
84-
buildah copy --from $CTN_BUILD_TDLIB $CTN_PACK_TDLIB '/usr/local' '/usr/local'
85-
test $? -eq 0 || exit 15
86-
87-
buildah commit $CTN_PACK_TDLIB $PICK_TDLIB_IMGFULLNAME
88-
test $? -eq 0 || exit 16
89-
90-
# save tar
91-
podman save --output $PICK_TDLIB_ARTIFACTNAME.tar --format oci-archive $PICK_TDLIB_IMGFULLNAME
92-
test $? -eq 0 || exit 17
93-
94-
# save json
95-
podman inspect $PICK_TDLIB_IMGFULLNAME >$PICK_TDLIB_ARTIFACTNAME.json
96-
test $? -eq 0 || exit 18
97-
98-
# save checksums
99-
sha512sum $PICK_TDLIB_ARTIFACTNAME.tar >> CHECKSUMS
100-
test $? -eq 0 || exit 19
101-
sha512sum $PICK_TDLIB_ARTIFACTNAME.json >> CHECKSUMS
102-
test $? -eq 0 || exit 20
17+
[[ $? -eq 0 ]] || exit 103
10318

19+
source tdlib-gitcmm-gcc12-deb11-allarch.bash

0 commit comments

Comments
 (0)