Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: INFRA-2087 auto generated issues for mobile and extension repositories #4763

Open
wants to merge 12 commits into
base: main
Choose a base branch
from
Open
43 changes: 43 additions & 0 deletions .github/workflows/create-update-issues.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Create Update Issues

on:
workflow_call:
secrets:
GH_TOKEN:
description: GitHub token with permission to create issues in both mobile and extension repositories
required: true

jobs:
create-update-issues:
runs-on: ubuntu-latest
steps:
- name: Checkout head
uses: actions/checkout@v4
with:
fetch-tags: true

- name: Create Issues
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
IFS=$'\n' read -r -d '' -a tag_array < <(git tag --points-at HEAD && printf '\0')

for tag in "${tag_array[@]}"; do
if [[ "${tag}" == @metamask/* ]] ; then
# Extract package name without the leading '@'
package_name="${tag#@}"
package_name="${package_name%@*}"

# Extract version number
version="${tag##*@}"

# Check if version number ends with .0.0
if [[ $version == *.0.0 ]]; then
# Fetch responsible team form file
teams=$(jq -r --arg key "$package_name" '.[$key]' teams.json)
gh issue create --title "Update ${package_name} to version ${version}" --body "Please update ${package_name} to version ${version}" --repo "consensys-vertical-apps/rr-auto-issue-test" --label $teams
gh issue create --title "Update ${package_name} to version ${version}" --body "Please update ${package_name} to version ${version}" --repo "consensys-vertical-apps/rr-auto-issue-test-2" --label $teams
fi
fi
done
shell: bash
8 changes: 8 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,14 @@ jobs:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

create-update-issues:
name: Create update issues
needs: [is-release, publish-release]
if: needs.is-release.outputs.IS_RELEASE == 'true'
uses: ./.github/workflows/create-update-issues.yaml
secrets:
GH_TOKEN: ${{ secrets.CORE_CREATE_UPDATE_ISSUES_TOKEN }}

all-jobs-complete:
name: All jobs complete
runs-on: ubuntu-latest
Expand Down
36 changes: 36 additions & 0 deletions teams.json
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thoughts on mapping each controller to an array of team labels, rather than just one? Many of them have multiple code owners. Choosing just one for the label seems a bit arbitrary.

Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"metamask/accounts-controller": "team-accounts",
"metamask/address-book-controller": "team-confirmations",
"metamask/announcement-controller": "team-wallet-ux",
"metamask/approval-controller": "team-confirmations",
"metamask/assets-controllers": "team-assets",
"metamask/base-controller": "team-wallet-framework",
"metamask/build-utils": "team-wallet-framework",
"metamask/chain-controller": "team-accounts",
"metamask/composable-controller": "team-wallet-framework",
"metamask/controller-utils": "team-wallet-framework",
"metamask/ens-controller": "team-confirmations",
"metamask/eth-json-rpc-provider": "team-wallet-api-platform",
"metamask/gas-fee-controller": "team-confirmations",
"metamask/json-rpc-engine": "team-wallet-api-platform",
"metamask/json-rpc-middleware-stream": "team-wallet-api-platform",
"metamask/keyring-controller": "team-accounts",
"metamask/logging-controller": "team-confirmations",
"metamask/message-manager": "team-confirmations",
"metamask/name-controller": "team-confirmations",
"metamask/network-controller": "team-wallet-framework",
"metamask/notification-controller": "team-snaps-platform",
"metamask/notification-services-controller": "team-notifications",
"metamask/permission-controller": "team-wallet-api-platform",
"metamask/permission-log-controller": "team-wallet-api-platform",
"metamask/phishing-controller": "team-product-safety",
"metamask/polling-controller": "team-wallet-framework",
"metamask/preferences-controller": "team-wallet-framework",
"metamask/profile-sync-controller": "team-notifications",
"metamask/queued-request-controller": "team-wallet-api-platform",
"metamask/rate-limit-controller": "team-snaps-platform",
"metamask/selected-network-controller": "team-wallet-api-platform",
"metamask/signature-controller": "team-confirmations",
"metamask/transaction-controller": "team-confirmations",
"metamask/user-operation-controller": "team-confirmations"
}
Loading