@@ -27,19 +27,23 @@ jobs:
2727 # Download pre-packaged docs artifacts if they were published by the release workflow.
2828 - name : Download pre-packaged docs artifacts
2929 id : download_docs
30+ env :
31+ VERSION : ${{ inputs.version }}
3032 uses : actions/download-artifact@v4
3133 continue-on-error : true
3234 with :
33- name : packaged-docs-${{ inputs.version }}
35+ name : packaged-docs-$VERSION
3436 path : build/docs
3537
3638 # Fallback to building if artifacts were not previously uploaded for the given version.
3739 # NOTE: All the steps below this point will be skipped if the download step succeeds.
3840 - name : Checkout repo to build docs
3941 if : ${{ steps.download_docs.outcome == 'failure' }}
42+ env :
43+ VERSION : ${{ inputs.version }}
4044 uses : actions/checkout@v4
4145 with :
42- ref : refs/tags/${{ inputs.version }}
46+ ref : refs/tags/$VERSION
4347
4448 - name : Setup Java Version
4549 uses : actions/setup-java@v4
@@ -52,29 +56,46 @@ jobs:
5256
5357 - name : Copy CI gradle.properties
5458 if : ${{ steps.download_docs.outcome == 'failure' }}
59+ env :
60+ VERSION : ${{ inputs.version }}
5561 run : |
62+ set -euo pipefail
5663 mkdir -p ~/.gradle
5764 cp .github/ci-gradle.properties ~/.gradle/gradle.properties
5865
59- - name : Verify Version
66+ - name : Verify Version (Gradle equality)
6067 if : ${{ steps.download_docs.outcome == 'failure' }}
68+ env :
69+ VERSION : ${{ inputs.version }}
6170 run : |
62- VERSION=${{ inputs.version }}
63- if [[ $(./gradlew -q getVersion) = $VERSION ]]; then exit 0 ; else exit 1; fi
71+ set -euo pipefail
72+ ACTUAL_VERSION=$(./gradlew -q getVersion)
73+
74+ if [[ "$ACTUAL_VERSION" != "$VERSION" ]]; then
75+ echo "Gradle version mismatch: expected '$VERSION', got '$ACTUAL_VERSION'" >&2
76+ exit 1
77+ fi
78+
79+ echo "Verified version matches Gradle: $VERSION"
6480
6581 - name : Build docs packages
6682 if : ${{ steps.download_docs.outcome == 'failure' }}
83+ env :
84+ VERSION : ${{ inputs.version }}
6785 run : |
86+ set -euo pipefail
6887 ./gradlew packageDocs --stacktrace
6988
7089 - name : Upload packaged docs artifacts
7190 if : ${{ steps.download_docs.outcome == 'failure' }}
91+ env :
92+ VERSION : ${{ inputs.version }}
7293 uses : actions/upload-artifact@v4
7394 with :
74- name : packaged-docs-${{ inputs.version }}
95+ name : packaged-docs-$VERSION
7596 retention-days : 1
7697 path : |
77- build/docs/${{ inputs.version }} -kdoc.tar.gz
98+ build/docs/$VERSION -kdoc.tar.gz
7899
79100 upload-docs :
80101 if : github.repository == 'urbanairship/android-library'
@@ -84,15 +105,19 @@ jobs:
84105 # Docs should already be built and uploaded at this point, but we still need
85106 # this step in order for google-github-actions/auth to work in upload step.
86107 - name : Checkout repo
108+ env :
109+ VERSION : ${{ inputs.version }}
87110 uses : actions/checkout@v4
88111 with :
89- ref : refs/tags/${{ inputs.version }}
112+ ref : refs/tags/$VERSION
90113
91114 - name : Download packaged docs artifacts
92115 id : download_docs
116+ env :
117+ VERSION : ${{ inputs.version }}
93118 uses : actions/download-artifact@v4
94119 with :
95- name : packaged-docs-${{ inputs.version }}
120+ name : packaged-docs-$VERSION
96121 path : build/docs
97122
98123 - name : Setup GCP Auth
@@ -108,4 +133,6 @@ jobs:
108133 env :
109134 VERSION : ${{ inputs.version }}
110135 run : |
111- gsutil cp build/docs/$VERSION-kdoc.tar.gz gs://ua-web-ci-prod-docs-transfer/libraries/android-kotlin/$VERSION.tar.gz
136+ set -euo pipefail
137+ gsutil cp "build/docs/${VERSION}-kdoc.tar.gz" \
138+ "gs://ua-web-ci-prod-docs-transfer/libraries/android-kotlin/${VERSION}.tar.gz"
0 commit comments