Skip to content

[Performance] Implement cached key encryption to optimize password-based batch operations #35

[Performance] Implement cached key encryption to optimize password-based batch operations

[Performance] Implement cached key encryption to optimize password-based batch operations #35

Workflow file for this run

name: Enable Auto-merge on Pull Request
on:
pull_request_target:
types:
- opened
- reopened
- synchronize # PR 업데이트 시에도 동작
jobs:
automerge:
runs-on: ubuntu-latest
permissions:
pull-requests: write # PR에 automerge를 설정하기 위한 권한
contents: write # (선택 사항) 필요한 경우
actions: write # Add permission to trigger workflows
steps:
- name: Check if PR is from dependabot
id: check_dependabot
run: |
if [[ "${{ github.actor }}" == "dependabot[bot]" ]]; then
echo "is_dependabot=true" >> $GITHUB_OUTPUT
else
echo "is_dependabot=false" >> $GITHUB_OUTPUT
fi
- name: Enable auto-merge for PRs
uses: actions/github-script@v7
with:
script: |
await github.graphql(`
mutation enablePullRequestAutoMerge($pullRequestId: ID!) {
enablePullRequestAutoMerge(input: {pullRequestId: $pullRequestId, mergeMethod: MERGE}) {
pullRequest {
id
autoMergeRequest {
enabledAt
enabledBy {
login
}
mergeMethod
}
}
}
}
`, {
pullRequestId: context.payload.pull_request.node_id
});
console.log('Auto-merge has been enabled for dependabot PR.');
- name: Notify about auto-merge enablement
run: |
echo "Auto-merge has been enabled for PR #${{ github.event.pull_request.number }}"
echo "The CD workflow will be triggered automatically after merge."
- name: Trigger CD workflow for dependabot auto-merge
if: steps.check_dependabot.outputs.is_dependabot == 'true'
uses: actions/github-script@v7
with:
script: |
// Trigger CD workflow via repository_dispatch for dependabot PRs
await github.rest.repos.createDispatchEvent({
owner: context.repo.owner,
repo: context.repo.repo,
event_type: 'dependabot-auto-merged',
client_payload: {
pr_number: context.payload.pull_request.number,
pr_title: context.payload.pull_request.title,
triggered_by: 'dependabot-auto-merge'
}
});
console.log('Repository dispatch event sent to trigger CD workflow for dependabot auto-merge');
- name: Trigger CD workflow for non-dependabot auto-merge
if: steps.check_dependabot.outputs.is_dependabot == 'false'
uses: actions/github-script@v7
with:
script: |
await github.rest.repos.createDispatchEvent({
owner: context.repo.owner,
repo: context.repo.repo,
event_type: 'non-dependabot-auto-merged',
client_payload: {
pr_number: context.payload.pull_request.number,
pr_title: context.payload.pull_request.title,
triggered_by: 'non-dependabot-auto-merge'
}
});
console.log('Repository dispatch event sent to trigger CD workflow for non-dependabot auto-merge');