Skip to content

Commit af2927e

Browse files
Refactor steps in vm_test.yml for coci: fix YAML indentation in prepare job stepsnsistency
1 parent 5a8179e commit af2927e

1 file changed

Lines changed: 63 additions & 88 deletions

File tree

.github/workflows/vm_test.yml

Lines changed: 63 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ jobs:
7878
container_image: opensuse/leap:latest
7979

8080
steps:
81-
- name: Validate inputs (prevent command injection)
82-
shell: bash
83-
env:
81+
- name: Validate inputs (prevent command injection)
82+
shell: bash
83+
env:
8484
GO_VERSION: ${{ inputs.go_version }}
8585
RUNC_VERSION: ${{ inputs.runc_version }}
8686
CONTAINERD_VERSION: ${{ inputs.containerd_version }}
@@ -90,7 +90,7 @@ jobs:
9090
FIRECRACKER_VERSION: ${{ inputs.firecracker_version }}
9191
CLOUD_HYPERVISOR_VERSION: ${{ inputs.cloud_hypervisor_version }}
9292
SOLO5_VERSION: ${{ inputs.solo5_version }}
93-
run: |
93+
run: |
9494
SAFE_GO_VERSION="$GO_VERSION"
9595
SAFE_RUNC_VERSION="$RUNC_VERSION"
9696
SAFE_CONTAINERD_VERSION="$CONTAINERD_VERSION"
@@ -108,13 +108,10 @@ jobs:
108108
exit 1
109109
fi
110110
done
111-
112-
113-
- name: Harden the runner (Audit all outbound calls)
114-
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
115-
with:
111+
- name: Harden the runner (Audit all outbound calls)
112+
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
113+
with:
116114
egress-policy: audit
117-
118115
- name: Pre-checkout dependencies
119116
run: |
120117
if command -v zypper >/dev/null; then
@@ -124,12 +121,11 @@ jobs:
124121
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
125122

126123
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
127-
with:
124+
with:
128125
go-version: ${{ inputs.go_version }}
129126
cache: false
130-
131-
- name: Install base dependencies
132-
run: |
127+
- name: Install base dependencies
128+
run: |
133129
# Fallback for missing sudo in minimal containers
134130
if ! command -v sudo >/dev/null; then
135131
sudo() { "$@"; }
@@ -150,11 +146,10 @@ jobs:
150146
wget https://s3.nbfc.io/nbfc-assets/github/urunc/bin/virtiofsd
151147
sudo chmod +x virtiofsd
152148
sudo mv virtiofsd /usr/libexec/virtiofsd
153-
154-
- name: Install runc
155-
env:
149+
- name: Install runc
150+
env:
156151
RUNC_VERSION: ${{ inputs.runc_version }}
157-
run: |
152+
run: |
158153
SAFE_RUNC="${RUNC_VERSION}"
159154
ARCH=$(uname -m)
160155
case $ARCH in
@@ -165,11 +160,10 @@ jobs:
165160
wget -q "https://github.com/opencontainers/runc/releases/download/v${SAFE_RUNC}/runc.${BIN_ARCH}"
166161
sudo install -m 755 runc.${BIN_ARCH} /usr/local/sbin/runc
167162
rm -f ./runc.${BIN_ARCH}
168-
169-
- name: Install containerd
170-
env:
163+
- name: Install containerd
164+
env:
171165
CONTAINERD_VERSION: ${{ inputs.containerd_version }}
172-
run: |
166+
run: |
173167
SAFE_CONTAINERD="${CONTAINERD_VERSION}"
174168
ARCH=$(uname -m)
175169
case $ARCH in
@@ -180,11 +174,10 @@ jobs:
180174
wget -q "https://github.com/containerd/containerd/releases/download/v${SAFE_CONTAINERD}/containerd-${SAFE_CONTAINERD}-linux-${BIN_ARCH}.tar.gz"
181175
sudo tar Cxzvf /usr/local "containerd-${SAFE_CONTAINERD}-linux-${BIN_ARCH}.tar.gz"
182176
rm -f "containerd-${SAFE_CONTAINERD}-linux-${BIN_ARCH}.tar.gz"
183-
184-
- name: Set up containerd service
185-
env:
177+
- name: Set up containerd service
178+
env:
186179
CONTAINERD_VERSION: ${{ inputs.containerd_version }}
187-
run: |
180+
run: |
188181
SAFE_CONTAINERD="$CONTAINERD_VERSION"
189182
wget -q "https://raw.githubusercontent.com/containerd/containerd/v${SAFE_CONTAINERD}/containerd.service"
190183
sudo rm -f /lib/systemd/system/containerd.service
@@ -197,25 +190,22 @@ jobs:
197190
sudo containerd > /tmp/containerd.log 2>&1 &
198191
sleep 5
199192
fi
200-
201-
- name: Configure containerd
202-
run: |
193+
- name: Configure containerd
194+
run: |
203195
sudo mkdir -p /etc/containerd/
204196
sudo mv /etc/containerd/config.toml /etc/containerd/config.toml.bak || true
205197
sudo containerd config default | sudo tee /etc/containerd/config.toml
206-
207-
- name: Restart containerd
208-
run: |
198+
- name: Restart containerd
199+
run: |
209200
if command -v systemctl >/dev/null && systemctl is-system-running >/dev/null 2>&1; then
210201
sudo systemctl restart containerd
211202
else
212203
sudo pkill containerd || true
213204
sudo containerd > /tmp/containerd.log 2>&1 &
214205
sleep 5
215206
fi
216-
217-
- name: Setup devmapper
218-
run: |
207+
- name: Setup devmapper
208+
run: |
219209
sudo mkdir -p /usr/local/bin/scripts
220210
sudo cp script/dm_create.sh /usr/local/bin/scripts/dm_create.sh
221211
sudo chmod 755 /usr/local/bin/scripts/dm_create.sh
@@ -242,18 +232,16 @@ jobs:
242232
sudo containerd &
243233
sleep 5
244234
fi
245-
246-
- name: Setup block-based mountpoint
247-
run: |
235+
- name: Setup block-based mountpoint
236+
run: |
248237
mkdir /tmp/test_mountpoint
249238
dd if=/dev/zero of=/tmp/fake_block bs=1M count=200
250239
mkfs.ext2 /tmp/fake_block
251240
sudo mount /tmp/fake_block /tmp/test_mountpoint
252-
253-
- name: Install CNI plugins
254-
env:
241+
- name: Install CNI plugins
242+
env:
255243
CNI_VERSION: ${{ inputs.cni_version }}
256-
run: |
244+
run: |
257245
SAFE_CNI="${CNI_VERSION}"
258246
ARCH=$(uname -m)
259247
case $ARCH in
@@ -265,11 +253,10 @@ jobs:
265253
sudo mkdir -p /opt/cni/bin
266254
sudo tar Cxzvf /opt/cni/bin "cni-plugins-linux-${BIN_ARCH}-v${SAFE_CNI}.tgz"
267255
rm -f "cni-plugins-linux-${BIN_ARCH}-v${SAFE_CNI}.tgz"
268-
269-
- name: Install nerdctl
270-
env:
256+
- name: Install nerdctl
257+
env:
271258
NERDCTL_VERSION: ${{ inputs.nerdctl_version }}
272-
run: |
259+
run: |
273260
SAFE_NERDCTL="${NERDCTL_VERSION}"
274261
ARCH=$(uname -m)
275262
case $ARCH in
@@ -280,11 +267,10 @@ jobs:
280267
wget -q "https://github.com/containerd/nerdctl/releases/download/v${SAFE_NERDCTL}/nerdctl-${SAFE_NERDCTL}-linux-${BIN_ARCH}.tar.gz"
281268
sudo tar Cxzvf /usr/local/bin "nerdctl-${SAFE_NERDCTL}-linux-${BIN_ARCH}.tar.gz"
282269
rm -f "nerdctl-${SAFE_NERDCTL}-linux-${BIN_ARCH}.tar.gz"
283-
284-
- name: Install crictl
285-
env:
270+
- name: Install crictl
271+
env:
286272
CRICTL_VERSION: ${{ inputs.crictl_version }}
287-
run: |
273+
run: |
288274
SAFE_CRI="${CRICTL_VERSION}"
289275
wget "https://github.com/kubernetes-sigs/cri-tools/releases/download/${SAFE_CRI}/crictl-${SAFE_CRI}-linux-${{ matrix.arch }}.tar.gz"
290276
sudo tar zxvf "crictl-${SAFE_CRI}-linux-${{ matrix.arch }}.tar.gz" -C /usr/local/bin
@@ -294,31 +280,28 @@ jobs:
294280
image-endpoint: unix:///run/containerd/containerd.sock
295281
timeout: 20
296282
EOT
297-
298-
- name: Install Firecracker
299-
env:
283+
- name: Install Firecracker
284+
env:
300285
FC_VERSION: ${{ inputs.firecracker_version }}
301-
run: |
286+
run: |
302287
SAFE_FC="${FC_VERSION}"
303288
ARCH="$(uname -m)"
304289
release_url="https://github.com/firecracker-microvm/firecracker/releases"
305290
curl -L "${release_url}/download/${SAFE_FC}/firecracker-${SAFE_FC}-${ARCH}.tgz" | tar -xz
306291
sudo mv "release-${SAFE_FC}-${ARCH}/firecracker-${SAFE_FC}-${ARCH}" /usr/local/bin/firecracker
307292
rm -fr "release-${SAFE_FC}-${ARCH}"
308-
309-
- name: Install Cloud Hypervisor
310-
env:
293+
- name: Install Cloud Hypervisor
294+
env:
311295
CLOUD_HYPERVISOR_VERSION: ${{ inputs.cloud_hypervisor_version }}
312-
run: |
296+
run: |
313297
SAFE_CLOUD_HYPERVISOR="${CLOUD_HYPERVISOR_VERSION}"
314298
curl -sL "https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/${SAFE_CLOUD_HYPERVISOR}/cloud-hypervisor-static" -o cloud-hypervisor
315299
chmod +x cloud-hypervisor
316300
sudo mv cloud-hypervisor /usr/local/bin/cloud-hypervisor
317-
318-
- name: Install solo5
319-
env:
301+
- name: Install solo5
302+
env:
320303
SOLO5_VERSION: ${{ inputs.solo5_version }}
321-
run: |
304+
run: |
322305
SAFE_SOLO5="${SOLO5_VERSION}"
323306
git clone -b "${SAFE_SOLO5}" https://github.com/Solo5/solo5.git
324307
cd solo5
@@ -328,41 +311,36 @@ jobs:
328311
make -j$(nproc)
329312
sudo cp tenders/hvt/solo5-hvt /usr/local/bin
330313
sudo cp tenders/spt/solo5-spt /usr/local/bin
331-
332-
- name: Download urunc artifact
333-
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
334-
with:
314+
- name: Download urunc artifact
315+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
316+
with:
335317
name: urunc_static_${{ matrix.arch }}-${{ github.run_id }}
336318
path: ./
337-
338-
- name: Download containerd-shim-urunc-v2 artifact
339-
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
340-
with:
319+
- name: Download containerd-shim-urunc-v2 artifact
320+
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
321+
with:
341322
name: containerd-shim-urunc-v2_static_${{ matrix.arch }}-${{ github.run_id }}
342323
path: ./
343-
344-
- name: Install urunc
324+
- name: Install urunc
345325
id: install-urunc
346-
run: |
326+
run: |
347327
chmod +x urunc_static_${{ matrix.arch }}
348328
chmod +x containerd-shim-urunc-v2_static_${{ matrix.arch }}
349329
sudo mv urunc_static_${{ matrix.arch }} /usr/local/bin/urunc
350330
sudo mv containerd-shim-urunc-v2_static_${{ matrix.arch }} /usr/local/bin/containerd-shim-urunc-v2
351331
urunc --version
352-
353-
- name: Configure urunc with debug logging
354-
run: |
332+
- name: Configure urunc with debug logging
333+
run: |
355334
sudo mkdir -p /etc/urunc
356335
sudo tee /etc/urunc/config.toml > /dev/null <<'EOF'
357336
[log]
358337
level = "debug"
359338
syslog = true
360339
EOF
361-
362-
- name: Add runner user to KVM group
340+
- name: Add runner user to KVM group
363341
if: ${{ matrix.arch == 'amd64' }}
364342
id: kvm-setup
365-
run: |
343+
run: |
366344
if [ -c /dev/kvm ]; then
367345
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules || true
368346
if command -v udevadm >/dev/null; then
@@ -375,19 +353,17 @@ jobs:
375353
else
376354
echo "/dev/kvm not found, skipping KVM setup"
377355
fi
378-
379-
- name: Prepare urunc folder
356+
- name: Prepare urunc folder
380357
id: prepare
381-
run: |
358+
run: |
382359
export GOROOT=$(go env GOROOT)
383360
export PATH="$GOROOT/bin:$PATH"
384361
go version
385362
go env GOROOT
386363
make prepare
387-
388-
- name: Run ${{ matrix.test }}
364+
- name: Run ${{ matrix.test }}
389365
id: test
390-
run: |
366+
run: |
391367
# Set up Go environment properly
392368
export GOROOT=$(go env GOROOT)
393369
export PATH="$GOROOT/bin:$PATH"
@@ -398,10 +374,9 @@ jobs:
398374
else
399375
sudo -E env "PATH=$PATH" "GOROOT=$GOROOT" make ${{ matrix.test }}
400376
fi
401-
402-
- name: Dump urunc logs on failure
377+
- name: Dump urunc logs on failure
403378
if: failure()
404-
run: |
379+
run: |
405380
echo "=== urunc debug logs ==="
406381
if command -v journalctl >/dev/null; then
407382
sudo journalctl --identifier=urunc --no-pager || true

0 commit comments

Comments
 (0)