name: Release documentation on: push: branches: - 'main' - 'stable-**' paths: - 'ydb/docs/**' workflow_dispatch: jobs: build: runs-on: ubuntu-latest concurrency: group: release-documentation-${{ github.ref }} cancel-in-progress: true permissions: write-all steps: - name: Checkout uses: actions/checkout@v5 # Branches listed below keep the old logic (use-ya-opensource: false). # All other branches use the new logic (use-ya-opensource: true). # This workflow runs on push / workflow_dispatch, so the relevant branch # is the one being built (context.ref), not a pull request base ref. - name: Determine ya-opensource flag id: ya uses: actions/github-script@v8 with: script: | const legacyBranches = [ 'stable-25-1', 'stable-25-2', 'stable-25-2-1', 'stable-25-3', 'stable-25-3-1', 'stable-25-4', 'stable-25-4-1', 'stable-26-1', 'stable-26-1-1', 'stable-26-2', 'stable-26-2-1', ]; const branch = context.ref.replace('refs/heads/', ''); core.setOutput('use', legacyBranches.includes(branch) ? 'false' : 'true'); - name: Build uses: diplodoc-platform/docs-build-action@v3 with: revision: "${{ github.sha }}" src-root: ${{ vars.SRC_ROOT }} cli-version: "4.59.12" use-ya-opensource: ${{ steps.ya.outputs.use }} upload: needs: build runs-on: ubuntu-latest concurrency: group: release-documentation-${{ github.ref }} cancel-in-progress: true permissions: write-all steps: - name: Upload uses: diplodoc-platform/docs-upload-action@v1 with: github-token: ${{ secrets.GITHUB_TOKEN }} storage-bucket: "common/${{ secrets.DOCS_PROJECT_NAME }}" storage-endpoint: ${{ vars.DOCS_AWS_ENDPOINT }} storage-access-key-id: ${{ secrets.DOCS_AWS_KEY_ID }} storage-secret-access-key: ${{ secrets.DOCS_AWS_SECRET_ACCESS_KEY }} storage-region: ${{ vars.DOCS_AWS_REGION }} release: needs: upload runs-on: ubuntu-latest concurrency: group: release-documentation-${{ github.ref }} cancel-in-progress: true steps: - name: Extract version # turn branch name into version string id: extract_version shell: bash run: | echo "version=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" \ | sed -e 's|stable-|v|g' -e 's|-|.|g' \ >> $GITHUB_OUTPUT - name: Get default branch name id: get_default run: | default=$(curl -fsS \ https://raw.githubusercontent.com/ydb-platform/ydb/refs/heads/main/ydb/docs/default-branch.txt) echo "DEFAULT_BRANCH=$default" >> $GITHUB_ENV - name: Set update-only-version # only skip default-branch commits id: set-update-only-version run: | current=${GITHUB_REF##*/} # e.g. 'main' or 'stable-X' if [[ "$current" == "$DEFAULT_BRANCH" ]]; then echo "update_only_version=false" >> $GITHUB_ENV else echo "update_only_version=true" >> $GITHUB_ENV fi - name: Release uses: diplodoc-platform/docs-release-action@v2 with: revision: "${{ github.sha }}" version: "${{ steps.extract_version.outputs.version }}" storage-bucket: ${{ secrets.DOCS_PROJECT_NAME }} storage-access-key-id: ${{ secrets.DOCS_AWS_KEY_ID }} storage-secret-access-key: ${{ secrets.DOCS_AWS_SECRET_ACCESS_KEY }} update-only-version: "${{ env.update_only_version }}"