Skip to content

Starting (#3)

Starting (#3) #4

Workflow file for this run

name: Build and Push Docker Image
on:
push:
branches:
- main
tags:
- 'v*.*.*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Free up disk space
run: |
echo "Initial disk usage:"
df -h
echo "Removing unused SDKs and toolchains..."
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/hostedtoolcache
echo "Pruning Docker system..."
docker system prune -af || true
echo "Disk usage after cleanup:"
df -h
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to Docker Hub
run: echo "${{ secrets.DOCKER_TOKEN }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
- name: Extract version if tag
id: get_version
run: |
if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
echo "VERSION=${GITHUB_REF##refs/tags/}" >> $GITHUB_ENV
fi
- name: Print version env
run: echo "VERSION=$VERSION"
- name: Build Docker image
run: |
docker build -t ${{ secrets.DOCKER_USERNAME }}/smolvlm:latest .
if [[ -n "$VERSION" ]]; then
docker tag ${{ secrets.DOCKER_USERNAME }}/smolvlm:latest ${{ secrets.DOCKER_USERNAME }}/smolvlm:$VERSION
fi
- name: Check remaining disk space
run: df -h
- name: Push Docker image
run: |
docker push ${{ secrets.DOCKER_USERNAME }}/smolvlm:latest
if [[ -n "$VERSION" ]]; then
docker push ${{ secrets.DOCKER_USERNAME }}/smolvlm:$VERSION
fi