11name : Docker Build
2-
32on :
43 push :
5- branches : [ main, master ] # Adjust based on your primary branch name
4+ branches : [ main, devel ]
65 pull_request :
7- branches : [ main, master ]
8-
6+ branches : [ main, devel ]
97jobs :
108 build :
11- runs-on : ubuntu-latest
9+ runs-on : ubuntu-22.04
1210
1311 steps :
1412 - name : Checkout code
1513 uses : actions/checkout@v3
14+
15+ - name : Configure Docker to use extra disk space
16+ run : |
17+ echo "Disk space before reconfiguration:"
18+ df -h
19+
20+ # Stop Docker service
21+ sudo systemctl stop docker
22+
23+ # Create new Docker data directory on the secondary disk
24+ sudo mkdir -p /mnt/docker
25+
26+ # Configure Docker to use the new location
27+ echo '{
28+ "data-root": "/mnt/docker"
29+ }' | sudo tee /etc/docker/daemon.json
30+
31+ # Restart Docker service
32+ sudo systemctl start docker
33+ sudo systemctl status docker
34+
35+ echo "Disk space after reconfiguration:"
36+ df -h
37+
38+ - name : Set up Docker Buildx
39+ uses : docker/setup-buildx-action@v2
1640
1741 - name : Print Docker and Docker Compose versions
1842 run : |
2347 echo "System info:"
2448 uname -a
2549
26- - name : Set up Docker Buildx
27- uses : docker/setup-buildx-action@v2
28-
50+ - name : Free up disk space
51+ run : |
52+ echo "Disk space before cleanup:"
53+ df -h
54+ # Remove unnecessary large packages
55+ # sudo rm -rf /usr/share/dotnet
56+ # sudo rm -rf /usr/local/lib/android
57+ # sudo rm -rf /opt/ghc
58+ # sudo rm -rf /opt/hostedtoolcache
59+ # sudo rm -rf "$AGENT_TOOLSDIRECTORY"
60+ # sudo apt-get autoremove -y
61+ # sudo apt-get clean
62+ echo "Disk space after cleanup:"
63+ df -h
64+
2965 - name : List files in directory
3066 run : |
3167 echo "Repository contents:"
@@ -35,20 +71,18 @@ jobs:
3571
3672 - name : Build with Docker Compose
3773 run : |
74+ # Create a temporary directory on the secondary disk for any build artifacts
75+ sudo mkdir -p /mnt/build-tmp
76+ sudo chown $USER:$USER /mnt/build-tmp
77+
3878 echo "Starting Docker Compose build..."
39- docker compose build --progress=plain
79+ # Use DOCKER_BUILDKIT=1 for more efficient builds
80+ DOCKER_BUILDKIT=1 docker compose build --progress=plain
4081 echo "Docker Compose build completed successfully!"
4182
4283 - name : List built images
4384 run : |
4485 echo "Built Docker images:"
4586 docker images
46-
47- # Optional - Add a test step that runs your container
48- # - name: Test container
49- # run: |
50- # docker compose up -d
51- # echo "Container is running. Docker status:"
52- # docker ps
53- # # Add any test commands here
54- # docker compose down
87+ echo "Disk usage:"
88+ df -h
0 commit comments