35
35
36
36
steps :
37
37
- uses : actions/checkout@v4
38
+ # submodules: recursive
39
+ # fetch-depth: 0
38
40
39
41
- name : checkout submodules
40
42
shell : bash
@@ -43,48 +45,50 @@ jobs:
43
45
git submodule init
44
46
git submodule status | cut -d" " -f2 | xargs -n1 -P0 git submodule update
45
47
46
- - name : setup Git
47
- shell : bash
48
+ - name : warm up docker image
48
49
run : |
49
- git config --global user.email "[email protected] "
50
- git config --global user.name "Elspeth See-Eye"
51
- git config --global init.defaultBranch main
52
-
53
- - name : Set up Python 3.12
54
- uses : actions/setup-python@v5
55
- with :
56
- python-version : 3.12
50
+ docker run --rm \
51
+ --mount type=volume,source=rootmount,target=/root \
52
+ --mount type=bind,source=./,target=/app \
53
+ -t hjwp/obeythetestinggoat-book-tester:latest \
54
+ bash -c "echo hello world"
57
55
58
- - name : Install apt stuff and other dependencies
59
- shell : bash
56
+ - name : uv pip install --upgrade systemwide
60
57
run : |
61
- sudo add-apt-repository ppa:mozillateam/ppa
62
- sudo apt update -y
63
- sudo apt install -y \
64
- asciidoctor \
65
- language-pack-en \
66
- ruby-coderay \
67
- ruby-pygments.rb \
68
- firefox-esr \
69
- tree \
70
- locales
71
- sudo locale-gen en_GB.UTF-8
72
- pip install uv
58
+ docker run --rm \
59
+ --mount type=volume,source=rootmount,target=/root \
60
+ --mount type=bind,source=./,target=/app \
61
+ -t hjwp/obeythetestinggoat-book-tester:latest \
62
+ bash -c "uv pip install --system --upgrade ."
73
63
74
- - name : Install Python requirements.txt globally
75
- shell : bash
64
+ - name : uv create virtualenv in mounted /app folder at .venv
76
65
run : |
77
- uv pip install --system .
66
+ docker run --rm \
67
+ --mount type=volume,source=rootmount,target=/root \
68
+ --mount type=bind,source=./,target=/app \
69
+ -t hjwp/obeythetestinggoat-book-tester:latest \
70
+ bash -c "uv venv && uv pip install --upgrade ."
78
71
79
- - name : Install Python requirements.txt into virtualenv
80
- shell : bash
72
+ - name : git mark dirs safe (due to volume mount perms issue)
81
73
run : |
82
- make .venv/bin
74
+ docker run --rm \
75
+ --mount type=volume,source=rootmount,target=/root \
76
+ --mount type=bind,source=./,target=/app \
77
+ -t hjwp/obeythetestinggoat-book-tester:latest \
78
+ bash -c "git config --global --add safe.directory '*'"
79
+ docker run --rm \
80
+ --mount type=volume,source=rootmount,target=/root \
81
+ --mount type=bind,source=./,target=/app \
82
+ -t hjwp/obeythetestinggoat-book-tester:latest \
83
+ bash -c "cat ~/.gitconfig"
83
84
84
- - name : Run chapter test
85
- shell : bash
85
+ - name : run chapter tests
86
86
run : |
87
- make ${{ matrix.test_chapter }}
87
+ docker run --rm \
88
+ --mount type=volume,source=rootmount,target=/root \
89
+ --mount type=bind,source=./,target=/app \
90
+ -t hjwp/obeythetestinggoat-book-tester:latest \
91
+ bash -c "make ${{ matrix.test_chapter }}"
88
92
89
93
- name : Archive the built html files
90
94
uses : actions/upload-artifact@v4
0 commit comments