diff --git a/.github/workflows/build-push.yaml b/.github/workflows/build-push.yaml new file mode 100644 index 00000000..491f113f --- /dev/null +++ b/.github/workflows/build-push.yaml @@ -0,0 +1,49 @@ +name: build-and-push +on: + push: + branches: + - main + - release-* + tags: + - '*' + +permissions: + contents: read + +jobs: + build-and-push: + runs-on: ubuntu-latest + if: github.repository == 'ceph/ceph-csi-operator' + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + #- name: Login to Quay.io + #uses: docker/login-action@v3 + #with: + # registry: quay.io + # username: ${{ secrets.QUAY_IO_USERNAME }} + # password: ${{ secrets.QUAY_IO_PASSWORD }} + - name: Set up Image tag + run: | + echo "image tag ${{ github.ref }}" + if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then + echo "IMAGE_TAG=latest" >> $GITHUB_ENV + elif [[ "${{ github.ref }}" == refs/heads/* ]]; then + TAG=$(echo ${{ github.ref }} | sed 's/refs\/heads\///') + echo "IMAGE_TAG=${TAG}" >> $GITHUB_ENV + elif [[ "${{ github.ref }}" == refs/tags/* ]]; then + TAG=$(echo ${{ github.ref }} | sed 's/refs\/tags\///') + echo "IMAGE_TAG=${TAG}" >> $GITHUB_ENV + fi + - name: print env + run: echo $IMAGE_TAG + + - name: Build and push Docker images + run: make docker-buildx IMAGE_TAG=${{ env.IMAGE_TAG }} diff --git a/.gitignore b/.gitignore index e2046a84..61dbe252 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,6 @@ go.work.sum # Locally generated install files dist/ + +# Locally generated dockerfile for multi-arch +Dockerfile.cross