diff --git a/.github/workflows/build-images.yaml b/.github/workflows/build-images.yaml index 15dbf7c59..b8a1771b9 100644 --- a/.github/workflows/build-images.yaml +++ b/.github/workflows/build-images.yaml @@ -46,7 +46,10 @@ on: autoscaler-agent: description: 'autoscaler-agent image' value: ${{ jobs.tags.outputs.autoscaler-agent }} - + daemon: + description: 'neonvm-daemon image' + value: ${{ jobs.tags.outputs.daemon }} + env: IMG_CONTROLLER: "neondatabase/neonvm-controller" IMG_VXLAN_CONTROLLER: "neondatabase/neonvm-vxlan-controller" @@ -54,6 +57,7 @@ env: IMG_KERNEL: "neondatabase/vm-kernel" IMG_SCHEDULER: "neondatabase/autoscale-scheduler" IMG_AUTOSCALER_AGENT: "neondatabase/autoscaler-agent" + IMG_DAEMON: "neondatabase/neonvm-daemon" IMG_CLUSTER_AUTOSCALER: "neondatabase/cluster-autoscaler-neonvm" ECR_DEV: "369495373322.dkr.ecr.eu-central-1.amazonaws.com" ECR_PROD: "093970136003.dkr.ecr.eu-central-1.amazonaws.com" @@ -80,6 +84,7 @@ jobs: scheduler: ${{ steps.show-tags.outputs.scheduler }} autoscaler-agent: ${{ steps.show-tags.outputs.autoscaler-agent }} cluster-autoscaler: ${{ steps.show-tags.outputs.cluster-autoscaler }} + daemon: ${{ steps.show-tags.outputs.daemon }} runs-on: ubuntu-latest steps: - id: show-tags @@ -90,6 +95,7 @@ jobs: echo "scheduler=${{ env.IMG_SCHEDULER }}:${{ inputs.tag }}" | tee -a $GITHUB_OUTPUT echo "autoscaler-agent=${{ env.IMG_AUTOSCALER_AGENT }}:${{ inputs.tag }}" | tee -a $GITHUB_OUTPUT echo "cluster-autoscaler=${{ env.IMG_CLUSTER_AUTOSCALER }}:${{ inputs.tag }}" | tee -a $GITHUB_OUTPUT + echo "daemon=${{ env.IMG_DAEMON }}:${{ inputs.tag }}" | tee -a $GITHUB_OUTPUT vm-kernel: # nb: use format(..) to catch both inputs.skip = true AND inputs.skip = 'true'. @@ -294,6 +300,19 @@ jobs: GO_BASE_IMG=${{ env.GO_BASE_IMG }} GIT_INFO=${{ steps.get-git-info.outputs.info }} + - name: Build and push neonvm-daemon image + uses: docker/build-push-action@v6 + with: + context: . + platforms: linux/amd64 + push: true + file: neonvm-daemon/Dockerfile + cache-from: type=registry,ref=cache.neon.build/neonvm-daemon:cache + cache-to: ${{ github.ref_name == 'main' && 'type=registry,ref=cache.neon.build/neonvm-daemon:cache,mode=max' || '' }} + tags: ${{ needs.tags.outputs.daemon }} + build-args: | + GO_BASE_IMG=${{ env.GO_BASE_IMG }} + - name: Build and push cluster-autoscaler image uses: docker/build-push-action@v6 if: ${{ format('{0}', inputs.build-cluster-autoscaler) == 'true' }} @@ -312,6 +331,7 @@ jobs: neonvm-controller \ neonvm-vxlan-controller \ neonvm-runner \ + neonvm-daemon \ vm-kernel \ autoscale-scheduler \ autoscaler-agent \ diff --git a/.github/workflows/build-test-vm.yaml b/.github/workflows/build-test-vm.yaml index 9fb28e0da..c63c5c4eb 100644 --- a/.github/workflows/build-test-vm.yaml +++ b/.github/workflows/build-test-vm.yaml @@ -30,7 +30,7 @@ on: env: IMG_POSTGRES_16_BULLSEYE: "neondatabase/vm-postgres-16-bullseye" # using image built in the same workflow - IMG_DAEMON: "daemon:dev" + IMG_DAEMON: "neondatabase/neonvm-daemon" defaults: run: @@ -46,13 +46,15 @@ jobs: - id: show-tags run: | echo "vm-postgres-16-bullseye=${{ env.IMG_POSTGRES_16_BULLSEYE }}:${{ inputs.tag }}" | tee -a $GITHUB_OUTPUT - echo "daemon=${{ env.IMG_DAEMON }}" | tee -a $GITHUB_OUTPUT + echo "daemon=${{ env.IMG_DAEMON }}:${{ inputs.tag }}" | tee -a $GITHUB_OUTPUT build: # nb: use format(..) to catch both inputs.skip = true AND inputs.skip = 'true'. if: ${{ format('{0}', inputs.skip) != 'true' }} needs: tags runs-on: [ self-hosted, gen3, large ] + env: + IMG_DAEMON: ${{ needs.tags.outputs.daemon }} steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5