* add production deployment
* updating existing build
* remove state
* remove PR_URL and switch to main branch
* break out into build, prepare, and deploy
* update to download-artifact
* update staging to prod
* Actions production deployment redux (#21238)
* Simplify production deployment into a single Actions job
* Force esm to install
* Switch flag ordering to match staging deploy
* Use 'npm install' for the second installation to avoid deleting the prodDeps
* Apply Heroku upload fixes
* Include `.npmrc` file in builds to omit `optionalDeps`
* Remove download-artifact action
Co-authored-by: Grace Park <gracepark@github.com>
* Script updates to prod deployment (#21247)
* updating script to use latest sha
* changing back workflowRunLog
* remove line
* update error wording
* remove comment - using commit sha
* need release.id
* Update script/deployment/deploy-to-production.js
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* remove hydro
* Update script/deployment/deploy-to-production.js
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Update .github/workflows/prod-build-deploy-pr.yml
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Update script/deployment/deploy-to-production.js
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Update script/deployment/deploy-to-production.js
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Update script/deployment/deploy-to-production.js
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* updating spacing
* add 404/429 responses while polling Heroku API for prod
* removing nested ifs
* adding SOURCE_BLOB_URL
* update for early access
* add install dotenv
* need to add persist-credentials
* Testing GET request
* update request
* Rename workflow file to remove '-pr'
We are now triggering on pushes to 'main' rather than PR merges
* Remove the unnecessary workflow step to create a failure Status
Because the production deploy is done via a single workflow rather than a 2-part workflow chain, this is thankfully unnecessary
* Install all of the npm dependencies
We'll need them!
* Add the '-z' flag to 'tar' to gzip the tarball
* Pass the Heroku upload URL via env vars for security
Prevents potential injection attacks
* Log the deployment ID and log URL as deploy step outputs
* Take notice of Heroku polling resulting in failure statuses
* Add a note to consider waiting for Heroku Preboot
* Add a script and workflow step to purge Fastly
* update response to get sha
* Switch to Octokit functions instead of 'request' method
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Explicitly ensure the early access parent directories are created when cloning
* Use explicit --file flag with tar
* Remove security hole for Staging deployment by concatenating archives
* Fail the staging builds if *.js, .npmrc, or Procfile is changed in the open source repo
* docker build: extract user-code in separate directory
* Checkout PR base branch and install dependencies
* Remove one-off package installs
* Remove selective file checkout
* Don't persist git cloning credentials
It usually makes the clone of early access content fail in the later steps
* Update .github/workflows/staging-deploy-pr-docker.yml
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Update .github/workflows/staging-deploy-pr-docker.yml
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Remove debugging step
* Best practice: Use environment variables to avoid potential injection attacks if the data was user-controlled
Co-authored-by: Mike Surowiec <mikesurowiec@users.noreply.github.com>
Co-authored-by: Robert Sese <sese@github.com>
Co-authored-by: Robert Sese <robert.sese@gmail.com>
* Remove use of Secrets in Staging Build workflows... the open source repo cannot allow them for forked PRs
* Add explicit permissions matrices for all Staging workflows
* Add a script to remove stale staging deployment environments from GitHub
* Add second job to cleanup GitHub deployment environments
* Specify GITHUB_TOKEN permissions matrix
* Stop marking staging deployments as transient
* Update staging undeployment mechanism to clean-up deployment environments on PR merge
* Define a stale PR as one that was merged or has been closed for more than 2 hours
* Rename workflow file