diff --git a/.github/workflows/push-image.yaml b/.github/workflows/push-image.yaml new file mode 100644 index 0000000..e740c5b --- /dev/null +++ b/.github/workflows/push-image.yaml @@ -0,0 +1,46 @@ +name: build accuknox-job image workflow + +on: + push: + tags: + - '*' + branches: + - "main" + +jobs: + push_to_registry: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_PASSWORD }} + + - name: Determine version + id: vars + run: | + if [ ${{ github.ref }} == "refs/heads/main" ]; then + echo "tag=latest" >> $GITHUB_OUTPUT + else + echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT + fi + + - name: Set git ssh private key + run: echo "${{ secrets.GIT_KEY }}" > GIT-KEY + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + # equivalent of make docker-build + context: . + file: Dockerfile + push: true + tags: accuknox/accuknox-job:${{ steps.vars.outputs.tag }}