1
0
mirror of synced 2026-01-05 12:07:35 -05:00
Files
docs/.github/workflows/workflow-lint.yml
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

30 lines
838 B
YAML

name: Lint workflows
# **What it does**: This lints our workflow files.
# **Why we have it**: We want some level of consistency in our workflow files.
# **Who does it impact**: Docs engineering.
on:
workflow_dispatch:
push:
branches:
- main
paths:
- '.github/workflows/*.yml'
pull_request:
paths:
- '.github/workflows/*.yml'
jobs:
lint:
if: ${{ github.repository == 'github/docs-internal' }}
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
- name: Run linter
uses: cschleiden/actions-linter@0ff16d6ac5103cca6c92e6cbc922b646baaea5be
with:
workflows: '[".github/workflows/*.yml", "!.github/workflows/staging-deploy-pr.yml", "!.github/workflows/staging-undeploy-pr.yml"]'