@@ -16,27 +16,32 @@ jobs:
1616 - uses : actions/checkout@v3
1717 with :
1818 ref : gh-pages
19- - uses : actions/github-script@v6
20- id : latest-version
19+ - uses : actions/github-script@v7
20+ id : versions
2121 with :
22- result-encoding : string
22+ result-encoding : json
2323 script : |
24- const { data: release } = await github.rest.repos.getLatestRelease({
24+ const fs = require('fs');
25+
26+ const opts = github.rest.repos.listReleases.endpoint.merge({
2527 owner: context.repo.owner,
26- repo: context.repo.repo,
28+ repo: context.repo.repo
2729 });
30+ const releases = await github.paginate(opts);
2831
29- return release.tag_name
30- - id : has-new-release
31- run : |
32- if [[ -d "${{ steps.latest-version.outputs.result }}" ]]; then
33- echo 'result=false' >> $GITHUB_OUTPUT
34- else
35- echo 'result=true' >> $GITHUB_OUTPUT
36- fi
32+ const missings = [];
33+
34+ releases.forEach((release) => {
35+ if (!release.draft && !release.prerelease && release.tag_name) {
36+ if (!fs.existsSync(release.tag_name)) {
37+ missings.push(release.tag_name);
38+ }
39+ }
40+ });
41+
42+ return missings;
3743 outputs :
38- has-new-release : ${{ steps.has-new-release.outputs.result }}
39- latest-version : ${{ steps.latest-version.outputs.result }}
44+ versions : ${{ steps.versions.outputs.result }}
4045 deploy-new-javadoc :
4146 needs :
4247 - check-new-release
@@ -46,27 +51,31 @@ jobs:
4651 with :
4752 ref : gh-pages
4853 - id : download-javadoc
49- if : ${{ needs.check-new-release.outputs.has-new-release == 'true' }}
54+ if : >
55+ needs.check-new-release.outputs.versions != '[]'
56+ env :
57+ MISSING_VERSIONS : ${{ join(fromJSON(needs.check-new-release.outputs.versions), ' ') }}
5058 run : |
51- readonly version='${{ needs.check-new-release.outputs.latest-version }}'
52- readonly url="https://repo1.maven.org/maven2/com/deploygate/sdk/${version}/sdk-${version}-javadoc.jar"
53- readonly dist="$version"
54-
55- mkdir -p "$dist"
56-
57- if curl -sSfL -I --url "$url"; then
58- curl -sSfL \
59- -X GET \
60- --url "$url" \
61- -o javadoc.jar
62- unzip javadoc.jar -d "$dist/"
59+ for version in $MISSING_VERSIONS; do
60+ url="https://repo1.maven.org/maven2/com/deploygate/sdk/${version}/sdk-${version}-javadoc.jar"
61+ dist="$version"
62+
63+ mkdir -p "$dist"
64+
65+ if curl -sSfL -I --url "$url"; then
66+ curl -sSfL \
67+ -X GET \
68+ --url "$url" \
69+ -o javadoc.jar
70+ unzip javadoc.jar -d "$dist/"
71+
72+ rm javadoc.jar
73+ fi
6374
6475 if [[ ! -f "$dist/index.html" ]]; then
6576 rm -fr "$dist"
6677 fi
67-
68- rm javadoc.jar
69- fi
78+ done
7079 - uses : actions/github-script@v6
7180 with :
7281 script : |
0 commit comments