@@ -40,21 +40,19 @@ jobs:
4040 determine-languages :
4141 runs-on : ubuntu-latest
4242 outputs :
43- matrix : ${{ steps.set-matrix .outputs.matrix }}
43+ languages : ${{ steps.set-languages .outputs.languages }}
4444 steps :
45- - id : set-matrix
45+ - id : set-languages
4646 run : |
4747 if [ "${{ inputs.language }}" == "all" ]; then
48- echo 'matrix={"language":[" java","rb","py"," dotnet"," node"]}' >> $GITHUB_OUTPUT
48+ echo '"languages= java rb py dotnet node" >> $GITHUB_OUTPUT
4949 else
50- echo 'matrix={"language":[" ${{ inputs.language }}"]}' >> $GITHUB_OUTPUT
50+ echo "languages= ${{ inputs.language }}" >> $GITHUB_OUTPUT
5151 fi
52+
5253 build-docs :
5354 needs : determine-languages
5455 runs-on : ubuntu-latest
55- strategy :
56- matrix : ${{ fromJson(needs.determine-languages.outputs.matrix) }}
57- fail-fast : false
5856 steps :
5957 - name : Checkout repository
6058 uses : actions/checkout@v4
@@ -69,43 +67,55 @@ jobs:
6967 - name : Setup curl for Ubuntu
7068 run : sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
7169 - name : Setup Java
70+ if : contains(needs.determine-languages.outputs.languages, 'java')
7271 uses : actions/setup-java@v4
7372 with :
7473 java-version : 17
7574 distribution : ' temurin'
7675 - name : Set up Python 3.9
77- if : ${{ matrix.language == 'py' }}
76+ if : contains(needs.determine-languages.outputs.languages, 'py')
7877 uses : actions/setup-python@v5
7978 with :
8079 python-version : 3.9
8180 - name : Install dependencies
82- if : ${{ matrix.language == 'py' }}
81+ if : contains(needs.determine-languages.outputs.languages, 'py')
8382 run : |
8483 python -m pip install --upgrade pip
8584 pip install tox
8685 - name : Install npm dependencies
87- if : ${{ matrix.language == 'node' }}
86+ if : contains(needs.determine-languages.outputs.languages, 'node')
8887 run : |
8988 npm install
9089 npm install --prefix javascript/selenium-webdriver
91- - name : Update Documentation
92- run : ./go ${{ matrix.language }}:docs
90+ - name : Generate Documentation for selected langauges
91+ run : |
92+ read -r -a LANGS <<< "${{ needs.determine-languages.outputs.languages }}"
93+ for lang in "${LANGS[@]}"; do
94+ echo "Generating docs for $lang"
95+ ./go $lang:docs
96+ done
9397 - name : Documentation Pull Request
98+ id : cpr
9499 uses : peter-evans/create-pull-request@v6
95100 with :
96101 token : ${{ secrets.SELENIUM_CI_TOKEN }}
97102 author :
Selenium CI Bot <[email protected] > 98103 delete-branch : true
99- branch : api-docs-${{ inputs.version }}-${{ matrix.language }}
104+ branch : api-docs-${{ inputs.version }}
100105 base : gh-pages
101- add-paths : |
102- ${{ matrix.language == 'node' && 'docs/api/javascript/**' || format('docs/api/{0}/**', matrix.language) }}
103- title : Update documentation for Selenium ${{ inputs.version }} (${{ matrix.language }})
106+ add-paths : docs/api/**
107+ title : Update documentation for Selenium ${{ inputs.version }}
104108 body : |
105- This PR updates the API documentation for **${{ matrix.language }}** language bindings to version **${{ inputs.version }}**.
106-
107- - Auto-generated by [create-pull-request][1]
109+ This PR updates the API documentation for version **${{ inputs.version }}**.
110+ Languages updated: ${{ needs.determine-languages.outputs.languages }}
108111
109- [1]: https://github.com/peter-evans/create-pull-request
112+ - Auto-generated by [workflow run #${{ github.run_id }}]( https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
110113 labels : B-docs
111114 draft : false
115+ - name : Enable Pull Request Auto-merge
116+ if : steps.cpr.outputs.pull-request-operation == 'created'
117+ uses : peter-evans/enable-pull-request-automerge@v3
118+ with :
119+ token : ${{ secrets.SELENIUM_CI_TOKEN }}
120+ pull-request-number : ${{ steps.cpr.outputs.pull-request-number }}
121+ merge-method : squash
0 commit comments