diff --git a/.github/workflows/TC-version-update.yml b/.github/workflows/TC-version-update.yml new file mode 100644 index 00000000..31170063 --- /dev/null +++ b/.github/workflows/TC-version-update.yml @@ -0,0 +1,39 @@ +name: TC version update + +# Controls when the action will run. +on: + push: + branches: + - 'TC-*' + - 'TC_*' + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# setup python and run script +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: checkout repo content + uses: actions/checkout@v2 # checkout the repository content + + - name: setup python + uses: actions/setup-python@v4 + with: + python-version: '3.10' # install the python version needed + + - name: install python packages + run: | + python -m pip install --upgrade pip + pip install pyyaml + + - name: execute py script # run main.py + run: python ./scripts/release_publish.py -b + + - name: Add & Commit + uses: EndBug/add-and-commit@v9 + with: + committer_name: GitHub Actions Bot + committer_email: ActionBot@github.com + message: auto-generated file update of TC version by GitHub Actions \ No newline at end of file diff --git a/scripts/release_publish.py b/scripts/release_publish.py index 86adfa52..cf93aa75 100644 --- a/scripts/release_publish.py +++ b/scripts/release_publish.py @@ -28,6 +28,13 @@ def get_new_release_version_from_branch_name() -> str: return git_branch +def modify_TC_branch_name_to_version(git_branch): + if git_branch.startswith('TC-'): + version = git_branch.lstrip('TC-') + elif git_branch.startswith('TC_'): + version = git_branch.lstrip('TC_') + return version + def create_files_to_update_list(config): files_to_update = [] for filename, replacements in config.items(): @@ -135,6 +142,8 @@ def main(): new_release_version = args.version elif args.branch: new_release_version = get_new_release_version_from_branch_name() + if new_release_version.startswith('TC'): + new_release_version = modify_TC_branch_name_to_version(new_release_version) else: parser.error('No new release version specified. Please use either -v or -b to specify the new release version.')