Commit 0a59e33a authored by Watchtek's avatar Watchtek
Browse files

Change user input and release compressed file

parent e4278302
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