Skip to content

Commit 55e875e

Browse files
committed
Cleanup gha workflow
1 parent 035145a commit 55e875e

File tree

1 file changed

+59
-22
lines changed

1 file changed

+59
-22
lines changed

.github/workflows/image.yaml

Lines changed: 59 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,39 +23,75 @@ on:
2323

2424
jobs:
2525
packages:
26-
runs-on: ubuntu-latest
2726
strategy:
2827
matrix:
2928
target:
30-
- centos7-aarch64
31-
- centos7-x86_64
29+
- runner: ubuntu-24.04
30+
arch: amd64
31+
- runner: ubuntu-24.04-arm
32+
arch: arm64
33+
runs-on: ${{ matrix.target.runner }}
3234
steps:
3335
- uses: actions/checkout@v4
3436
name: Check out code
3537
with:
3638
submodules: recursive
37-
- name: Set up QEMU
38-
uses: docker/setup-qemu-action@v3
3939
- name: Set up Docker Buildx
4040
uses: docker/setup-buildx-action@v3
41-
- name: build ${{ matrix.target }} packages
41+
- name: libnvidia-container
42+
run: |
43+
REVISION=$(git -C third_party/libnvidia-container rev-parse HEAD)
44+
BUILDX_TAG=nvidia/libnvidia-container/ubuntu20.04-${{ matrix.target.arch }}
45+
DIST=./dist/ubuntu20.04/${{ matrix.target.arch }}
46+
mkdir -p $DIST
47+
docker buildx build \
48+
--platform=linux/${{ matrix.target.arch }} \
49+
--progress=plain \
50+
--build-arg BASEIMAGE="ubuntu:20.04" \
51+
--build-arg OS_VERSION="20.04" \
52+
--build-arg OS_ARCH="${{ matrix.target.arch }}" \
53+
--build-arg GOLANG_VERSION="1.17.1" \
54+
--build-arg WITH_NVCGO="yes" \
55+
--build-arg WITH_LIBELF="no" \
56+
--build-arg WITH_TIRPC="no" \
57+
--build-arg WITH_SECCOMP="yes" \
58+
--build-arg CFLAGS="" \
59+
--build-arg LDLIBS="" \
60+
--build-arg REVISION="$REVISION" \
61+
--build-arg LIB_VERSION="1.17.4" \
62+
--build-arg LIB_TAG="" \
63+
--build-arg LIB_BUILD="" \
64+
--load \
65+
--tag $BUILDX_TAG \
66+
--file third_party/libnvidia-container/mk/Dockerfile.ubuntu third_party/libnvidia-container/
67+
docker run --rm --platform linux/${{ matrix.target.arch }} -v $DIST:/dist $BUILDX_TAG:latest
68+
- name: toolkit
4269
run: |
43-
sudo apt-get install -y coreutils build-essential sed git bash make
44-
echo "Building packages"
45-
./scripts/build-packages.sh ${{ matrix.target }}
70+
BUILDX_TAG=nvidia/nvidia-container-toolkit/ubuntu20.04-${{ matrix.target.arch }}
71+
DIST=./dist/ubuntu20.04/${{ matrix.target.arch }}
72+
mkdir -p $DIST
73+
docker build \
74+
--platform=linux/${{ matrix.target.arch }} \
75+
--progress=plain \
76+
--build-arg BASEIMAGE="ubuntu:20.04" \
77+
--build-arg GOLANG_VERSION="1.23.4" \
78+
--build-arg PKG_NAME="nvidia-container-toolkit" \
79+
--build-arg PKG_VERS="1.17.4" \
80+
--build-arg PKG_REV="1" \
81+
--build-arg LIBNVIDIA_CONTAINER_TOOLS_VERSION="1.17.4-1" \
82+
--build-arg GIT_COMMIT="${{ github.sha }}" \
83+
--tag $BUILDX_TAG \
84+
--file docker/Dockerfile.ubuntu .
85+
docker run --rm --platform linux/${{ matrix.target.arch }} -v $DIST:/dist $BUILDX_TAG:latest
4686
- name: 'Upload Artifacts'
4787
uses: actions/upload-artifact@v4
4888
with:
89+
name: nvidia-container-toolkit-ubuntu20.04-${{ matrix.target.arch }}-${{ github.run_id }}
90+
path: dist/*
4991
compression-level: 0
50-
name: toolkit-container-${{ matrix.target }}-${{ github.run_id }}
51-
path: ${{ github.workspace }}/dist/*
5292

5393
image:
54-
runs-on: ubuntu-latest
55-
strategy:
56-
matrix:
57-
dist:
58-
- ubi8
94+
runs-on: ubuntu-24.04
5995
needs: packages
6096
steps:
6197
- uses: actions/checkout@v4
@@ -64,11 +100,11 @@ jobs:
64100
uses: docker/setup-qemu-action@v3
65101
- name: Set up Docker Buildx
66102
uses: docker/setup-buildx-action@v3
67-
- name: Get built packages
103+
- name: Download packages
68104
uses: actions/download-artifact@v4
69105
with:
70-
path: ${{ github.workspace }}/dist/
71-
pattern: toolkit-container-*-${{ github.run_id }}
106+
path: dist/
107+
pattern: nvidia-container-toolkit-ubuntu20.04-*-${{ github.run_id }}
72108
merge-multiple: true
73109
- name: Login to GitHub Container Registry
74110
uses: docker/login-action@v3
@@ -77,7 +113,8 @@ jobs:
77113
username: ${{ github.actor }}
78114
password: ${{ secrets.GITHUB_TOKEN }}
79115
- name: Build image
80-
env:
81-
IMAGE_NAME: ghcr.io/${{ github.actor }}/container-toolkit
82116
run: |
83-
make -f deployments/container/Makefile build-${{ matrix.dist }} PUSH_ON_BUILD="true" BUILD_MULTI_ARCH_IMAGES="true"
117+
make -f deployments/container/Makefile build-ubuntu20.04 \
118+
PUSH_ON_BUILD="true" \
119+
BUILD_MULTI_ARCH_IMAGES="true" \
120+
IMAGE_NAME=ghcr.io/${{ github.actor }}/container-toolkit

0 commit comments

Comments
 (0)