1
0
mirror of synced 2026-01-06 06:02:35 -05:00
Commit Graph

16 Commits

Author SHA1 Message Date
James M. Greene
d6405ecb45 Optimize workflow runs with concurrency settings (#23811)
* Add concurrency settings for a bunch of workflows
* Restrict prod deployments to one at a time but disallow interrupting
* Remove redundant pull_request.types specification
2021-12-17 16:00:52 +00:00
James M. Greene
3d88cae50b Add permission matrices to all Actions workflows (#23563)
* Add permission matrices to all Actions workflows

Also cleanup a few token references

* Add actions:read permissions for CodeQL

* Add prs:read permissions for unit test workflow
2021-12-14 04:37:36 +00:00
dependabot[bot]
038e81826b Bump actions/checkout from 2.3.5 to 2.4.0 (#23297)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.5 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](1e204e9a92...ec3a7ce113)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kevin Heis <heiskr@users.noreply.github.com>
2021-12-02 14:15:21 +00:00
dependabot[bot]
cd74b07da1 Bump actions/checkout from 2.3.4 to 2.3.5 (#22264)
* Bump actions/checkout from 2.3.4 to 2.3.5

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](5a4ac9002d...1e204e9a92)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* test

* removing test, works

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Grace Park <gracepark@github.com>
2021-10-21 00:19:35 +00:00
James M. Greene
aa4c687660 Consistently use latest andymckay/labeler action for simple labeling steps in Actions workflows (#22045)
* Update andymckay/labeler to latest

* Drop use of rachmari/labeler fork since we aren't using its divergence

* Replace some other simple labeling use cases with andymckay/labeler

* Add permissions matrixes, mostly

* Remove unnecessary and basically invalid if condition

* More closely following the docs even though the workflow linter is angry

* Remove irrelevant path omissions from workflow linter

* Add exclusion for workflow linter
2021-10-08 23:24:27 -05: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
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
James M. Greene
a0eff64e4f Lint *.yaml workflows, too (#20445)
* Lint .yaml workflows, too
* Ignore workflow that uses non-GA-ed feature
* Update to the latest actions-linter to fix the partial-expression problem (cschleiden/github-actions-parser#18)
2021-07-21 19:13:44 +00:00
James M. Greene
265f074565 Update actions-linter to latest for concurrency key support (#20441)
* Update version of actions-linter to support 'concurrency' key
* Update .github/workflows/workflow-lint.yml
* Revert casing of 'fromJson' to 'fromJSON'
2021-07-21 15:40:42 +00:00
James M. Greene
50fbcc62d3 Deploy/undeploy PRs to/from staging via an Actions workflow (#19865)
* Add 'script/deploy' to enable manual deploys to Heroku

* Pass API tokens into 'deploy-to-staging' module usage

* Construct Octokit instance to pass in

* Get PR branch name and verify state

* Reorganize

* Rename option to 'octokit'

* Add missing option

* Actually use the convenience methods for convenience

* Simplify top-level script

* Top-level script revisions

* Add parse-pr-url module

* Add create-staging-app-name module

* Remove misplaced comment

* Pass in owner

* Use owner param

* More variables

* Pass owner along more

* Correct prNumber param reference

* Add WIP deploy-to-staging module

* Prevent 'scripts/' and '.github/actions-scripts/' files from being modified in open source repo

* Extract PR author earlier

* Add note about optionally supplying DOCUBOT_REPO_PAT env var

* Override Heroku env var during AppSetup creation instead of later to avoid triggering a second deploy

* Updates to deploy-to-staging module

* Lots of updates

* Add dyno start-up monitoring and warmup requests

* Ignore 'script/deploy' in the repository-references test

* Correct path to Octokit helper

* Temporarily add a 'gha-' prefix to environment names

* Log whole error if terminal. Good for Octokit errors!

* Correct Octokit preview configuration

* Add more logging around Heroku build and release

* Added more timings to log messages

* Monitor dyno states specifically from the dyno list view to avoid 404 oddities when Free dynos are dropped and non-Free dynos are added

* Don't wait for AppSetup status as it includes the Build time

* Updating logging since we don't see DeploymentStatus update messages in the UI =(

* Refactor to extract more properties from the PR object

* Add a workflow to deploy PRs to Staging

* Fix workflow description

* Add skeleton workflow and module for undeploying

* Remove commented out code

* Update undeployment module

* Add '--destroy' flag to 'script/deploy' options

* Add timeout and concurrency key for undeployment

* Add timeout and concurrency key for deployment

* Remove dangling unneeded function declaration

* Add ant-man preview for inactive deployment state setting

* Fix reference to pull request number

* Fix reference to pull request number

* Refactor to extract more properties from the PR object

* Fix reference to pull request number

* Remove workflow

* Add workflow to undeploy closed PRs from staging

* Add repository filters to jobs

* Update to using actions/github-script@4.0.2

* Pass more environment variables that affect deployments

* Add explicit .js extensions to local require in Actions workflow

* Check out the code and install deps first, of course

* Try local requires without the explicit .js extension

* Use our usual version of Octokit instead of the provided 'github' instance to avoid versioning discrepancies

* Explicitly pass in GITHUB_TOKEN to github-script

* Point to the workflow run page as a default log_url

* Exclude staging deployment workflows from the workflow linter until we can get support for the 'concurrency' key (https://github.com/cschleiden/actions-linter/issues/79)

* Remove 'gha-' prefix
2021-06-17 18:02:02 +00:00
Kevin Heis
62a8891954 Add descriptions to our actions workflows (#18019)
Co-authored-by: Sarah Edwards <skedwards88@github.com>
2021-03-23 21:31:28 +00:00
James M. Greene
fca736b5ec Filter the workflow and YAML linters event triggers by paths (#17816) 2021-02-11 17:44:02 +00:00
James M. Greene
cfbcfad1f2 Re-enable the Actions workflow linter using the latest version (#17399)
* Re-enable the Actions workflow linter using the latest version

* Update to the latest actions-linter

* Update to the latest actions-linter

* Rely on secrets.FREEZE directly rather than setting a duplicate env var

* Fix workflow error by using secrets.FREEZE directly as this one doesn't actually set a duplicate env var in the first place!

* Update to latest actions-linter

* Use ${{}} expression syntax

* Readd env.FREEZE to necessary workflows since secrets cannot be checked in 'if' conditions

* Readd the comment to the GraphQL updating workflow about the FREEZE secret

* Upgrade actions-linter
2021-02-11 15:50:37 +00:00
James M. Greene
853561629d Workflow linter tweaks (#17790)
* Remove incorrect branch filter from workflow-linting workflow

* Only lint the workflows for the internal repo
2021-02-10 23:14:52 +00:00
James M. Greene
325c71d94e Disable the Actions workflow linter on push/PRs for now (#17330) 2021-01-15 13:59:25 -05:00
James M. Greene
90b2e49734 Add a linter for Actions workflow files (#17265)
* Add a linter for Actions workflow files

* Actually add the workflow file, duh
2021-01-14 04:07:45 +00:00