11
2- name : " Generate and Publish  HTML" 
2+ name : " Generate HTML" 
33
4+ #  edit the list of branches according to your repository
5+ #  the list of branches should contain all the branches in your Antora publish playbooks
46on :
57  push :
68    branches :
79    - ' dev' 
10+     - ' main' 
11+     - ' 5.x' 
12+     - ' 4.4' 
813  workflow_dispatch :
914
15+ #  change `dev` and `main` according to your repository's branch names
16+ #  `dev` is the branch you use to build and publish to staging
17+ #  `main` is the branch you use to build and publish to neo4j.com/docs
18+ #  in some cases, PROD_BRANCH and DEV_BRANCH may be the same branch
1019env :
11-   PUBLISH_TO : ${{ github.ref == 'refs/heads/main' && 'prod' || 'dev' }} 
20+   PROD_BRANCH : ' main' 
21+   DEV_BRANCH : ' dev' 
1222
1323jobs :
1424
25+   prepare-ref-env :
26+     name : Set build branch and environments 
27+     runs-on : ubuntu-latest 
28+     outputs :
29+       build-ref : ${{ steps.set-ref-env.outputs.build-ref }} 
30+       environments : ${{ steps.set-ref-env.outputs.environments }} 
31+     steps :
32+       - name : Set Build Ref 
33+         id : set-ref-env 
34+         run : | 
35+           if [[ "${GITHUB_REF}" == "refs/heads/${{ env.DEV_BRANCH }}" ]]; then 
36+             build_from=${{ env.DEV_BRANCH }} 
37+             environments='["dev"]' 
38+           else 
39+             build_from=${{ env.PROD_BRANCH }} 
40+             environments='["prod"]' 
41+           fi 
42+           # if dev branch = prod branch publish to both 
43+           if [[ "${{ env.DEV_BRANCH }}" == "${{ env.PROD_BRANCH }}" ]]; then 
44+             environments='["dev","prod"]' 
45+           fi 
46+           echo "build-ref=${build_from}" >> $GITHUB_OUTPUT 
47+           echo "environments=${environments[@]}" >> $GITHUB_OUTPUT 
48+ 
1549docs-build :
1650    name : Generate HTML 
51+     needs : prepare-ref-env 
1752    uses : neo4j/docs-tools/.github/workflows/reusable-docs-build.yml@v2 
1853    with :
1954      package-script : ' verify:publish' 
55+       build-ref : ${{needs.prepare-ref-env.outputs.build-ref}} 
56+       fetch-depth : 0 
2057
2158  docs-verify :
2259    name : Verify HTML 
@@ -27,11 +64,15 @@ jobs:
2764
2865  publish-html :
2966    name : Publish HTML 
30-     needs : docs-verify 
67+     needs : [ docs-verify, prepare-ref-env] 
3168    runs-on : ubuntu-latest 
3269
70+     strategy :
71+       matrix :
72+         environments : ${{ fromJson(needs.prepare-ref-env.outputs.environments) }} 
73+ 
3374    steps :
34-       - name : Trigger  Publish
75+       - name : Publish to ${{ matrix.environments }}  
3576        uses : peter-evans/repository-dispatch@bf47d102fdb849e755b0b0023ea3e81a44b6f570  #  v2.1.2
3677        with :
3778          token : ${{ secrets.DOCS_DISPATCH_TOKEN }} 
4384              "repo": "${{ github.event.repository.name }}", 
4485              "run_id": "${{ github.run_id }}", 
4586              "args": "--dryrun", 
46-               "publish_env": "${{ env.PUBLISH_TO  }}" 
87+               "publish_env": "${{ matrix.environments  }}" 
4788            } 
0 commit comments