mirror of
https://github.com/actions/deploy-pages.git
synced 2025-12-09 00:26:14 +00:00
Add support for preview deployments
This commit is contained in:
@@ -12,7 +12,8 @@ function getRequiredVars() {
|
|||||||
actionsId: process.env.GITHUB_ACTION,
|
actionsId: process.env.GITHUB_ACTION,
|
||||||
githubToken: core.getInput('token'),
|
githubToken: core.getInput('token'),
|
||||||
githubApiUrl: process.env.GITHUB_API_URL ?? 'https://api.github.com',
|
githubApiUrl: process.env.GITHUB_API_URL ?? 'https://api.github.com',
|
||||||
artifactName: core.getInput('artifact_name') ?? 'github-pages'
|
artifactName: core.getInput('artifact_name') ?? 'github-pages',
|
||||||
|
isPreview: core.getInput('preview') === 'true'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ class Deployment {
|
|||||||
this.deploymentInfo = null
|
this.deploymentInfo = null
|
||||||
this.githubApiUrl = context.githubApiUrl
|
this.githubApiUrl = context.githubApiUrl
|
||||||
this.artifactName = context.artifactName
|
this.artifactName = context.artifactName
|
||||||
|
this.isPreview = context.isPreview === true
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ask the runtime for the unsigned artifact URL and deploy to GitHub Pages
|
// Ask the runtime for the unsigned artifact URL and deploy to GitHub Pages
|
||||||
@@ -58,6 +59,9 @@ class Deployment {
|
|||||||
pages_build_version: this.buildVersion,
|
pages_build_version: this.buildVersion,
|
||||||
oidc_token: idToken
|
oidc_token: idToken
|
||||||
}
|
}
|
||||||
|
if (this.isPreview === true) {
|
||||||
|
payload.preview = true
|
||||||
|
}
|
||||||
core.info(`Creating deployment with payload:\n${JSON.stringify(payload, null, '\t')}`)
|
core.info(`Creating deployment with payload:\n${JSON.stringify(payload, null, '\t')}`)
|
||||||
const response = await axios.post(pagesDeployEndpoint, payload, {
|
const response = await axios.post(pagesDeployEndpoint, payload, {
|
||||||
headers: {
|
headers: {
|
||||||
@@ -110,7 +114,12 @@ class Deployment {
|
|||||||
this.deploymentInfo != null
|
this.deploymentInfo != null
|
||||||
? this.deploymentInfo['status_url']
|
? this.deploymentInfo['status_url']
|
||||||
: `${this.githubApiUrl}/repos/${this.repositoryNwo}/pages/deployment/status/${this.buildVersion}`
|
: `${this.githubApiUrl}/repos/${this.repositoryNwo}/pages/deployment/status/${this.buildVersion}`
|
||||||
core.setOutput('page_url', this.deploymentInfo != null ? this.deploymentInfo['page_url'] : '')
|
let pageUrl = this.deploymentInfo != null ? this.deploymentInfo["page_url"] : ""
|
||||||
|
const previewUrl = this.deploymentInfo != null ? this.deploymentInfo["preview_url"] : ""
|
||||||
|
if (this.isPreview && previewUrl) {
|
||||||
|
pageUrl = previewUrl
|
||||||
|
}
|
||||||
|
core.setOutput('page_url', pageUrl)
|
||||||
const timeout = Number(core.getInput('timeout'))
|
const timeout = Number(core.getInput('timeout'))
|
||||||
const reportingInterval = Number(core.getInput('reporting_interval'))
|
const reportingInterval = Number(core.getInput('reporting_interval'))
|
||||||
const maxErrorCount = Number(core.getInput('error_count'))
|
const maxErrorCount = Number(core.getInput('error_count'))
|
||||||
|
|||||||
Reference in New Issue
Block a user