7
7
- ' .github/workflows/**'
8
8
workflow_dispatch :
9
9
inputs :
10
- version :
11
- description : ' Version of library that is being documented'
10
+ dokka_artifact_url :
11
+ description : ' URL of Dokka artifact.'
12
+ required : true
13
+ dry_run :
14
+ type : boolean
15
+ name : ' Dry run'
16
+ description : |
17
+ Dry run
18
+ If set to true, the action will not actually publish the pages, but will assemble the artifact.
19
+ default : true
12
20
required : true
13
21
14
22
permissions :
@@ -90,10 +98,21 @@ jobs:
90
98
run : unzip -O UTF-8 -qq '${{ env.ARTIFACT }}' -d ${{ env.ASSEMBLE_DIR }}
91
99
92
100
- name : Download Dokka
93
- uses : actions/download-artifact@v4
94
- with :
95
- name : dokka-${{ inputs.version }}
96
- path : ${{ env.DOKKA_ARTIFACT }}
101
+ run : |
102
+ if [ -z "${{ inputs.dokka_artifact_url }}" ]; then
103
+ echo "'dokka_artifact_url' is not set"
104
+ exit 1
105
+ fi
106
+
107
+ if [ ${{ inputs.dry_run }} == true ]; then
108
+ echo "Dry run mode is enabled."
109
+ curl -v -s -f -L \
110
+ -H "Authorization: Bearer ${{ secrets.TEAMCITY_TOKEN }}" \
111
+ ${{ inputs.dokka_artifact_url }} -o ${{ env.DOKKA_ARTIFACT }}
112
+ else
113
+ curl -v -s -f -L \
114
+ ${{ inputs.dokka_artifact_url }} -o ${{ env.DOKKA_ARTIFACT }}
115
+ fi
97
116
98
117
- name : Unzip Dokka
99
118
run : unzip -O UTF-8 -qq '${{ env.DOKKA_ARTIFACT }}' -d ${{ env.ASSEMBLE_DIR }}/api
@@ -110,7 +129,7 @@ jobs:
110
129
retention-days : 7
111
130
112
131
deploy :
113
- if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main'
132
+ if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main' && !inputs.dry_run
114
133
environment :
115
134
name : github-pages
116
135
url : ${{ steps.deployment.outputs.page_url }}
@@ -138,7 +157,7 @@ jobs:
138
157
uses : actions/deploy-pages@v4
139
158
140
159
publish-indexes :
141
- if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main'
160
+ if : github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main' && !inputs.dry_run
142
161
needs : [ build, test, assemble, deploy ]
143
162
runs-on : ubuntu-latest
144
163
container :
0 commit comments