name: ci on: push: branches: - "**" tags: - "v*.*.*" jobs: docker: runs-on: linux container: image: node:23-alpine volumes: - /opt/.runner/node_modules:/cache steps: - name: Set up Docker Context for Buildx id: buildx-context run: | export DOCKER_HOST=tcp://docker:2376/ export DOCKER_TLS_CERTDIR="/certs" export DOCKER_TLS_VERIFY=1 export DOCKER_CERT_PATH="/certs/client" docker context create builders # https://github.com/docker/setup-buildx-action # https://docs.docker.com/engine/reference/commandline/cli/#environment-variables - name: Setup Docker Buildx id: buildx uses: docker/setup-buildx-action@v3 with: # buildkitd-flags: --debug endpoint: builders env: DOCKER_HOST: "tcp://docker:2376/" DOCKER_TLS_CERTDIR: "/certs" DOCKER_TLS_VERIFY: 1 DOCKER_CERT_PATH: "/certs/client" # # Debug # - name: Available platforms run: echo ${{ steps.buildx.outputs.platforms }} # - name: Checkout # uses: actions/checkout@v4 # - name: Docker meta # id: meta # uses: docker/metadata-action@v5 # with: # # list of Docker images to use as base name for tags # images: | # ${{ secrets.DOCKERHUB_USERNAME }}/brudi-rclone # # generate Docker tags based on the following events/attributes # tags: | # type=raw,value=latest,enable={{is_default_branch}} # type=semver,pattern={{version}} # type=semver,pattern={{major}}.{{minor}} # type=semver,pattern={{major}} # - name: Set up Docker Buildx # uses: docker/setup-buildx-action@v3 # - name: Login to Docker Hub # if: github.event_name != 'pull_request' # uses: docker/login-action@v3 # with: # username: ${{ secrets.DOCKERHUB_USERNAME }} # password: ${{ secrets.DOCKERHUB_TOKEN }} # - name: Set up QEMU # uses: docker/setup-qemu-action@v3 # - name: Build and push # uses: docker/build-push-action@v5 # with: # context: . # platforms: linux/amd64,linux/arm64 # push: ${{ github.event_name != 'pull_request' }} # tags: ${{ steps.meta.outputs.tags }} # labels: ${{ steps.meta.outputs.labels }}