diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 9893d04f..de104392 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -7,6 +7,9 @@ on: - opened - synchronize - reopened + push: + branches: + - main jobs: build: @@ -16,6 +19,9 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + - name: Get current date (yyyy.mm.dd) + run: echo "CURRENT_DATE=$(date +'%Y.%m.%d')" >> $GITHUB_ENV + # Set up Docker Buildx, useful for building multi-platform images - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 diff --git a/.github/workflows/docker-nightly-publish.yml b/.github/workflows/docker-nightly-publish.yml new file mode 100644 index 00000000..af76ed4d --- /dev/null +++ b/.github/workflows/docker-nightly-publish.yml @@ -0,0 +1,38 @@ +name: Build NV-Ingest Runtime Image + +# Trigger for pull requests and pushing to main +on: + schedule: + # Runs every day at 11:30PM (UTC) + - cron: "30 23 * * *" + push: + branches: + - main + +jobs: + build: + runs-on: linux-large-disk + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Get current date (yyyy.mm.dd) + run: echo "CURRENT_DATE=$(date +'%Y.%m.%d')" >> $GITHUB_ENV + + # Set up Docker Buildx, useful for building multi-platform images + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + # Login to NGC + - name: Log in to NGC Registry + run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login nvcr.io --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin + + # Build the Docker image using the Dockerfile + - name: Build Docker image + run: | + docker build -t ${{ secrets.DOCKER_REGISTRY }}/nv-ingest:${{ env.CURRENT_DATE }} . + + # Push the container to NGC + - name: Upload nv-ingest container + run: docker push ${{ secrets.DOCKER_REGISTRY }}/nv-ingest:${{ env.CURRENT_DATE }}