name: docs-release permissions: contents: read on: workflow_dispatch: inputs: tag: description: 'Git tag' required: true release: types: - released env: SETUP_BUILDX_VERSION: "edge" SETUP_BUILDKIT_IMAGE: "moby/buildkit:latest" jobs: open-pr: runs-on: ubuntu-24.04 if: ${{ (github.event.release.prerelease != true || github.event.inputs.tag != '') && github.repository == 'docker/buildx' }} permissions: contents: write pull-requests: write steps: - name: Checkout docs repo uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: token: ${{ secrets.GHPAT_DOCS_DISPATCH }} repository: docker/docs ref: main - name: Prepare env: INPUT_TAG: ${{ github.event.inputs.tag }} RELEASE_NAME: ${{ github.event.release.name }} run: | rm -rf ./data/buildx/* if [ -n "${INPUT_TAG}" ]; then echo "RELEASE_NAME=${INPUT_TAG}" >> $GITHUB_ENV else echo "RELEASE_NAME=${RELEASE_NAME}" >> $GITHUB_ENV fi - name: Set up Docker Buildx uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0 with: version: ${{ env.SETUP_BUILDX_VERSION }} driver-opts: image=${{ env.SETUP_BUILDKIT_IMAGE }} buildkitd-flags: --debug - name: Generate yaml uses: docker/bake-action@6614cfa25eff9a0b2b2697efb0b6159e7680d584 # v7.2.0 with: source: ${{ github.server_url }}/${{ github.repository }}.git#${{ env.RELEASE_NAME }} targets: update-docs provenance: false set: | *.output=/tmp/buildx-docs env: DOCS_FORMATS: yaml - name: Copy yaml run: | cp /tmp/buildx-docs/out/reference/*.yaml ./data/cli/buildx/ - name: Update vendor run: | make vendor env: VENDOR_MODULE: github.com/docker/buildx@${{ env.RELEASE_NAME }} - name: Create PR on docs repo uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 with: token: ${{ secrets.GHPAT_DOCS_DISPATCH }} push-to-fork: docker-tools-robot/docker.github.io commit-message: "vendor: github.com/docker/buildx ${{ env.RELEASE_NAME }}" signoff: true sign-commits: true branch: dispatch/buildx-ref-${{ env.RELEASE_NAME }} delete-branch: true title: Update buildx reference to ${{ env.RELEASE_NAME }} body: | Update the buildx reference documentation to keep in sync with the latest release `${{ env.RELEASE_NAME }}` draft: false