From 10be803a8ea35f925def971fc351e127c9407ed7 Mon Sep 17 00:00:00 2001 From: PoAn Yang Date: Mon, 29 Apr 2024 14:46:56 +0800 Subject: [PATCH] ci: change to use GitHub actions Signed-off-by: PoAn Yang (cherry picked from commit 46062fccee0d9cd49948c75cadf03a9a86f61ddc) --- .github/workflows/build.yml | 57 +++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..aac303fb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,57 @@ +name: build +on: + push: + branches: + - master + - v* + tags: + - v* + pull_request: +jobs: + build_push_image: + name: Build and push image + runs-on: ubuntu-latest + if: ${{ startsWith(github.ref, 'refs/heads/') || startsWith(github.ref, 'refs/tags/') }} + steps: + - name: Checkout code + uses: actions/checkout@v4 + + # For multi-platform support + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Declare branch + run: | + echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> "$GITHUB_ENV" + echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> "$GITHUB_ENV" + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + # longhornio/longhorn-ui image + - name: docker-publish + if: ${{ startsWith(github.ref, 'refs/heads/') }} + uses: docker/build-push-action@v5 + with: + push: true + platforms: linux/amd64,linux/arm64 + tags: longhornio/longhorn-ui:${{ env.branch }}-head + file: Dockerfile + build-args: | + VERSION=${{ env.sha_short }} + + - name: docker-publish-with-tag + if: ${{ startsWith(github.ref, 'refs/tags/') }} + uses: docker/build-push-action@v5 + with: + push: true + platforms: linux/amd64,linux/arm64 + tags: longhornio/longhorn-ui:${{ github.ref_name }} + file: Dockerfile + build-args: | + VERSION=${{ github.ref_name }}