diff --git a/dist/index.js b/dist/index.js index fae00d4..fc7d10b 100644 --- a/dist/index.js +++ b/dist/index.js @@ -395,6 +395,23 @@ const toolCache = __importStar(__nccwpck_require__(7784)); const gpg = __importStar(__nccwpck_require__(9787)); const base_1 = __nccwpck_require__(5686); class VerifyingToolchainInstaller extends base_1.ToolchainInstaller { + get signatureUrl() { + return `${this.baseUrl}/${this.data.download_signature}`; + } + downloadSignature() { + return __awaiter(this, void 0, void 0, function* () { + try { + return yield toolCache.downloadTool(this.signatureUrl); + } + catch (error) { + if (error instanceof toolCache.HTTPError && + error.httpStatusCode === 404) { + return undefined; + } + throw error; + } + }); + } download() { const _super = Object.create(null, { download: { get: () => super.download } @@ -405,9 +422,11 @@ class VerifyingToolchainInstaller extends base_1.ToolchainInstaller { const [, toolchain, signature] = yield Promise.all([ gpg.setupKeys(), _super.download.call(this), - toolCache.downloadTool(sigUrl) + this.downloadSignature() ]); - yield gpg.verify(signature, toolchain); + if (signature) { + yield gpg.verify(signature, toolchain); + } return toolchain; }); } diff --git a/package.json b/package.json index 1ec103a..bb2b647 100644 --- a/package.json +++ b/package.json @@ -8,13 +8,13 @@ "license": "MIT", "homepage": "https://github.com/SwiftyLab/setup-swift#readme", "swiftorg": { - "commit": "332574c8459304994580ac67605a8891d01da580", + "commit": "8485bd396d05e3a021c9b905d4f48ba204d1f589", "release": { - "name": 5.9, - "tag": "swift-5.9-RELEASE", + "name": "5.9.1", + "tag": "swift-5.9.1-RELEASE", "xcode": "Xcode 15", - "xcode_release": true, - "date": "2023-09-18T00:00:00.000Z", + "xcode_release": false, + "date": "2023-10-19T00:00:00.000Z", "platforms": [ { "name": "Ubuntu 18.04", @@ -24,7 +24,7 @@ }, { "name": "Ubuntu 20.04", - "docker": "5.9-focal", + "docker": "5.9.1-focal", "archs": [ "x86_64", "aarch64" @@ -32,7 +32,7 @@ }, { "name": "Ubuntu 22.04", - "docker": "5.9-jammy", + "docker": "5.9.1-jammy", "archs": [ "x86_64", "aarch64" @@ -40,14 +40,14 @@ }, { "name": "CentOS 7", - "docker": "5.9-centos7", + "docker": "5.9.1-centos7", "archs": [ "x86_64" ] }, { "name": "Amazon Linux 2", - "docker": "5.9-amazonlinux2", + "docker": "5.9.1-amazonlinux2", "archs": [ "x86_64", "aarch64" @@ -55,7 +55,7 @@ }, { "name": "Red Hat Universal Base Image 9", - "docker": "5.9-rhel-ubi9", + "docker": "5.9.1-rhel-ubi9", "dir": "ubi9", "archs": [ "x86_64", @@ -72,12 +72,12 @@ }, "dev": { "name": "5.10", - "date": "2023-09-09T16:10:00.000Z", - "tag": "swift-5.10-DEVELOPMENT-SNAPSHOT-2023-09-09-a" + "date": "2023-10-24T16:10:00.000Z", + "tag": "swift-5.10-DEVELOPMENT-SNAPSHOT-2023-10-24-a" }, "snapshot": { - "date": "2023-09-23T16:10:00.000Z", - "tag": "swift-DEVELOPMENT-SNAPSHOT-2023-09-23-a" + "date": "2023-10-24T16:10:00.000Z", + "tag": "swift-DEVELOPMENT-SNAPSHOT-2023-10-24-a" } }, "engines": { diff --git a/src/installer/verify.ts b/src/installer/verify.ts index 820f2a8..b75a856 100644 --- a/src/installer/verify.ts +++ b/src/installer/verify.ts @@ -7,15 +7,35 @@ import {SignedToolchainSnapshot} from '../snapshot' export abstract class VerifyingToolchainInstaller< Snapshot extends SignedToolchainSnapshot > extends ToolchainInstaller { + private get signatureUrl() { + return `${this.baseUrl}/${this.data.download_signature}` + } + + private async downloadSignature() { + try { + return await toolCache.downloadTool(this.signatureUrl) + } catch (error) { + if ( + error instanceof toolCache.HTTPError && + error.httpStatusCode === 404 + ) { + return undefined + } + throw error + } + } + protected async download() { const sigUrl = `${this.baseUrl}/${this.data.download_signature}` core.debug(`Downloading snapshot signature from "${sigUrl}"`) const [, toolchain, signature] = await Promise.all([ gpg.setupKeys(), super.download(), - toolCache.downloadTool(sigUrl) + this.downloadSignature() ]) - await gpg.verify(signature, toolchain) + if (signature) { + await gpg.verify(signature, toolchain) + } return toolchain } } diff --git a/swiftorg b/swiftorg index 332574c..8485bd3 160000 --- a/swiftorg +++ b/swiftorg @@ -1 +1 @@ -Subproject commit 332574c8459304994580ac67605a8891d01da580 +Subproject commit 8485bd396d05e3a021c9b905d4f48ba204d1f589