-
Notifications
You must be signed in to change notification settings - Fork 51
129 lines (115 loc) · 3.65 KB
/
ci.yml
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: ci
on:
pull_request:
push:
branches:
- main
jobs:
bats:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: install bats
shell: bash
run: |
sudo apt-get update
sudo apt-get install podman bats bash codespell python3-argcomplete pipx
make install-requirements
pip install tqdm --break-system-packages
- name: Upgrade to podman 5
run: |
set -e
# Enable universe repository which contains podman
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu oracular universe"
# Update package lists
sudo apt-get update
# Install specific podman version
sudo apt-get upgrade
- name: run bats
run: |
make validate
make bats
bats-nocontainer:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: install bats
shell: bash
run: |
sudo apt-get update
sudo apt-get install podman bats bash codespell python3-argcomplete pipx
make install-requirements
- name: Upgrade to podman 5
run: |
set -e
# Enable universe repository which contains podman
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu oracular universe"
# Update package lists
sudo apt-get update
# Install specific podman version
sudo apt-get upgrade
- name: bats-nocontainer
run: |
pip install tqdm --break-system-packages
make bats-nocontainer
docker:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: install bats
shell: bash
run: |
sudo apt-get update
sudo apt-get install bats bash codespell python3-argcomplete pipx
make install-requirements
- name: Upgrade to podman 5
run: |
set -e
# Enable universe repository which contains podman
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu oracular universe"
# Update package lists
sudo apt-get update
# Install specific podman version
sudo apt-get upgrade
- name: Free Disk Space Linux
shell: bash
run: |
sudo docker rmi "$(docker image ls -aq)" >/dev/null 2>&1 || true
sudo rm -rf \
/usr/share/dotnet /usr/local/lib/android /opt/ghc \
/usr/local/share/powershell /usr/share/swift /usr/local/.ghcup \
/usr/lib/jvm || true
# /mnt has ~ 65 GB free disk space. / is too small.
- name: Reconfigure Docker data-root
run: |
sudo mkdir -p /mnt/docker /etc/docker
echo '{"data-root": "/mnt/docker"}' > /tmp/daemon.json
sudo mv /tmp/daemon.json /etc/docker/daemon.json
cat /etc/docker/daemon.json
sudo systemctl restart docker.service
df -h
- name: bats-docker
run: |
docker info
pip install tqdm --break-system-packages
make bats-docker
macos:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: install golang
shell: bash
run: |
brew install go bats bash jq
make install-requirements
- name: Run a one-line script
shell: bash
run: |
make install-requirements
make validate
pipx install .
make bats-nocontainer
# FIXME: ci script should be able to run on MAC.
# - name: Run ci
# shell: bash
# run: make ci