name: Master on: workflow_dispatch: push: branches: [ "master" ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up JDK uses: actions/setup-java@v3 with: java-version: '17' distribution: 'zulu' cache: 'maven' - name: Build id: build run: | ./mvnw -B -ntp versions:set -DnewVersion=$GITHUB_SHA ./mvnw -V -B -ntp clean package -Pprod -DskipTests export VERSION=$(./mvnw -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec) echo "version=${VERSION}" >> $GITHUB_OUTPUT ################# # # # Docker images # # # ################# - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Cache Docker layers uses: actions/cache@v3 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-buildx-${{ github.sha }} restore-keys: | ${{ runner.os }}-buildx- - name: Login to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push id: docker_build_and_push uses: docker/build-push-action@v3 with: builder: ${{ steps.buildx.outputs.name }} context: kafka-ui-api platforms: linux/amd64,linux/arm64 push: true tags: | provectuslabs/kafka-ui:${{ steps.build.outputs.version }} provectuslabs/kafka-ui:master build-args: | JAR_FILE=kafka-ui-api-${{ steps.build.outputs.version }}.jar cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache ################################# # # # Master image digest update # # # ################################# - name: update-master-deployment run: | git clone https://kafka-ui-infra:${{ secrets.KAFKA_UI_INFRA_TOKEN }}@gitlab.provectus.com/provectus-internals/kafka-ui-infra.git --branch master cd kafka-ui-infra/aws-infrastructure4eks/argocd/scripts echo "Image digest is:${{ steps.docker_build_and_push.outputs.digest }}" ./kafka-ui-update-master-digest.sh ${{ steps.docker_build_and_push.outputs.digest }} git config --global user.email "kafka-ui-infra@provectus.com" git config --global user.name "kafka-ui-infra" git add ../kafka-ui/* git commit -m "updated master image digest: ${{ steps.docker_build_and_push.outputs.digest }}" && git push