# Copyright (c) 2020 Intel Corporation # # SPDX-License-Identifier: Apache-2.0 # name: Move issues to "In progress" in backlog project when referenced by a PR on: pull_request_target: types: - opened - reopened jobs: move-linked-issues-to-in-progress: runs-on: ubuntu-latest steps: - name: Install hub if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }} run: | HUB_ARCH="amd64" HUB_VER=$(curl -sL "https://api.github.com/repos/github/hub/releases/latest" |\ jq -r .tag_name | sed 's/^v//') curl -sL \ "https://github.com/github/hub/releases/download/v${HUB_VER}/hub-linux-${HUB_ARCH}-${HUB_VER}.tgz" |\ tar xz --strip-components=2 --wildcards '*/bin/hub' && \ sudo install hub /usr/local/bin - name: Install hub extension script if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }} run: | # Clone into a temporary directory to avoid overwriting # any existing github directory. 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: Checkout code to allow hub to communicate with the project if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }} uses: actions/checkout@v2 - name: Move issue to "In progress" if: ${{ !contains(github.event.pull_request.labels.*.name, 'force-skip-ci') }} env: GITHUB_TOKEN: ${{ secrets.KATA_GITHUB_ACTIONS_TOKEN }} run: | pr=${{ github.event.pull_request.number }} linked_issue_urls=$(hub-util.sh \ list-issues-for-pr "$pr" |\ grep -v "^\#" |\ cut -d';' -f3 || true) # PR doesn't have any linked issues # (it should, but maybe a new user forgot to add a "Fixes: #XXX" commit). [ -z "$linked_issue_urls" ] && { echo "::error::No linked issues for PR $pr" exit 1 } project_name="Issue backlog" project_type="org" project_column="In progress" 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 } # Move the issue to the correct column on the project board hub-util.sh \ move-issue \ "$issue" \ "$project_name" \ "$project_type" \ "$project_column" done