Gradle Check Optimization #11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Gradle Check (Jenkins) | |
on: | |
push: | |
branches-ignore: | |
- 'backport/**' | |
- 'create-pull-request/**' | |
- 'dependabot/**' | |
pull_request_target: | |
types: [opened, synchronize, reopened] | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
gradle-check: | |
if: github.repository == 'prudhvigodithi/opensearch-build' | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
pull-requests: write # to create or update comment (peter-evans/create-or-update-comment) | |
issues: write # To create an issue if check fails on push. | |
runs-on: ubuntu-latest | |
timeout-minutes: 130 | |
steps: | |
- name: Checkout OpenSearch repo | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Setup environment variables (PR) | |
if: github.event_name == 'pull_request_target' | |
run: | | |
echo "event_name=pull_request_target" >> $GITHUB_ENV | |
echo "branch_name=$(jq --raw-output .pull_request.base.ref $GITHUB_EVENT_PATH)" >> $GITHUB_ENV | |
echo "pr_from_sha=$(jq --raw-output .pull_request.head.sha $GITHUB_EVENT_PATH)" >> $GITHUB_ENV | |
echo "pr_from_clone_url=$(jq --raw-output .pull_request.head.repo.clone_url $GITHUB_EVENT_PATH)" >> $GITHUB_ENV | |
echo "pr_to_clone_url=$(jq --raw-output .pull_request.base.repo.clone_url $GITHUB_EVENT_PATH)" >> $GITHUB_ENV | |
echo "pr_title=$(jq --raw-output .pull_request.title $GITHUB_EVENT_PATH)" >> $GITHUB_ENV | |
echo "pr_number=$(jq --raw-output .pull_request.number $GITHUB_EVENT_PATH)" >> $GITHUB_ENV | |
echo "pr_owner=$(jq --raw-output .pull_request.user.login $GITHUB_EVENT_PATH)" >> $GITHUB_ENV | |
echo "pr_or_commit_description=$(jq --ascii-output .pull_request.body $GITHUB_EVENT_PATH)" >> $GITHUB_ENV | |
echo "post_merge_action=false" >> $GITHUB_ENV | |
cat $GITHUB_ENV | |
- uses: actions/github-script@v7 | |
if: github.event_name == 'push' | |
id: get_pr_data | |
with: | |
github-token: ${{secrets.GITHUB_TOKEN}} | |
script: | | |
return ( | |
await github.rest.repos.listPullRequestsAssociatedWithCommit({ | |
commit_sha: context.sha, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
}) | |
).data[0]; | |
- name: Setup environment variables (Push) | |
if: github.event_name == 'push' | |
run: | | |
repo_url="https://github.com/opensearch-project/OpenSearch" | |
ref_id=$(git rev-parse HEAD) | |
branch_name=$(git rev-parse --abbrev-ref HEAD) | |
echo "branch_name=$branch_name" >> $GITHUB_ENV | |
echo "event_name=push" >> $GITHUB_ENV | |
echo "pr_from_sha=$ref_id" >> $GITHUB_ENV | |
echo "pr_from_clone_url=$repo_url" >> $GITHUB_ENV | |
echo "pr_to_clone_url=$repo_url" >> $GITHUB_ENV | |
echo "pr_title=Push trigger $branch_name $ref_id $repo_url" >> $GITHUB_ENV | |
echo "pr_owner=$(jq --raw-output '.commits[0].author.username' $GITHUB_EVENT_PATH)" >> $GITHUB_ENV | |
echo 'pr_number=${{ fromJson(steps.get_pr_data.outputs.result).number }}' >> $GITHUB_ENV | |
echo "pr_or_commit_description=$(jq --ascii-output .head_commit.message $GITHUB_EVENT_PATH)" >> $GITHUB_ENV | |
echo "post_merge_action=true" >> $GITHUB_ENV | |
cat $GITHUB_ENV |