Unverified Commit 8e8ef4dd authored by Christine Kim's avatar Christine Kim Committed by GitHub
Browse files

Update LTS Pipeline (#5714)

* Add lts workflow

* Set versions to 9.0
parent 3aa6d786
Loading
Loading
Loading
Loading
+8 −12
Original line number Diff line number Diff line
@@ -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)
@@ -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:
@@ -76,9 +77,6 @@ def search_for_linked_issues(pull_body: str) -> 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)


def get_linked_issues(issue_numbers: list) -> list:
@@ -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):
@@ -163,8 +157,10 @@ if __name__ == "__main__":
        response = get_prs_associated_with_commit()
        pull_number, pull_body = get_pr_attributes(response)
        issue_numbers = search_for_linked_issues(pull_body)
        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
+28 −25
Original line number Diff line number Diff line
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:
@@ -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/checkout@v2.2.0
      # 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}}
      - uses: actions/checkout@v4
      - name: Run script
        env:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        DRY_RUN: false
          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:$GITLAB_TOKEN@code.usgs.gov/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
 No newline at end of file