Skip to content

Added missed API visibility annotations for public APIs and enable the check at the build time #9379

Added missed API visibility annotations for public APIs and enable the check at the build time

Added missed API visibility annotations for public APIs and enable the check at the build time #9379

---
name: Check Compatibility
on:
pull_request_target
jobs:
check-compatibility:
if: github.repository == 'opensearch-project/OpenSearch'
permissions:
contents: read
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Increase swapfile
run: |
sudo swapoff -a
sudo fallocate -l 10G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
- name: Run compatibility task
run: ./gradlew checkCompatibility -i | tee $HOME/gradlew-check.out
- name: Get results
run: |
echo '## Compatibility status:' > "${{ github.workspace }}/results.txt"
echo "Checks if related components are compatible with change $(git rev-parse --short HEAD)" >> "${{ github.workspace }}/results.txt"
echo "### Incompatible components" >> "${{ github.workspace }}/results.txt" && grep -e 'Incompatible component' $HOME/gradlew-check.out | sed -e 's/Incompatible component: \[\(.*\)\]/- \1/' >> "${{ github.workspace }}/results.txt"
echo "### Skipped components" >> "${{ github.workspace }}/results.txt" && grep -e 'Skipped component' $HOME/gradlew-check.out | sed -e 's/Skipped component: \[\(.*\)\]/- \1/' >> "${{ github.workspace }}/results.txt"
echo "### Compatible components" >> "${{ github.workspace }}/results.txt" && grep -e 'Compatible component' $HOME/gradlew-check.out | sed -e 's/Compatible component: \[\(.*\)\]/- \1/' >> "${{ github.workspace }}/results.txt"
- name: Upload results
uses: actions/upload-artifact@v4
with:
name: results.txt
path: ${{ github.workspace }}/results.txt
add-comment:
needs: [check-compatibility]
permissions:
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Download results
uses: actions/download-artifact@v4
with:
name: results.txt
- name: Find Comment
uses: peter-evans/find-comment@v3
id: fc
with:
issue-number: ${{ github.event.number }}
comment-author: 'github-actions[bot]'
body-includes: 'Compatibility status:'
- name: Add comment on the PR
uses: peter-evans/create-or-update-comment@v4
with:
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ github.event.number }}
body-path: results.txt
edit-mode: replace