16
16
17
17
env :
18
18
CARGO_TERM_COLOR : always
19
+ REGISTRY : ghcr.io
19
20
20
21
jobs :
21
22
run_optimizer :
54
55
sudo wget https://github.com/containerd/containerd/releases/download/v1.7.0/containerd-static-1.7.0-linux-amd64.tar.gz
55
56
sudo systemctl stop containerd
56
57
sudo tar -zxf ./containerd-static-1.7.0-linux-amd64.tar.gz -C /usr/
57
- sudo install -D -m 755 misc/optimizer/containerd-config.toml /etc/containerd/config.toml
58
+ # sudo install -D -m 755 misc/optimizer/containerd-config.toml /etc/containerd/config.toml
59
+ sudo install -D -m 755 misc/example/containerd-config.toml /etc/containerd/config.toml
58
60
sudo systemctl restart containerd
59
61
sudo wget https://github.com/opencontainers/runc/releases/download/v1.1.5/runc.amd64 -O /usr/bin/runc
60
62
sudo chmod +x /usr/bin/runc
64
66
sudo mkdir -p /opt/cni/bin
65
67
sudo tar xzf cni-plugins-linux-amd64-v1.2.0.tgz -C /opt/cni/bin/
66
68
sudo install -D -m 755 misc/example/10-containerd-net.conflist /etc/cni/net.d/10-containerd-net.conflist
69
+ - name : Setup nydus-snapshotter and nydus service
70
+ run : |
71
+ make build && make install
72
+ sleep 5
73
+ NYDUS_VER=v$(curl --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -s "https://api.github.com/repos/dragonflyoss/nydus/releases/latest" | jq -r .tag_name | sed 's/^v//')
74
+ wget https://github.com/dragonflyoss/nydus/releases/download/$NYDUS_VER/nydus-static-$NYDUS_VER-linux-amd64.tgz
75
+ tar xzvf nydus-static-$NYDUS_VER-linux-amd64.tgz
76
+ sudo systemctl restart nydus-snapshotter.service
77
+ sudo install -D -m 755 nydus-static/nydusd /usr/local/bin/nydusd
78
+ sudo install -D -m 755 nydus-static/nydus-image /usr/local/bin/nydus-image
79
+ sudo install -D -m 755 nydus-static/nydusctl /usr/local/bin/nydusctl
80
+
67
81
- name : Build and install optimizer
68
82
run : |
69
83
rustup component add rustfmt clippy
@@ -90,22 +104,41 @@ jobs:
90
104
echo "containerd is not ready"
91
105
exit 1
92
106
fi
107
+ - name : Setup prefetch-distribution http server
108
+ run : |
109
+ go build -o prefetch-distribution tools/prefetch-distribution/main.go
110
+ nohup ./prefetch-distribution &
111
+ sleep 5
112
+ - name : Log in to container registry
113
+ uses : docker/login-action@v2
114
+ with :
115
+ registry : ${{ env.REGISTRY }}
116
+ username : ${{ github.actor }}
117
+ password : ${{ secrets.GITHUB_TOKEN }}
118
+
93
119
- name : Generate accessed files list
94
120
run : |
95
121
sed -i "s|host_path: script|host_path: $(pwd)/misc/optimizer/script|g" misc/optimizer/nginx.yaml
96
122
sudo crictl run misc/optimizer/nginx.yaml misc/optimizer/sandbox.yaml
97
123
sleep 20
98
124
sudo crictl rmp -f --all
125
+ sudo crictl rmi --all
99
126
tree /opt/nri/optimizer/results/
100
- count=$(cat /opt/nri/optimizer/results/library/nginx:1.23.3 | wc -l)
127
+ # count=$(cat /opt/nri/optimizer/results/library/nginx:1.23.3 | wc -l)
128
+ count=$(cat /opt/nri/optimizer/results/dragonflyoss/image-service/nginx:nydus-latest | wc -l)
101
129
expected=$(cat misc/optimizer/script/file_list.txt | wc -l)
102
130
echo "count: $count expected minimum value: $expected"
103
131
if [ $count -lt $expected ]; then
104
- echo "failed to generate accessed files list for nginx:1.23.3 "
132
+ echo "failed to generate accessed files list for nginx:nydus-latest "
105
133
cat misc/optimizer/script/file_list.txt
106
134
exit 1
107
135
fi
108
- cat /opt/nri/optimizer/results/library/nginx:1.23.3.csv
136
+ cat /opt/nri/optimizer/results/dragonflyoss/image-service/nginx:nydus-latest.csv
137
+ - name : Transmit the prefetch list to nydusd
138
+ run : |
139
+ sed -i "s|host_path: script|host_path: $(pwd)/misc/optimizer/script|g" misc/optimizer/nginx.yaml
140
+ sudo crictl run misc/optimizer/nginx.yaml misc/optimizer/sandbox.yaml
141
+ cat ~/logs/nydus-snapshotter.log | grep "nydusd command"
109
142
- name : Dump logs
110
143
if : failure()
111
144
continue-on-error : true
0 commit comments