1
0
mirror of synced 2025-12-30 12:02:01 -05:00
Commit Graph

366 Commits

Author SHA1 Message Date
James M. Greene
a76f30e5f2 Move delay for Heroku Preboot to before marking deployment successful (#21736)
* Move delay for Heroku Preboot from post-deploy to pre-success

* Shorten arbitrary delay before first Fastly purge
2021-09-24 19:35:13 -05:00
Grace Park
9c9d47f508 Prod deployment workflow (#21223)
* 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>
2021-09-24 16:09:08 +00:00
Francis
53ec53d5ac fix: update ghesReleaseNotesSchema's module name
Closes https://github.com/github/docs-engineering/issues/920
2021-09-23 14:33:36 -07:00
Rachael Sewell
bbc5778e4a add new options to rest schema script (#21571) 2021-09-23 19:34:56 +00:00
James M. Greene
e29a965405 Display the reason for Heroku AppSetup failure (#21683) 2021-09-23 10:51:50 -05:00
James M. Greene
0c97550a77 Take notice of Heroku polling resulting in failure statuses (#21680) 2021-09-23 09:55:58 -05:00
Robert Sese
f6d85c6d64 Security: remove Docker PR build/deploy workflows (#21599)
* Remove Docker PR build/deploy workflows

* Remove supporting Docker deploy script
2021-09-17 23:17:17 +00:00
James M. Greene
b2c8af9d31 Secure early access staging deployment (#21450)
* 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>
2021-09-17 22:41:13 +00:00
James M. Greene
7ae1eea3b5 Undeploy without Environment cleanup (#21530)
* Ensure we handle multiple pages of Deployments
* Do NOT delete the Environment during undeploy
* Do NOT deploy/undeploy PRs on lock/unlock events
2021-09-15 15:11:48 +00:00
James M. Greene
54583d494c Stale environment cleanup revisions (#21508)
* Remove legacy environment name format
* Ensure we handle multiple pages of Deployments
* Track count of Deployments deleted per Environment
2021-09-14 18:37:21 +00:00
Kevin Heis
43158e8392 Upgrade NPM packages (#21480)
* Upgrade a bunch of packages

* ...and upgrade highlightjs

* ... and ajv-formats (but not ajv)

* Revert graphql changes

* Revert "Revert graphql changes"

This reverts commit a5b8a34d52a48a7c2858415f6b1081c1d4902482.

* Update build-changelog.js

* Upgrade html-entities

* Upgrade commander, following migration guide
2021-09-13 23:31:43 +00:00
Rachael Sewell
94e3c092d3 English search sync (#21446) 2021-09-13 17:30:08 +00:00
James M. Greene
1471ca2e25 Limit environment cleanup by closures, not matching names (#21443) 2021-09-10 22:09:48 +00:00
Robert Sese
6c37f45d61 Docker image deploy: set config vars (#21365)
* Add Hydro secrets as env vars

* Set app config-vars

* Add config vars previously used via app.json
2021-09-10 21:58:49 +00:00
James M. Greene
77fa552f87 Limit deployment environment cleanup per run (#21437)
* Limit deployment environment cleanup per run to reduce the likelihood of exceeding the API rate limit

* Remove the per_page size

* Change wording
2021-09-10 20:48:30 +00:00
James M. Greene
992924b1a1 Allow staging warmup requests to respond with 404 (#21423) 2021-09-10 19:00:26 +00:00
James M. Greene
b507b67493 Script+workflow to remove stale staging deployment environments (#21399)
* 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
2021-09-10 14:43:01 +00:00
Rachael Sewell
54cb650ee5 Fix import statement for deploy script (#21404) 2021-09-10 00:31:02 +00:00
Rachael Sewell
55397df156 update status for deploy timeout (#21349) 2021-09-09 23:13:57 +00:00
Marc-Andre Giroux
264a4f2fbc Fix example generation for "any" schema types (#21290) 2021-09-09 18:02:53 +00:00
Robert Sese
2c20d13927 Add PR author as app collaborator (#21353) 2021-09-08 00:53:42 +00:00
James M. Greene
fe767f3da0 Actions staging deployment with Status updates instead of Check Runs (#21283)
* 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>
2021-09-03 18:55:24 +00:00
Robert Sese
cbfba14ac1 Docker image deploy to Heroku (#21248)
* Start parallel Docker image deploy workflows

Co-authored-by: Mike Surowiec <mikesurowiec@users.noreply.github.com>
Co-authored-by: James M. Greene <JamesMGreene@users.noreply.github.com>

* Add early access content build stage

Co-authored-by: Mike Surowiec <mikesurowiec@users.noreply.github.com>

* Create Heroku App script and workflow steps

* Tag the image for Heroku

* Push the image and grab the image ID

* Set app name and image id outputs

* Add parallel deploy script for Docker

* Scope workflow run to 'docker-' and release image to Heroku

* Update .github/workflows/staging-build-pr-docker.yml

Co-authored-by: James M. Greene <JamesMGreene@github.com>

* Exclude Docker workflow

* Cleanup Docker deploys

* Use action sha

Co-authored-by: Mike Surowiec <mikesurowiec@users.noreply.github.com>
Co-authored-by: James M. Greene <JamesMGreene@users.noreply.github.com>
Co-authored-by: James M. Greene <JamesMGreene@github.com>
2021-09-03 16:34:48 +00:00
James M. Greene
704f699353 Allow for a few 404/429 responses while polling the Heroku API (#21191) 2021-08-30 14:47:50 +00:00
Mike Surowiec
d76c16da19 Scope markdown body (#21082)
* update article content to markdown ui component

* decouple lunr indexing from class name

* remove summary outline none rule, apply utility class instead

* improve typing

* scope more styles down to markdown-body/extended-markdown

* move all markdown-body style overrides to MarkdownContent component

* fix class targeting within css module

* clean up MarkdownContent header style

* rename data-lunr to data-search

* fix: inline code color issue

* fix: update article markdown to work with MarkdownContent
2021-08-30 14:24:49 +00:00
Rachael Sewell
df16267a8f remove cached-index-names file and dry run sync used for Algolia (#21133) 2021-08-25 22:04:26 +00:00
James M. Greene
08db1c970c Refactor Staging deployment workflow to support open source PRs (#20459)
* 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>
2021-08-25 20:45:51 +00:00
Rachael Sewell
9a96a2699f Deprecation workflow updates (#20962) 2021-08-18 23:05:04 +00:00
Rachael Sewell
8e7b1a0370 Remove 2.21 from the supported list of GHES versions (#20935) 2021-08-17 15:43:06 -07:00
Lucas Costi
ee29fedb4e Remove breaking commander functions (#20825)
.passCommandToAction() is undefined, and was removed in Commander 7.0.0. See release note: a9c9f17c7e/CHANGELOG.md (deleted)
2021-08-12 20:24:56 +00:00
Rachael Sewell
a92853e40d reapply some classes for lunr indexing (#20765) 2021-08-11 15:06:01 +00:00
Grace Park
2dbea3737a Removing algolia (#20633) 2021-08-05 13:10:51 -04:00
Kevin Heis
b29e37318a Remove import x statements (#20594)
* Clear out most import x

* Update rimraf use

* Move up readme blocks in scripts
2021-07-29 20:28:30 +00:00
Kevin Heis
1ed18e1448 Clear out some non-fn references to Algolia (#20592)
* Clear out some non-fn references to Algolia

* Update .github/workflows/dry-run-sync-search-indices.yml

Co-authored-by: James M. Greene <JamesMGreene@github.com>

* Update contributing/search.md

Co-authored-by: James M. Greene <JamesMGreene@github.com>

Co-authored-by: James M. Greene <JamesMGreene@github.com>
2021-07-29 20:20:55 +00:00
Kevin Heis
0b1ff73a46 Update some readFileSync to await readFile with top level await (#20525)
* Update some readFileSync to await readFile with top level await

* More updates

* Update all-products.js

* Use 'lib/readfile-async.js' in runtime files for better performance

* Remove unnecessary use of 'for await...of' loops

* Revert to importing 'fs/promises'

Co-authored-by: James M. Greene <jamesmgreene@github.com>
2021-07-29 16:45:46 +00:00
Kevin Heis
d68dde17d1 Upgrade pipeline with env COMMONMARK=1 npm start to see new, otherwise parse current (#20508)
* Update the trim nightmare

* Update create-processor.js

* Update other packages in the rendering pipeline

* A few more updates

* Fix tables

* Update lint-files.js

* Fix copy code blocks

* Update render-content.js

* remove whitespace from liquid conditionals

* We no longer need require eslint rules

* Neat, it worked

* Revert test change

* Update create-processor.js

* Without aliases

Co-authored-by: Chiedo John <2156688+chiedo@users.noreply.github.com>
Co-authored-by: Rachael Sewell <rachmari@github.com>
2021-07-29 14:24:26 +00:00
Kevin Heis
eddadb875e LFS the Lunr Indexes (#20521)
* LFS the Lunr Indexes

* Add a note about installing Git LFS

* Run "install" command

* Update indexes

* Index names
2021-07-27 22:06:31 +00:00
Mike Surowiec
9386571aa4 fix: use named export for all-versions (#20478)
* fix: use named export for all-versions

* run prettier
2021-07-22 19:29:00 +00:00
Rachael Sewell
d9b75d1e58 Deprecate 2.21 script updates (#20454) 2021-07-21 21:22:38 +00:00
James M. Greene
df301cb5da Remove all code related to Redis page caching (#20457)
Towards simplification for https://github.com/github/docs-engineering/issues/678
2021-07-21 20:44:00 +00:00
Kevin Heis
fa0fbd0db9 Delete unneeded script files (#20426)
* Delete convert-cjs-to-esm.mjs

* Delete commonmark-indent.js
2021-07-20 16:35:38 -07:00
Sarah Schneider
cc2d10d1b3 Rewrite Liquid deprecation script (#20225) 2021-07-19 22:36:15 +00:00
Kevin Heis
c451f3269e Script to update ol/ul indents from 2 to 4 spaces (#20384)
* Script to update ol/ul indents from 2 to 4 spaces

* Update commonmark-indent.js

* Update commonmark-indent.js
2021-07-19 15:04:22 +00:00
Kevin Heis
8a56437c93 Pretty format (#20352)
* Update prettier flow to include JS

* Run prettier

* ...run prettier
2021-07-14 14:35:01 -07:00
Kevin Heis
42e785b0a8 Migrate CommonJS to ESM (#20301)
* First run of script

* Get the app running --- ish

* Get NextJS working

* Remove `node:`

* Get more tests passing in unit directory

* Update FailBot test to use nock

* Update test.yml

* Update Dockerfile

* tests/content fixes

* Update page.js

* Update build-changelog.js

* updating tests/routing

* Update orphan-tests.js

* updating tests/rendering

* Update .eslintrc.js

* Update .eslintrc.js

* Install jest/globals

* "linting" tests

* staging update to server.mjs

* Change '.github/allowed-actions.js' to a ESM export

* Lint

* Fixes for the main package.json

* Move Jest to be last in the npm test command so we can pass args

* Just use 'npm run lint' in the npm test command

* update algolia label script

* update openapi script

* update require on openapi

* Update enterprise-algolia-label.js

* forgot JSON.parse

* Update lunr-search-index.js

* Always explicitly include process.cwd() for JSON file reads pathed from project root

* update graphql/update-files.js script

* Update other npm scripts using jest to pass ESM NODE_OPTIONS

* Update check-for-enterprise-issues-by-label.js for ESM

* Update create-enterprise-issue.js for ESM

* Import jest global for browser tests

* Convert 'script/deploy' to ESM

Co-authored-by: Grace Park <gracepark@github.com>
Co-authored-by: James M. Greene <jamesmgreene@github.com>
2021-07-14 13:49:18 -07:00
Rachael Sewell
3b32262786 ensure graphql workflow fails with non-zero exit code (#20332) 2021-07-14 08:04:58 -07:00
Rachael Sewell
87690bf634 revert to using static content type (#20319) 2021-07-13 09:54:09 -07:00
Kevin Heis
fed486f7d7 Script to automate 90% of CommonJS -> ESM (#20016)
* Create convert-cjs-to-esm.mjs

* Update convert-cjs-to-esm.mjs

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* update script

* Address a goofy export

* Update convert-cjs-to-esm.mjs

* Fix more exports

* Revert "Merge branch 'goofy-export' into cjs-esm-script"

This reverts commit c23927b824916ee5bc1443849a0edc3a5765cec6, reversing
changes made to 4e760d33f63838b164bc95f18447945d173cc849.

* Apply suggestions from code review

Co-authored-by: James M. Greene <JamesMGreene@github.com>

Co-authored-by: James M. Greene <JamesMGreene@github.com>
2021-07-12 11:07:30 -07:00
Robert Sese
cda09b5b00 Use path from repo root for Actions (#20262) 2021-07-02 17:45:20 +00:00
Rachael Sewell
4f3761004b OpenAPI form data curl examples (#19507) 2021-06-30 17:33:20 -07:00