Build and publish for ppc64le #3
Workflow file for this run
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: Add backport label | |
on: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
- edited | |
- labeled | |
- unlabeled | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
check-issues: | |
if: ${{ github.event.label.name != 'auto-backport' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code to allow hub to communicate with the project | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }} | |
uses: actions/checkout@v3 | |
- name: Install hub extension script | |
run: | | |
pushd $(mktemp -d) &>/dev/null | |
git clone --single-branch --depth 1 "https://github.com/kata-containers/.github" && cd .github/scripts | |
sudo install hub-util.sh /usr/local/bin | |
popd &>/dev/null | |
- name: Determine whether to add label | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CONTAINS_AUTO_BACKPORT: ${{ contains(github.event.pull_request.labels.*.name, 'auto-backport') }} | |
id: add_label | |
run: | | |
pr=${{ github.event.pull_request.number }} | |
linked_issue_urls=$(hub-util.sh \ | |
list-issues-for-pr "$pr" |\ | |
grep -v "^\#" |\ | |
cut -d';' -f3 || true) | |
[ -z "$linked_issue_urls" ] && { | |
echo "::error::No linked issues for PR $pr" | |
exit 1 | |
} | |
has_bug=false | |
for issue_url in $(echo "$linked_issue_urls") | |
do | |
issue=$(echo "$issue_url"| awk -F\/ '{print $NF}' || true) | |
[ -z "$issue" ] && { | |
echo "::error::Cannot determine issue number from $issue_url for PR $pr" | |
exit 1 | |
} | |
labels=$(hub-util.sh list-labels-for-issue "$issue") | |
label_names=$(echo $labels | jq -r '.[].name' || true) | |
if [[ "$label_names" =~ "bug" ]]; then | |
has_bug=true | |
break | |
fi | |
done | |
has_backport_needed_label=${{ contains(github.event.pull_request.labels.*.name, 'needs-backport') }} | |
has_no_backport_needed_label=${{ contains(github.event.pull_request.labels.*.name, 'no-backport-needed') }} | |
echo "add_backport_label=false" >> $GITHUB_OUTPUT | |
if [ $has_backport_needed_label = true ] || [ $has_bug = true ]; then | |
if [[ $has_no_backport_needed_label = false ]]; then | |
echo "add_backport_label=true" >> $GITHUB_OUTPUT | |
fi | |
fi | |
# Do not spam comment, only if auto-backport label is going to be newly added. | |
echo "auto_backport_added=$CONTAINS_AUTO_BACKPORT" >> $GITHUB_OUTPUT | |
- name: Add comment | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') && steps.add_label.outputs.add_backport_label == 'true' && steps.add_label.outputs.auto_backport_added == 'false' }} | |
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: 'This issue has been marked for auto-backporting. Add label(s) backport-to-BRANCHNAME to backport to them' | |
}) | |
# Allow label to be removed by adding no-backport-needed label | |
- name: Remove auto-backport label | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') && steps.add_label.outputs.add_backport_label == 'false' }} | |
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 | |
with: | |
remove-labels: "auto-backport" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Add auto-backport label | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') && steps.add_label.outputs.add_backport_label == 'true' }} | |
uses: andymckay/labeler@e6c4322d0397f3240f0e7e30a33b5c5df2d39e90 | |
with: | |
add-labels: "auto-backport" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} |