Skip to content

Commit

Permalink
Update LTS Pipeline (#5714)
Browse files Browse the repository at this point in the history
* Add lts workflow

* Set versions to 9.0
  • Loading branch information
chkim-usgs authored Jan 24, 2025
1 parent 3aa6d78 commit 8e8ef4d
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 37 deletions.
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

0 comments on commit 8e8ef4d

Please sign in to comment.