From 1fd4bea547e38777d732f2e258299712ca043faa Mon Sep 17 00:00:00 2001 From: Anupam Kumar Date: Mon, 5 Aug 2024 12:55:31 +0530 Subject: [PATCH] ci: add docker build publish Signed-off-by: Anupam Kumar --- .github/workflows/docker-build-publish.yml | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 .github/workflows/docker-build-publish.yml diff --git a/.github/workflows/docker-build-publish.yml b/.github/workflows/docker-build-publish.yml new file mode 100644 index 0000000..2997d89 --- /dev/null +++ b/.github/workflows/docker-build-publish.yml @@ -0,0 +1,54 @@ +# This workflow is provided via the organization template repository +# +# https://github.com/nextcloud/.github +# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization + +name: Build and publish app release + +on: + pull_request: + push: + tags: + - '**' + +env: + APP_ID: translate2 + +jobs: + build_and_publish: + runs-on: ubuntu-latest + + # Only allowed to be run on nextcloud-releases repositories + # if: ${{ github.repository_owner == 'nextcloud-releases' }} + + steps: + - name: Checkout app + uses: actions/checkout@v4 + + - name: Get app version + id: appinfo + uses: skjnldsv/xpath-action@7e6a7c379d0e9abc8acaef43df403ab4fc4f770c # master + with: + filename: appinfo/info.xml + expression: "/info/version/text()" + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + push: true + tags: | + ghcr.io/kyteinsky/${{ env.APP_ID }}:latest + ghcr.io/kyteinsky/${{ env.APP_ID }}:${{ fromJson(steps.appinfo.outputs.result).version }} + cache-from: type=gha + cache-to: type=gha,mode=max