Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update LTS Pipeline #5714

Merged
merged 2 commits into from
Jan 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 8 additions & 12 deletions .github/pr_label_checker.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def get_pr_attributes(response: Response) -> tuple:
Get necessary PR attributes.
"""
pull_response_json = response.json()
if len(pull_response_json) == 0:
if not pull_response_json:
# No PRs attributed to the commit
print(False)
sys.exit(0)
Expand All @@ -64,6 +64,7 @@ def search_for_linked_issues(pull_body: str) -> list:
# Split the PR body by heading
pull_body_list = pull_body.split('##')
regex_pattern = rf'{ISSUES_URL}(\d)|(#[^\D]\d*)'
issue_numbers = []
for section in pull_body_list:
# Find section with heading 'Related Issue'
if section != None and 'Related Issue' in section:
Expand All @@ -75,10 +76,7 @@ def search_for_linked_issues(pull_body: str) -> list:
filtered_list = list(filter(None, flattened_list))
# Remove '#' from items
issue_numbers = list(map(lambda item: item.replace('#', ''), filtered_list))
return issue_numbers
# No linked issues
print(False)
sys.exit(0)
return issue_numbers


def get_linked_issues(issue_numbers: list) -> list:
Expand Down Expand Up @@ -113,10 +111,6 @@ def get_issue_labels(response_list: list) -> list:
if label_name not in combined_issue_labels:
# Add label if it does not exist
combined_issue_labels.append(label_name)
if not combined_issue_labels:
# No labels to return
print(False)
sys.exit(0)
return combined_issue_labels

def update_pr_labels(pull_number: str, combined_issue_labels: list):
Expand Down Expand Up @@ -163,9 +157,11 @@ def is_pr_bugfix(response: Response) -> bool:
response = get_prs_associated_with_commit()
pull_number, pull_body = get_pr_attributes(response)
issue_numbers = search_for_linked_issues(pull_body)
response_list = get_linked_issues(issue_numbers)
combined_issue_labels = get_issue_labels(response_list)
update_pr_labels(pull_number, combined_issue_labels)
if issue_numbers:
response_list = get_linked_issues(issue_numbers)
combined_issue_labels = get_issue_labels(response_list)
if combined_issue_labels:
update_pr_labels(pull_number, combined_issue_labels)

# Check if PR is a bugfix
response = get_pr(pull_number)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
name: Cherrypick bugfixes to release branch
name: Github to Gitlab CI - Run CodeBuild (LTS)

env:
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}

on:
push:
branches:
Expand Down Expand Up @@ -37,32 +42,30 @@ jobs:
# Print the result to the log
- name: See result
run: echo "${{ steps.execute_py_script.outputs.result }}"
release_pull_request:
build:
needs: check_labels
# Only run this step if the code was a bugfix
if: contains(needs.check_labels.outputs.result, 'true')
runs-on: ubuntu-latest
name: release_pull_request
steps:
- name: checkout
uses: actions/[email protected]
# Fetch all info including branches + tags
with:
fetch-depth: 0
- name: 'Get Previous tag'
id: get_latest_tag
uses: "WyriHaximus/github-action-get-previous-tag@v1"
- id: get_short_version
# Get the major / minor version without patch info i.e. 6.0 from 6.0.1
run: |
major_minor=$(echo ${{steps.get_latest_tag.outputs.tag}} | cut -d '.' -f 1,2)
echo "::set-output name=major_minor::$major_minor"
- name: Create PR to branch
uses: adamtharani/github-action-cherry-pick@master
# PR to the latest feature release. Merges are enabled
with:
pr_branch: ${{steps.get_short_version.outputs.major_minor}}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DRY_RUN: false

- uses: actions/checkout@v4
- name: Run script
env:
LTS_VERSION: 9.0.0_LTS # formatted as x.x.x_LTS
BASE_LTS: 9.0
GITHUB_SHA: ${{ secrets.GITHUB_SHA }}
run: |
git config --global user.name "Github_CI"
git config --global user.email "project_14468_bot_3f7d8e1a392afd88ead5f3f3154e809d@noreply.gitlab.com"
git clone https://isis-codebuild-ci:[email protected]/astrogeology/isis-codebuild-ci.git
echo $LTS_VERSION
cd isis-codebuild-ci
if [[ "git ls-remote --exit-code origin $LTS_VERSION" == 2 ]]; then
git checkout -b $LTS_VERSION
else
git checkout $LTS_VERSION
git reset --hard origin/main
fi
echo -e "\nenv: \n shell: bash \n variables: \n LTS_VERSION: $LTS_VERSION \n BASE_LTS: $BASE_LTS \n ANACONDA_API_TOKEN: $ANACONDA_TOKEN \n GITHUB_SHA: $GITHUB_SHA" >> buildspec-lts.yml
git commit -a -m "$LTS_VERSION"
git push origin $LTS_VERSION --force
Loading