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

DTSPO 18475 Fix Up #39

Closed
wants to merge 100 commits into from
Closed
Show file tree
Hide file tree
Changes from 90 commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
b936f51
Fresh PR made with changes
ConnorOKane-Kainos Aug 7, 2024
2b0b659
Fresh PR made with changes
ConnorOKane-Kainos Aug 7, 2024
5790988
Fresh PR made with changes
ConnorOKane-Kainos Aug 7, 2024
17dd7c8
adding the update repos workflow
ConnorOKane-Kainos Aug 7, 2024
58a7f79
adding the prod repos back
ConnorOKane-Kainos Aug 7, 2024
649966f
adding github-repository-rules to have rulesets applied
ConnorOKane-Kainos Aug 7, 2024
657168a
fixing the pr comments including main>master, prod repos, hmcts-test …
ConnorOKane-Kainos Aug 8, 2024
9d7489b
updated the jq part of the pipeline, included platops group tp exlcud…
ConnorOKane-Kainos Aug 8, 2024
b7ad89f
updated the shell to bash for jq
ConnorOKane-Kainos Aug 8, 2024
bb8f744
updating the spelling mistake in platform-operation team
ConnorOKane-Kainos Aug 8, 2024
0f555ba
fixed spelling mistake on the readme file
ConnorOKane-Kainos Aug 8, 2024
85d2a75
testing the pipeline
ConnorOKane-Kainos Aug 9, 2024
85acfcb
updating the pipeline structure to use cnp library and pre commit fmt
ConnorOKane-Kainos Aug 9, 2024
493d744
updating the pipeline structure to use cnp library and pre commit fmt
ConnorOKane-Kainos Aug 9, 2024
fee3e6e
fixing small typo in pipeline
ConnorOKane-Kainos Aug 9, 2024
a335c08
fixing filepath issue for components directory
ConnorOKane-Kainos Aug 9, 2024
513557b
fixing filepath issue for components directory on set up tf stage
ConnorOKane-Kainos Aug 9, 2024
40d9e92
fixing filepath issue for components directory on set up tf stage
ConnorOKane-Kainos Aug 9, 2024
4159763
test functionality of pipeline
ConnorOKane-Kainos Aug 9, 2024
ea9b367
test functionality of pipeline
ConnorOKane-Kainos Aug 9, 2024
5ff1553
test functionality of pipeline
ConnorOKane-Kainos Aug 9, 2024
267bfc1
fixing federated credential
ConnorOKane-Kainos Aug 9, 2024
fa1648c
fixing federated credential
ConnorOKane-Kainos Aug 9, 2024
500e306
changing creds
ConnorOKane-Kainos Aug 9, 2024
ad90751
updated production repo list
ConnorOKane-Kainos Aug 9, 2024
7a99f63
updated production repo list
ConnorOKane-Kainos Aug 9, 2024
2461244
testing the precheck yaml file from cnp library
ConnorOKane-Kainos Aug 9, 2024
b7a80c8
testing formatting check
ConnorOKane-Kainos Aug 9, 2024
50db9f7
testing formatting check
ConnorOKane-Kainos Aug 9, 2024
ce24f3b
adding components directory for tf fmt check
ConnorOKane-Kainos Aug 10, 2024
0cc83d9
adding components directory for tf fmt check
ConnorOKane-Kainos Aug 10, 2024
3f05558
ensuring the pipeline will check if code is fmt and if not then it wi…
ConnorOKane-Kainos Aug 10, 2024
29a547b
adding hmcts user and ensure the pipeline pushes the changes to the s…
ConnorOKane-Kainos Aug 10, 2024
256a6b1
Apply Terraform formatting changes
hmcts-platform-operations Aug 10, 2024
b03cc90
adding continue on error flag
ConnorOKane-Kainos Aug 10, 2024
177257d
adding pre commit and tf fmt stage
ConnorOKane-Kainos Aug 12, 2024
2548a00
adding pre commit and tf fmt stage
ConnorOKane-Kainos Aug 12, 2024
6109168
adding pre commit and tf fmt stage
ConnorOKane-Kainos Aug 12, 2024
0f1f1f4
adding extra fmt stage
ConnorOKane-Kainos Aug 12, 2024
76881b1
adding extra fmt stage
ConnorOKane-Kainos Aug 12, 2024
27f97d9
adding extra fmt stage
ConnorOKane-Kainos Aug 12, 2024
53bdbc9
fixing fmt issue
ConnorOKane-Kainos Aug 12, 2024
a92701e
fixing fmt issue
ConnorOKane-Kainos Aug 12, 2024
6ab53bc
changes made to make the fmt changes push to the branch it was raised…
ConnorOKane-Kainos Aug 12, 2024
6b328e9
Auto format with terraform fmt
Aug 12, 2024
294515a
testing functionality of the fmt
ConnorOKane-Kainos Aug 12, 2024
0e30fe9
Auto format with terraform fmt
Aug 12, 2024
64c8833
cleanup
ConnorOKane-Kainos Aug 12, 2024
8e5db01
split the workflows and added precheck.yaml
ConnorOKane-Kainos Aug 12, 2024
a4c373d
split the workflows and added precheck.yaml
ConnorOKane-Kainos Aug 12, 2024
c495fba
split the workflows and added precheck.yaml
ConnorOKane-Kainos Aug 12, 2024
190885e
fixing the dependencies
ConnorOKane-Kainos Aug 12, 2024
599c9e2
adding chmod step to make script executable
ConnorOKane-Kainos Aug 12, 2024
45eb0dd
Auto format with terraform fmt
Aug 12, 2024
32a2cb5
adding permissons for gh actions under permissions
ConnorOKane-Kainos Aug 12, 2024
a20f2e2
adding permissons for gh actions under permissions
ConnorOKane-Kainos Aug 12, 2024
1d92cb2
Auto format with terraform fmt
Aug 12, 2024
543934e
testing the workflow can trigger once pre check is completed
ConnorOKane-Kainos Aug 12, 2024
5f30f08
changing workflow name
ConnorOKane-Kainos Aug 12, 2024
395d0dc
changing workflow name
ConnorOKane-Kainos Aug 12, 2024
e1225a3
Auto format with terraform fmt
Aug 12, 2024
5477933
fixinf config error in the terraform.yaml workflow
ConnorOKane-Kainos Aug 12, 2024
80d84df
fixinf config error in the terraform.yaml workflow
ConnorOKane-Kainos Aug 12, 2024
e5b29be
Auto format with terraform fmt
Aug 12, 2024
da05f58
updated the precheck workflow to use rest api to trigger the main wor…
ConnorOKane-Kainos Aug 12, 2024
6d1e820
updated the precheck workflow to use rest api to trigger the main wor…
ConnorOKane-Kainos Aug 12, 2024
141df3a
Auto format with terraform fmt
Aug 12, 2024
02f23f0
testing pipeline runs with no fmt changes needed
ConnorOKane-Kainos Aug 12, 2024
c4e8569
updating the production repos list
ConnorOKane-Kainos Aug 13, 2024
f26ea18
updating commit and push stage to ignore any files that are not added…
ConnorOKane-Kainos Aug 13, 2024
bf6aa0a
testing pipeline works with nothing to format
ConnorOKane-Kainos Aug 13, 2024
cfc8432
testing pipeline works with nothing to format
ConnorOKane-Kainos Aug 13, 2024
1555085
updating config to ensure only one workflow is being triggered on the…
ConnorOKane-Kainos Aug 13, 2024
e3c88e9
removing branch ref from push
ConnorOKane-Kainos Aug 13, 2024
d078580
removing if statement from trigger workflow stage
ConnorOKane-Kainos Aug 13, 2024
a00305f
updating the github ref
ConnorOKane-Kainos Aug 13, 2024
e04167a
adding aep yaml file and removed some of the error handling on python…
ConnorOKane-Kainos Aug 13, 2024
43381d1
removing the update read me for custom properties as its not a rewuir…
ConnorOKane-Kainos Aug 13, 2024
065f022
removing the trigger workflow config to allow both pipelines to run i…
ConnorOKane-Kainos Aug 13, 2024
72a6484
testing rerun due to 504 error
ConnorOKane-Kainos Aug 13, 2024
34ca11b
updating main ref on the aep pr summary
ConnorOKane-Kainos Aug 13, 2024
de70eae
adding the reviewer.yaml file for aep
ConnorOKane-Kainos Aug 13, 2024
76cdc0d
updated readme with tf docs and fixed the error handling with python …
ConnorOKane-Kainos Aug 14, 2024
eaab3c7
updated readme with tf docs and fixed the error handling with python …
ConnorOKane-Kainos Aug 14, 2024
838889e
fixing the prod link to ref the json file from directory instead of url
ConnorOKane-Kainos Aug 14, 2024
3e197de
fixing the prod link to ref the json file from directory instead of url
ConnorOKane-Kainos Aug 14, 2024
c976861
fixing the read me python script to update the number of repos we hav…
ConnorOKane-Kainos Aug 14, 2024
abcc748
fixing the readme python script to use file path not url, fixed doc s…
ConnorOKane-Kainos Aug 15, 2024
ff8b252
fixing the readme python script to use file path not url, fixed doc s…
ConnorOKane-Kainos Aug 15, 2024
66ffd5b
removing old code
ConnorOKane-Kainos Aug 15, 2024
dfbe219
fixed the echo/name issue, added continue on fail error for wf, testi…
ConnorOKane-Kainos Aug 15, 2024
3978b6b
removing uneeded perms
ConnorOKane-Kainos Aug 15, 2024
931c634
updating the doc strings in the update read me script
ConnorOKane-Kainos Aug 16, 2024
3dac570
testing the fmt with precheck
ConnorOKane-Kainos Aug 16, 2024
8460df6
updating the commit and push stages
ConnorOKane-Kainos Aug 16, 2024
3fcef6c
updating the commit stage and fixing fmt issue
ConnorOKane-Kainos Aug 16, 2024
b3af6f7
updating prod repo list
ConnorOKane-Kainos Aug 16, 2024
b390784
updating terraform pipeline naming and removing github ref
ConnorOKane-Kainos Aug 16, 2024
3eb5b6b
testing pipeline
ConnorOKane-Kainos Aug 22, 2024
f6e5349
testing pipeline
ConnorOKane-Kainos Aug 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions .github/workflows/pr-reviewer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: CI PR Reviewer Pipeline
on:
pull_request:
branches:
- main
workflow_dispatch:

jobs:
review:
runs-on: ubuntu-latest
env:
X_API_KEY: ${{ secrets.SYSTEM_API_KEY }}
X_API_CONSUMER: ${{ secrets.SYSTEM_CONSUMER_UUID }}
API_HOST: "https://app-gippi-api-s-latest-uksouth.azurewebsites.net/"
WORKING_DIRECTORY: ${{ github.workspace }}/
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Create a diff file
run: |
git diff origin/main...remotes/origin/${{ github.head_ref }} > ${{ env.working_directory }}diff.txt && cat ${{ env.working_directory }}diff.txt

- name: Generate a response
run: |
API_HOST=$(printenv API_HOST)
WORKING_DIRECTORY=$(printenv WORKING_DIRECTORY)
X_API_CONSUMER=$(printenv X_API_CONSUMER)
X_API_KEY=$(printenv X_API_KEY)
DIFF_FILE="diff.txt"
RESPONSE_MD_FILE="response.md"

if [ ! -f "${WORKING_DIRECTORY}${DIFF_FILE}" ]; then
echo "File ${WORKING_DIRECTORY}${DIFF_FILE} not found."
exit 1
fi

file_contents=$(cat "${WORKING_DIRECTORY}${DIFF_FILE}")
json_body=$(jq -n --arg pt "pullrequest-review" --arg p "$file_contents" '{prompt_type: $pt, prompt: $p}')

response=$(curl -s -i -X POST "${API_HOST}/predefined" \
-H "Content-Type: application/json" \
-H "X-API-CONSUMER: ${X_API_CONSUMER}" \
-H "X-API-KEY: ${X_API_KEY}" \
-d "$json_body")

echo "Response: $response"

response_code=$(echo "$response" | awk -F' ' '/HTTP\/1.1/{print $2}' | head -n 1)

if [ "$response_code" -eq 200 ]; then
echo "File contents sent successfully."
# Remove headers
response_body=$(echo "$response" | tail -n +2)
# Remove more headers
response_body=$(echo "$response_body" | sed '/^date: /Id' | sed '/^server: /Id' | sed '/^content-length: /Id' | sed '/^content-type: /Id')
# remove trailing and leading quotes
response_body=$(echo "$response_body" | sed 's/^"\(.*\)"$/\1/')
# remove the initial markdown code block ident if it exists
response_body=$(echo "$response_body" | sed 's/```markdown//')
# remove the last code block ident
response_body=$(echo "$response_body" | sed 's/```//')

# Write to file
echo -e "$response_body" > "${WORKING_DIRECTORY}${RESPONSE_MD_FILE}"
else
echo "Error sending file contents: $response_code"
echo -e "Request to AEP failed to process" > "${WORKING_DIRECTORY}${RESPONSE_MD_FILE}"
fi

if [ $? -eq 0 ]; then
echo "Response saved as response.md"
else
echo "Error writing to file in ${WORKING_DIRECTORY}."
exit 1
fi

- name: Get the response as a variable
id: get_response
run: |
{
echo 'response<<EOF'
cat ${WORKING_DIRECTORY}response.md
echo EOF
} >> "$GITHUB_ENV"

- uses: actions/github-script@v6
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: process.env.response
})
101 changes: 101 additions & 0 deletions .github/workflows/pr-summary.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: CI PR Summary Pipeline
on:
pull_request:
branches:
- main
workflow_dispatch:

jobs:
review:
runs-on: ubuntu-latest
env:
X_API_KEY: ${{ secrets.SYSTEM_API_KEY }}
X_API_CONSUMER: ${{ secrets.SYSTEM_CONSUMER_UUID }}
API_HOST: "https://app-gippi-api-s-latest-uksouth.azurewebsites.net/"
WORKING_DIRECTORY: ${{ github.workspace }}/
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Create a diff file
run: |
git diff origin/main...remotes/origin/${{ github.head_ref }} > ${{ env.working_directory }}diff.txt && cat ${{ env.working_directory }}diff.txt

- name: Generate a response
run: |
API_HOST=$(printenv API_HOST)
WORKING_DIRECTORY=$(printenv WORKING_DIRECTORY)
X_API_CONSUMER=$(printenv X_API_CONSUMER)
X_API_KEY=$(printenv X_API_KEY)
DIFF_FILE="diff.txt"
RESPONSE_MD_FILE="response.md"

if [ ! -f "${WORKING_DIRECTORY}${DIFF_FILE}" ]; then
echo "File ${WORKING_DIRECTORY}${DIFF_FILE} not found."
exit 1
fi

file_contents=$(cat "${WORKING_DIRECTORY}${DIFF_FILE}")
json_body=$(jq -n --arg pt "pullrequest-summary-perfile" --arg p "$file_contents" '{prompt_type: $pt, prompt: $p}')

response=$(curl -s -i -X POST "${API_HOST}/predefined" \
-H "Content-Type: application/json" \
-H "X-API-CONSUMER: ${X_API_CONSUMER}" \
-H "X-API-KEY: ${X_API_KEY}" \
-d "$json_body")

echo "Response: $response"

response_code=$(echo "$response" | awk -F' ' '/HTTP\/1.1/{print $2}' | head -n 1)

if [ "$response_code" -eq 200 ]; then
echo "File contents sent successfully."
# Remove headers
response_body=$(echo "$response" | tail -n +2)
# Remove more headers
response_body=$(echo "$response_body" | sed '/^date: /Id' | sed '/^server: /Id' | sed '/^content-length: /Id' | sed '/^content-type: /Id')
# remove trailing and leading quotes
response_body=$(echo "$response_body" | sed 's/^"\(.*\)"$/\1/')
# remove the initial markdown code block ident if it exists
response_body=$(echo "$response_body" | sed 's/```markdown//')
# remove the last code block ident
response_body=$(echo "$response_body" | sed 's/```//')

# Write to file
echo -e "$response_body" > "${WORKING_DIRECTORY}${RESPONSE_MD_FILE}"
else
echo "Error sending file contents: $response_code"
echo -e "Request to AEP failed to process" > "${WORKING_DIRECTORY}${RESPONSE_MD_FILE}"
fi

if [ $? -eq 0 ]; then
echo "Response saved as response.md"
else
echo "Error writing to file in ${WORKING_DIRECTORY}."
exit 1
fi

- name: Get the response as a variable
id: get_response
run: |
{
echo 'response<<EOF'
cat ${WORKING_DIRECTORY}response.md
echo EOF
} >> "$GITHUB_ENV"

- uses: actions/github-script@v6
with:
script: |
const prBody = context.payload.pull_request.body || '';
const updatedBody = prBody.includes('## 🤖AEP PR SUMMARY🤖')
? prBody.replace(/## 🤖AEP PR SUMMARY🤖[\s\S]*/, '') + '\n\n## 🤖AEP PR SUMMARY🤖\n\n' + process.env.response
: prBody + '\n\n## 🤖AEP PR SUMMARY🤖\n\n' + process.env.response;
github.rest.pulls.update({
pull_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: updatedBody
})
49 changes: 49 additions & 0 deletions .github/workflows/terraform-precheck.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Terraform Pre-Check

on:
pull_request:
branches:
- main
workflow_dispatch:

permissions:
id-token: write
issues: write
pull-requests: write
contents: write

jobs:
pre-check:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
ConnorOKane-Kainos marked this conversation as resolved.
Show resolved Hide resolved

- name: Checkout cnp-azuredevops-libraries
uses: actions/checkout@v4
with:
repository: hmcts/cnp-azuredevops-libraries
path: cnp-azuredevops-libraries

- name: Make Terraform Setup Script Executable
run: chmod +x cnp-azuredevops-libraries/scripts/tfenv-install-terraform.sh

- name: Setup Terraform
run: ./cnp-azuredevops-libraries/scripts/tfenv-install-terraform.sh
shell: bash

- name: Terraform Format
run: terraform fmt -recursive
working-directory: components

- name: Commit and Push Changes
if: ${{ github.event_name == 'push' }}
ConnorOKane-Kainos marked this conversation as resolved.
Show resolved Hide resolved
working-directory: components
run: |
git config --global user.email "hmcts-platform-operations@HMCTS.NET"
git config --global user.name "hmcts-platform-operations"
git add -u
git diff-index --quiet HEAD || git commit -m "Format with terraform fmt"
git push origin HEAD:${{ github.head_ref }} || echo "No changes to push"
71 changes: 71 additions & 0 deletions .github/workflows/terraform.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Terraform CI/CD
ConnorOKane-Kainos marked this conversation as resolved.
Show resolved Hide resolved

on:
pull_request:
branches:
- main
workflow_dispatch:

permissions:
ConnorOKane-Kainos marked this conversation as resolved.
Show resolved Hide resolved
actions: write
id-token: write
issues: write
pull-requests: write
contents: write

jobs:
terraform:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Az CLI login
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}

- name: Terraform Init
working-directory: components
env:
STORAGE_ACCOUNT: ${{ secrets.STORAGE_ACCOUNT }}
CONTAINER_NAME: ${{ secrets.CONTAINER_NAME }}
RESOURCE_GROUP_NAME: ${{ secrets.RESOURCE_GROUP_NAME }}
ARM_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: ${{ secrets.DCD_CFT_SANDBOX_SUBSCRIPTION }}
ARM_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
run: terraform init -backend-config="storage_account_name=$STORAGE_ACCOUNT" -backend-config="container_name=$CONTAINER_NAME" -backend-config="resource_group_name=$RESOURCE_GROUP_NAME" -reconfigure

- name: Terraform Validate
working-directory: components
id: validate
env:
ARM_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: ${{ secrets.DCD_CFT_SANDBOX_SUBSCRIPTION }}
ARM_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
run: terraform validate

- name: Terraform Plan
working-directory: components
id: plan
env:
ARM_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: ${{ secrets.DCD_CFT_SANDBOX_SUBSCRIPTION }}
ARM_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
OAUTH_TOKEN: ${{ secrets.OAUTH_TOKEN }}
run: terraform plan -var="oauth_token=${{ secrets.OAUTH_TOKEN }}"

- name: Terraform Apply
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
working-directory: components
env:
ARM_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
ARM_SUBSCRIPTION_ID: ${{ secrets.DCD_CFT_SANDBOX_SUBSCRIPTION }}
ARM_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
OAUTH_TOKEN: ${{ secrets.OAUTH_TOKEN }}
run: terraform apply -var="oauth_token=${{ secrets.OAUTH_TOKEN }}" -auto-approve

32 changes: 27 additions & 5 deletions .github/workflows/update-repos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
workflow_dispatch:

jobs:
update-file:
update-files:
runs-on: ubuntu-latest

steps:
Expand All @@ -23,15 +23,37 @@ jobs:
python -m pip install --upgrade pip
pip install pyyaml requests

- name: Run update script
- name: Run set_org_custom_properties script
env:
OAUTH_TOKEN: ${{ secrets.OAUTH_TOKEN }}
run: python custom-properties/set_org_custom_properties.py

- name: Run update-repo-list script
run: python scripts/update-repo-list.py

- name: Run update-readme script
run: python scripts/update-readme.py

- name: Install jq
run: sudo apt-get install jq -y

- name: List Repositories and Branches
ConnorOKane-Kainos marked this conversation as resolved.
Show resolved Hide resolved
run: |
echo "Checking Repositories and Branches"
for repo in $(jq -r '.[]' < ./production-repos.json); do
echo "Checking repository: $repo"
curl -H "Authorization: token ${{ secrets.OAUTH_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/hmcts/$repo
done
shell: bash

- name: Commit and push changes
run: |
git config --global user.name 'hmcts-platform-operations'
git config --global user.email 'github-platform-operations@HMCTS.NET'
git add production-repos.json
git commit -m 'Update repository list'
git add production-repos.json readme.md
git commit -m 'Update repository list and readme'
git push
env:
GITHUB_TOKEN: ${{ secrets.OAUTH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.OAUTH_TOKEN }}
Loading