1616
1717env :
1818 CARGO_TERM_COLOR : always
19+ REGISTRY : ghcr.io
1920
2021jobs :
2122 run_optimizer :
5455 sudo wget https://github.com/containerd/containerd/releases/download/v1.7.0/containerd-static-1.7.0-linux-amd64.tar.gz
5556 sudo systemctl stop containerd
5657 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
5860 sudo systemctl restart containerd
5961 sudo wget https://github.com/opencontainers/runc/releases/download/v1.1.5/runc.amd64 -O /usr/bin/runc
6062 sudo chmod +x /usr/bin/runc
6466 sudo mkdir -p /opt/cni/bin
6567 sudo tar xzf cni-plugins-linux-amd64-v1.2.0.tgz -C /opt/cni/bin/
6668 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+
6781 - name : Build and install optimizer
6882 run : |
6983 rustup component add rustfmt clippy
@@ -90,22 +104,41 @@ jobs:
90104 echo "containerd is not ready"
91105 exit 1
92106 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+
93119 - name : Generate accessed files list
94120 run : |
95121 sed -i "s|host_path: script|host_path: $(pwd)/misc/optimizer/script|g" misc/optimizer/nginx.yaml
96122 sudo crictl run misc/optimizer/nginx.yaml misc/optimizer/sandbox.yaml
97123 sleep 20
98124 sudo crictl rmp -f --all
125+ sudo crictl rmi --all
99126 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)
101129 expected=$(cat misc/optimizer/script/file_list.txt | wc -l)
102130 echo "count: $count expected minimum value: $expected"
103131 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 "
105133 cat misc/optimizer/script/file_list.txt
106134 exit 1
107135 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"
109142 - name : Dump logs
110143 if : failure()
111144 continue-on-error : true
0 commit comments