Add git config

This commit is contained in:
dsk-minchulahn
2023-08-16 15:55:17 +09:00
parent 8608743c7f
commit 23d373a903
2 changed files with 46 additions and 22 deletions

View File

@@ -4,6 +4,11 @@ from streamlit_js_eval import streamlit_js_eval
from settings import *
from logger import logger
if 'push_button_disabled' not in st.session_state:
st.session_state.push_button_disabled = True
if 'release_button_disabled' not in st.session_state:
st.session_state.release_button_disabled = True
def set_extended_description(edited_df):
json_edited_df = json.loads(edited_df.to_json(orient='records'))
extended_description_value = []
@@ -30,24 +35,31 @@ def show_sidebar(df, edited_df):
with st.sidebar:
st.subheader('Git Push')
with st.expander('Git Push'):
selected_user_name = st.selectbox('User Name', get_user_name_list())
commit_message = st.text_input('Commit Message', value='Update version.json')
extended_description = st.text_area('Extended description', value=set_extended_description(edited_df), height=200)
if st.button(key='push', label='Commit changes'):
if commit_message:
if selected_user_name and commit_message:
st.session_state.push_button_disabled = False
else:
st.session_state.push_button_disabled = True
if st.button(key='push', label='Commit changes', disabled=st.session_state.push_button_disabled):
if selected_user_name and commit_message:
if diff_remote_head():
if df.equals(edited_df):
logger.warning('Git Push - No changes have been made')
logger.warning(f'Git Push - No changes have been made | {selected_user_name}')
st.warning('No changes have been made', icon='⚠️')
else:
set_git_config(selected_user_name)
set_version_json(edited_df)
git_push(commit_message, extended_description)
logger.info('Git Push - Success')
logger.info(f'Git Push - Success | {selected_user_name}')
st.success('Success', icon='')
time.sleep(1)
streamlit_js_eval(js_expressions='parent.window.location.reload()')
else:
logger.error('Git Push - Updates were rejected because the tip of your current branch is behind')
logger.error(f'Git Push - Updates were rejected because the tip of your current branch is behind | {selected_user_name}')
st.error('Updates were rejected because the tip of your current branch is behind', icon='🚨')
st.divider()
@@ -55,7 +67,7 @@ def show_sidebar(df, edited_df):
st.subheader('Draft a new release')
with st.expander('Draft a new release'):
tags = [tag.name for tag in get_tags()]
tags.insert(0, "")
tags.insert(0, '')
new_tag = st.text_input('Create a new tag')
if new_tag:
@@ -68,17 +80,23 @@ def show_sidebar(df, edited_df):
release_title = st.text_input('Release title', value=selected_tag)
release_describe = st.text_area('Describe this release', value='## Production에 변경된 Version')
if st.button(key='release', label='Publish release'):
response = publish_release(selected_tag, release_title, release_describe)
if response.status_code == 201:
logger.info('Publish Release - Release created successfully')
st.success('Release created successfully', icon='')
git_pull()
streamlit_js_eval(js_expressions='parent.window.location.reload()')
else:
logger.error(f'Publish Release - Failed to create release. Status code: {response.status_code}')
logger.error(f'Response: {response.text}')
st.error(f'Failed to create release. Status code: {response.status_code}\n\n Response: {response.text}', icon='🚨')
if selected_tag and release_title and release_describe:
st.session_state.release_button_disabled = False
else:
st.session_state.release_button_disabled = True
if st.button(key='release', label='Publish release', disabled=st.session_state.release_button_disabled):
if selected_tag and release_title and release_describe:
response = publish_release(selected_tag, release_title, release_describe)
if response.status_code == 201:
logger.info(f'Publish Release - Release created successfully | {selected_user_name}')
st.success('Release created successfully', icon='')
git_pull()
streamlit_js_eval(js_expressions='parent.window.location.reload()')
else:
logger.error(f'Publish Release - Failed to create release. Status code: {response.status_code}')
logger.error(f'Response: {response.text} | {selected_user_name}')
st.error(f'Failed to create release. Status code: {response.status_code}\n\n Response: {response.text}', icon='🚨')
st.divider()
st.divider()