1+ name : Release vllm-proxy
2+
3+ on :
4+ push :
5+ tags :
6+ - ' v*'
7+
8+ permissions :
9+ attestations : write
10+ id-token : write
11+ contents : write
12+ packages : write
13+
14+ jobs :
15+ build_and_push_image :
16+ runs-on : ubuntu-latest
17+ defaults :
18+ run :
19+ working-directory : vllm-proxy
20+ steps :
21+ - name : Checkout repository
22+ uses : actions/checkout@v4
23+
24+ - name : Free up disk space
25+ run : |
26+ echo "Initial free space:"
27+ df -h
28+ sudo rm -rf /usr/share/dotnet
29+ sudo rm -rf /usr/local/lib/android
30+ sudo rm -rf /opt/ghc
31+ echo "Free space after cleanup:"
32+ df -h
33+ working-directory : .
34+
35+ - name : Log in to Docker Hub
36+ uses : docker/login-action@v3
37+ with :
38+ username : ${{ vars.DOCKERHUB_USERNAME }}
39+ password : ${{ secrets.DOCKERHUB_TOKEN }}
40+
41+ - name : Set up Docker Buildx
42+ uses : docker/setup-buildx-action@v3
43+
44+ - name : Clean up Docker resources
45+ run : |
46+ docker system df
47+ docker system prune -a -f
48+
49+ - name : Build and push Docker image
50+ id : build-and-push
51+ uses : docker/build-push-action@v5
52+ with :
53+ context : vllm-proxy
54+ file : vllm-proxy/docker/Dockerfile
55+ push : true
56+ tags : ${{ vars.DOCKERHUB_USERNAME }}/vllm-proxy:${{ github.ref_name }}
57+ platforms : linux/amd64
58+
59+ - name : Generate artifact attestation
60+ uses : actions/attest-build-provenance@v1
61+ with :
62+ subject-name : " docker.io/${{ vars.DOCKERHUB_USERNAME }}/vllm-proxy"
63+ subject-digest : ${{ steps.build-and-push.outputs.digest }}
64+ push-to-registry : true
65+ env :
66+ DOCKER_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
67+ DOCKER_PASSWORD : ${{ secrets.DOCKERHUB_TOKEN }}
68+
69+ - name : Release
70+ uses : softprops/action-gh-release@v1
71+ with :
72+ body : |
73+ ## Docker Image Digest (SHA256)
74+
75+ | Image | Digest | Verification |
76+ |---|---|---|
77+ | `docker.io/${{ vars.DOCKERHUB_USERNAME }}/vllm-proxy:${{ github.ref_name }}` | `${{ steps.build-and-push.outputs.digest }}` | [Verify on Sigstore](https://search.sigstore.dev/?hash=${{ steps.build-and-push.outputs.digest }})
0 commit comments