Skip to content

Commit

Permalink
Merge branch 'main' into feat/custom-subscription-filter-name
Browse files Browse the repository at this point in the history
  • Loading branch information
mrgrain authored Jul 27, 2023
2 parents 0f6f5ec + c45c174 commit 6e876f1
Show file tree
Hide file tree
Showing 32 changed files with 605 additions and 903 deletions.
28 changes: 26 additions & 2 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,58 +5,82 @@ These workflows and actions are configured in the AWS CDK GitHub repository.
## Pull Request Triggered

### Auto Approve

[auto-approve.yml](auto-approve.yml): Approves merging PRs with the
`auto-approve` label.
Owner: Core CDK team

### PR Linter

[pr-linter.yml](pr-linter.yml): Runs `tools/@aws-cdk-prlint` on each PR to
check for correctness.
Owner: Core CDK team

### v2-main PR automation

[v2-pull-request.yml](v2-pull-request.yml): Runs `pkglint` on merge forward PRs
and commits the results.
Owner: Core CDK team

### Label Assigner

[issue-label-assign.yml](issue-label-assign.yml): Github action for automatically adding labels and/or setting assignees when an Issue or PR is opened or edited based on user-defined Area
Owner: CDK support team

### PR Labeler
[pr-labeler.yml](pr-labeler.yml): GitHub action for automatically porting triage labels from issues

[pr-labeler.yml](pr-labeler.yml): GitHub action for automatically porting triage labels from issues
linked in the PR description to the PR.
Owner: Core CDK team

### GitHub Merit Badger

[github-merit-badger.yml](github-merit-badger.yml): GitHub action that adds 'merit badges' to pull
requests based on the users prior contributions to the CDK.
Owner: Core CDK team

### Request CLI Integ Test

[request-cli-integ-test.yml](request-cli-integ-test.yml):
Checks for relevant changes to the CLI code and requests a deployment to the `test-pipeline` environment.
When approved this pushes the PR to the testing pipeline,
thus starting the cli integ test build.
Owner: Core CDK team

## Issue Triggered

### Closed Issue Message

[closed-issue-message.yml](closed-issue-message.yml): Adds a reminder message
to issues that are closed.
Owner: CDK support team

### Label Assigner

[issue-label-assign.yml](issue-label-assign.yml): Github action for automatically adding labels and/or setting assignees when an Issue or PR is opened or edited based on user-defined Area
Owner: CDK support team

## Scheduled Actions

### Issue Lifecycle Handling

[close-stale-issues.yml](close-stale-issues.yml): Handles labeling issues and
PRs with `closing-soon`, `response-requested`, etc.
Owner: CDK support team

### Yarn Upgrader

[yarn-upgrade.yml](yarn-upgrade.yml): Upgrades yarn dependencies and creates a
patch file for downloading.
Owner: Core CDK team

### Issue Reprioritizer

[issue-reprioritization.yml](issue-reprioritization.yml): GitHub action that labels `p2`
issues as `p1` if a certain level of community engagement is met.
Owner: Core CDK team
Owner: Core CDK team

### Issue Metrics

[repo-metrics.yml](repo-metrics.yml): GitHub action that runs monthly to report on metrics for issues and PRs created last month.
Owner: Core CDK team
5 changes: 4 additions & 1 deletion .github/workflows/pr-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

name: PR Linter
on:
# Necessary to have sufficient permissions to write to the PR
pull_request_target:
types:
- labeled
Expand All @@ -12,10 +11,14 @@ on:
- opened
- synchronize
- reopened
pull_request_review:
types:
- submitted
status:

jobs:
validate-pr:
# Necessary to have sufficient permissions to write to the PR
permissions:
contents: read
pull-requests: write
Expand Down
56 changes: 56 additions & 0 deletions .github/workflows/repo-metrics.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Monthly repo metrics
on:
workflow_dispatch:
schedule:
- cron: '0 2 1 * *'

permissions:
issues: write
pull-requests: read

jobs:
build:
name: metrics
runs-on: ubuntu-latest

steps:
- name: Get dates for last month
shell: bash
run: |
# Calculate the first day of the previous month
first_day=$(date -d "last month" +%Y-%m-01)
# Calculate the last day of the previous month
last_day=$(date -d "$first_day +1 month -1 day" +%Y-%m-%d)
# Set an environment variable with the date range
echo "$first_day..$last_day"
echo "last_month=$first_day..$last_day" >> "$GITHUB_ENV"
- name: Report on issues
uses: github/issue-metrics@v2
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SEARCH_QUERY: 'repo:aws/aws-cdk is:issue created:${{ env.last_month }} -reason:"not planned"'

- name: Create report for issues
uses: peter-evans/create-issue-from-file@v4
with:
title: Monthly issue metrics report
token: ${{ secrets.GITHUB_TOKEN }}
content-filepath: ./issue_metrics.md
assignees: evgenyka

- name: Report on PRs
uses: github/issue-metrics@v2
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SEARCH_QUERY: 'repo:aws/aws-cdk is:pr created:${{ env.last_month }} -is:draft'

- name: Create report for PRs
uses: peter-evans/create-issue-from-file@v4
with:
title: Monthly issue metrics report
token: ${{ secrets.GITHUB_TOKEN }}
content-filepath: ./issue_metrics.md
assignees: evgenyka
58 changes: 58 additions & 0 deletions .github/workflows/request-cli-integ-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Request a deployment to the test pipeline

name: request-cli-integ-test
on:
pull_request_target: {}

jobs:
cli-changes:
runs-on: ubuntu-latest
outputs:
any-changed-files: ${{ steps.changed-cli-files.outputs.cli_any_changed }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
fetch-depth: 0
persist-credentials: false
- name: Find changed cli files
id: changed-cli-files
uses: tj-actions/changed-files@920e7b9ae1d45913fc81f86c956fee89c77d2e5e
with:
base_sha: ${{ github.event.pull_request.base.sha }}
files_yaml: |
cli:
- packages/aws-cdk/bin/**
- packages/aws-cdk/lib/**
- packages/aws-cdk/test/**
submit-to-test-pipeline:
environment: test-pipeline
needs: cli-changes
if: needs.cli-changes.outputs.any-changed-files == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
# Needs to run with PROJEN_GITHUB_TOKEN because we need permissions to force push the branch
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Submit to test-pipeline
run: |
git config --global user.name 'aws-cdk-automation'
git config --global user.email 'aws-cdk-automation@users.noreply.github.com'
git push --force --atomic https://github.com/${{ github.repository }}.git FETCH_HEAD:test-main-pipeline
- name: Explain next steps
uses: thollander/actions-comment-pull-request@dadb7667129e23f12ca3925c90dc5cd7121ab57e
with:
message: |
:arrow_right: **PR build request submitted to `test-main-pipeline`** :arrow_left:
A maintainer must now check the pipeline and add the `pr-linter/cli-integ-tested` label once the pipeline succeeds.
comment_tag: request-cli-integ-test
mode: recreate
# Post as our automation user
GITHUB_TOKEN: ${{ secrets.PROJEN_GITHUB_TOKEN }}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Lock versions of pip packages
certifi==2022.12.7
certifi==2023.7.22
chardet==3.0.4
idna==2.10
urllib3==1.26.7
Expand Down
Loading

0 comments on commit 6e876f1

Please sign in to comment.