Commit 32d7c584 authored by Watchtek's avatar Watchtek
Browse files

Merge branch 'dev' into 'main'

Change user input and release compressed file

See merge request !16
parents e4278302 0a59e33a
Loading
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -43,8 +43,11 @@ variables:
    - |
      if [ "$TARGET_OS" = "windows" ]; then
        mv dist/$DIST_FILE "${BINARY_NAME}_${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHORT_SHA}_${TS}_${TARGET_OS}_amd64.exe"
        zip -v ${BINARY_NAME}.zip "${BINARY_NAME}_${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHORT_SHA}_${TS}_${TARGET_OS}_amd64.exe"
      else
        chmod +x dist/$DIST_FILE
        mv dist/$DIST_FILE "${BINARY_NAME}_${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHORT_SHA}_${TS}_${TARGET_OS}_amd64"
        tar czvf ${BINARY_NAME}.tar.gz "${BINARY_NAME}_${CI_COMMIT_REF_NAME}_${CI_COMMIT_SHORT_SHA}_${TS}_${TARGET_OS}_amd64"
      fi
  artifacts:
    paths:
@@ -66,6 +69,12 @@ windows_bin:
  image:
    name: batonogov/pyinstaller-windows:latest
    entrypoint: ['']
  before_script:
    - apt-get update && apt-get install -y zip
  artifacts:
    paths:
      - "${BINARY_NAME}_*"
      - "${BINARY_NAME}.zip"
  variables:
    TARGET_OS: "windows"
    DIST_FILE: "${BINARY_NAME}.exe"
@@ -75,6 +84,10 @@ linux_slim_bin:
  image:
    name: batonogov/pyinstaller-linux:latest-slim
    entrypoint: ['']
  artifacts:
    paths:
      - "${BINARY_NAME}_*"
      - "${BINARY_NAME}.tar.gz"
  variables:
    TARGET_OS: "linux"
    DIST_FILE: "${BINARY_NAME}"
+49 −12
Original line number Diff line number Diff line
@@ -23,13 +23,49 @@ class MultipleTest(unittest.TestCase):
    def _get_user_inputs(self):
        """Helper method to get user inputs and set up initial configuration."""
        # Test case user input
        # while True:
        #     # Linux Only
        if sys.platform.startswith('linux'): # Check if the operating system is Linux
            chrome_path = "/usr/bin/google-chrome-stable"
            if os.path.exists(chrome_path) and os.path.isfile(chrome_path):
                self.binary_location = chrome_path
                print("크롬이 이미 설치되어 있습니다.\n다음 입력으로 넘어갑니다.\n")
            else:
                print("크롬 설치후 스크립트 재실행 바랍니다.\n스크립트를 종료합니다\n")
                sys.exit(1)

        else: # is Windows
            chrome_path = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
            if os.path.exists(chrome_path) and os.path.isfile(chrome_path):
                print("기존에 설치된 크롬을 사용하시겠습니까? (y/N): ")
                ans = input().strip().lower()
                if ans in ("y", "yes"):
                    self.binary_location = chrome_path
                else:
                    print("크롬 드라이버 위치를 절대경로로 입력해 주세요")
                    print("1. [필수 입력] Chrome 위치 (e.g., D:\\tmp\\chrome-win64\\chrome.exe): ")
                    while True:
                        chrome_path = input().strip()

                        if not chrome_path:
                            print("잘못 입력하였습니다. 다시 입력해주세요.\n")

                        if os.path.exists(chrome_path) and os.path.isfile(chrome_path):
                            self.binary_location = chrome_path
                            break

                        print(f"입력한 경로가 존재하지 않거나 파일이 아닙니다: {chrome_path}")
                        print("다시 입력해주세요.\n")

            else:
                print("크롬이 설치되어 있지 않습니다")
                print("크롬 드라이버 위치를 절대경로로 입력해 주세요")
                print("1. [필수 입력] Chrome 위치 (e.g., D:\\tmp\\chrome-win64\\chrome.exe): ")
                while True:
            print("1. [필수 입력] Chrome 위치 (e.g., /opt/chrome-linux64/chrome, D:\\tmp\\chrome-win64\\chrome.exe): ")
                    chrome_path = input().strip()

                    if not chrome_path:
                        print("잘못 입력하였습니다. 다시 입력해주세요.\n")
                continue

                    if os.path.exists(chrome_path) and os.path.isfile(chrome_path):
                        self.binary_location = chrome_path
@@ -48,7 +84,7 @@ class MultipleTest(unittest.TestCase):

        self.account_configs = []
        print("\n3. [필수 입력] 계정유형(1-어드민,2-(지역)관리자,3-사용자) / 계정 접속정보")
        print("형식 예시: 1 / admin, admin")
        print("입력 예시: 1 / admin, admin")

        while True:
            user_input = input("").strip()
@@ -83,6 +119,7 @@ class MultipleTest(unittest.TestCase):


        print("\n5. [선택] 커넥션 수 / 테스트 시간(분)(기본값: 30개 / 120분)")
        print("입력 예시: 30 / 120")
        try:
            pool_input = input().strip().split('/')
            self.max_connections = int(pool_input[0].strip()) if pool_input[0].strip() else 30
+1 −1
Original line number Diff line number Diff line
selenium==4.36.0
urllib3==2.5.0
urllib3==2.6.3
requests==2.32.5
 No newline at end of file
+4 −2
Original line number Diff line number Diff line
@@ -43,6 +43,8 @@ mkdir -p release_files

echo "🔍 Collecting build artifacts for commit $CI_COMMIT_SHORT_SHA ..."
cp ./*_"${CI_COMMIT_SHORT_SHA}"_* release_files/ 2>/dev/null || true
cp ./"${BINARY_NAME}.zip" release_files/ 2>/dev/null || true
cp ./"${BINARY_NAME}.tar.gz" release_files/ 2>/dev/null || true

if [ -z "$(ls -A release_files 2>/dev/null)" ]; then
    echo "❌ No artifacts found matching pattern '*_${CI_COMMIT_SHORT_SHA}_*'"
@@ -81,14 +83,14 @@ for f in release_files/*; do
      sha_file="${f}.sha256"
      sha256sum "$f" > "$sha_file"

      upload_and_add_json "$f" "Windows binary"
      upload_and_add_json "${BINARY_NAME}.zip" "Windows binary (Compressed)"
      upload_and_add_json "$sha_file" "Windows binary checksum"
      ;;
    *linux_amd64)
      sha_file="${f}.sha256"
      sha256sum "$f" > "$sha_file"

      upload_and_add_json "$f" "Linux binary"
      upload_and_add_json "${BINARY_NAME}.tar.gz" "Linux binary (Compressed)"
      upload_and_add_json "$sha_file" "Linux binary checksum"
      ;;
  esac