name: Docker beta build

on:
    push:
      branches:
        - master
jobs:
    build:
        if: github.repository == 'rclone/rclone'
        runs-on: ubuntu-latest
        name: Build image job
        steps:
            - name: Free some space
              shell: bash
              run: |
                df -h .
                # Remove android SDK
                sudo rm -rf /usr/local/lib/android || true
                # Remove .net runtime
                sudo rm -rf /usr/share/dotnet || true
                df -h .
            - name: Checkout master
              uses: actions/checkout@v4
              with:
                fetch-depth: 0
            - name: Login to Docker Hub
              uses: docker/login-action@v3
              with:
                username: ${{ secrets.DOCKERHUB_USERNAME }}
                password: ${{ secrets.DOCKERHUB_TOKEN }}
            - name: Extract metadata (tags, labels) for Docker
              id: meta
              uses: docker/metadata-action@v5
              with:
                images: ghcr.io/${{ github.repository }}
            - name: Set up QEMU
              uses: docker/setup-qemu-action@v3
            - 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
                # This is the user that triggered the Workflow. In this case, it will
                # either be the user whom created the Release or manually triggered
                # the workflow_dispatch.
                username: ${{ github.actor }}
                # `secrets.GITHUB_TOKEN` is a secret that's automatically generated by
                # GitHub Actions at the start of a workflow run to identify the job.
                # This is used to authenticate against GitHub Container Registry.
                # See https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret
                # for more detailed information.
                password: ${{ secrets.GITHUB_TOKEN }}
            - name: Show disk usage
              shell: bash
              run: |
                df -h .
            - name: Build and publish image
              uses: docker/build-push-action@v6
              with:
                file: Dockerfile
                context: .
                push: true # push the image to ghcr
                tags: |
                  ghcr.io/rclone/rclone:beta
                  rclone/rclone:beta
                labels: ${{ steps.meta.outputs.labels }}
                platforms: linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/arm/v6
                cache-from: type=gha, scope=${{ github.workflow }}
                cache-to: type=gha, mode=max, scope=${{ github.workflow }}
                provenance: false
              # Eventually cache will need to be cleared if builds more frequent than once a week
              # https://github.com/docker/build-push-action/issues/252
            - name: Show disk usage
              shell: bash
              run: |
                df -h .
