@@ -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