* Do not use `build.status` of 'pending' as a looping condition for Heroku deployment
* Don't wait for `appSetup.status` either
* Fix incorrect Octokit method usage in local deploy script
* Bump the number of allowable errors from 5 to 10
* More logging!
* Add an environment variable for easily increasing the number of allowed Heroku failures per phase of polling
* Update the production deployment workflow to target the main Heroku app
Without exposing our internal Heroku app name!
* Refactor the staging deployment script a bit to match more closely
* Use the HEROKU_PRODUCTION_APP_NAME Secret in the workflow
* Add a note about the newly required environment variable for production deployment into the local deploy script
* Add critical errors if the HEROKU_PRODUCTION_APP_NAME is missing
* Extract HEROKU_PRODUCTION_APP_NAME from process.env
* Revert the critical parts of PR #21807 to no longer deploy to prod via Actions
* Don't require HEROKU_PRODUCITON_APP_NAME
* Update the production deployment workflow to target the main Heroku app
Without exposing our internal Heroku app name!
* Refactor the staging deployment script a bit to match more closely
* Use the HEROKU_PRODUCTION_APP_NAME Secret in the workflow
* Add a note about the newly required environment variable for production deployment into the local deploy script
* Add critical errors if the HEROKU_PRODUCTION_APP_NAME is missing
* Extract HEROKU_PRODUCTION_APP_NAME from process.env
* Create a logic branch to deploy to production via a local script
* Ignore forceRebuild default value for production
* Add soft warnings for missing-but-not-critical env vars
* Only include the Preboot delay if the Fastly env vars are present
* Add some warning emojis ⚠️
* More emojis!
* Make FASTLY_* checks all independent
* Add more comments about additional env vars recommended for a local prod deployment
* Update Staging deployment workflow to create Status updates
* Update local Staging deployment script to create Status updates
Co-authored-by: Rachael Sewell <rachmari@github.com>
* Add a Staging build workflow
* Remove all commented out code from build workflow
It will be handled in https://github.com/github/docs-engineering/issues/726
* Use pinned version of upload-artifact action
* Tweaks to build
* Minor deployment script refactoring
* Update the Staging deployment workflow
* Missed refactoring tweak
* Add relevant comments
* Update Heroku app naming convention for Actions deploy to include 'gha-' prefix
* Update Heroku app ConfigVars and SourceBlob for optional prebuilt app
* Remove obsolete 'dist/' dir from PR build artifact
See https://github.com/github/docs-internal/pull/20405
* Ensure a new enough version of npm is used
* Switch to creating a tarball for upload
* Remove obsolete 'layouts' dir from file list
* Ditch the verbosity for 'tar'... too many files
* Add tarball support to deploy
* Add esm workaround to deploy script
See https://github.com/actions/github-script/issues/168
* Temporarily ignore staging deploy workflow from workflow linter
* Update deployment to use a Heroku Build Source instead of a GitHub Actions Artifact
* Update undeploy workflow to use ESM workaround
See https://github.com/actions/github-script/issues/168
* Add 'esm' package to optionalDependencies to better support workaround
See https://github.com/actions/github-script/issues/168
* Add Slack notifications for workflow failures
* Wrap AppSetup polling in try-catch
* Improve dyno monitoring
* Rename 'script/deploy' to have a .js extension #esm
* Update script references to include the extension
* Use non-deprecated Sources API for Heroku
* Use normal quotes
* Stub in a step to mark deployment inactive after timing out
* Apply suggestions from code review
Co-authored-by: Rachael Sewell <rachmari@github.com>
Co-authored-by: Rachael Sewell <rachmari@github.com>