-
-
Notifications
You must be signed in to change notification settings - Fork 3
67 lines (56 loc) · 1.95 KB
/
devcontainer-smoke.yml
File metadata and controls
67 lines (56 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: Devcontainer Smoke Test
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
smoke:
name: Smoke Test Dev Container
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Build devcontainer
uses: devcontainers/ci@8bf61b26e9c3a98f69cb6ce2f88d24ff59b785c6 # v0.3
with:
push: never
runCmd: echo "container up"
- name: Verify tools and settings inside devcontainer
uses: devcontainers/ci@8bf61b26e9c3a98f69cb6ce2f88d24ff59b785c6 # v0.3
with:
push: never
runCmd: |
bash -lc '
set -euo pipefail
echo "User check"
id -un | grep -qx vscode
echo "PATH check"
echo "$PATH" | grep -q "/usr/local/bin"
echo "uv and Python"
command -v uv >/dev/null
uv --version
python --version
uv run -q python -V
echo "Docker client present"
command -v docker >/dev/null
echo "Docker socket check"
if [ -S /var/run/docker.sock ]; then
if sudo -n true 2>/dev/null; then
sudo -n docker version >/dev/null 2>&1 || docker version >/dev/null
sudo -n docker ps >/dev/null 2>&1 || docker ps >/dev/null
else
docker version >/dev/null
docker ps >/dev/null
fi
echo "Docker socket available and working"
else
echo "No /var/run/docker.sock available in container, skipping daemon tests"
fi
echo "OK: devcontainer is healthy"
'