From eb977c5cf2aa50f381190ff6006377d358da3d25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Roy?= <303593+remyroy@users.noreply.github.com> Date: Tue, 17 Sep 2024 11:51:04 -0400 Subject: [PATCH] Remove unused circleci stuff (#150) * Remove unused circleci stuff * Replace circleci build config with github one in readme --- .circleci/config.yml | 312 ------------------------------------------- README.md | 2 +- 2 files changed, 1 insertion(+), 313 deletions(-) delete mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 9515c2ef..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,312 +0,0 @@ -version: 2.1 - -tox_common: &tox_common - working_directory: ~/repo - steps: - - checkout - - restore_cache: - key: tox-deps4-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }} - - run: - name: install dependencies - command: pip install tox - - run: - name: run tox - command: tox - - save_cache: - paths: - - .tox - - ./eggs - key: tox-deps4-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }} - -orbs: - win: circleci/windows@5.0 # The Windows orb give you everything you need to start using the Windows executor. - -jobs: - # Job(s) with Linux OS - venv_build: - docker: - - image: cimg/python:3.12 - working_directory: ~/repo - steps: - - checkout - - restore_cache: - key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}-v3 - - run: - name: Install requirements in venv - command: make venv_build_test - - save_cache: - key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}-v3 - paths: - - ./venv - venv_pytest: - docker: - - image: cimg/python:3.12 - working_directory: ~/repo - steps: - - checkout - - restore_cache: - key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}-v3 - - run: - name: Run tests with venv - command: make venv_test - - store_artifacts: - path: test-reports/ - destination: tr1 - - store_test_results: - path: test-reports/ - venv_lint: - docker: - - image: cimg/python:3.12 - working_directory: ~/repo - steps: - - checkout - - restore_cache: - key: venv-deps2-{{ arch }}-{{ .Branch }}-{{ checksum "requirements.txt" }}-{{ checksum "requirements_test.txt" }}-{{ checksum "setup.py" }}-{{ checksum "Makefile" }}-v3 - - run: - name: Run linter with venv - command: make venv_lint - tox-py312-core: - <<: *tox_common - docker: - - image: cimg/python:3.12 - environment: - TOXENV: py312-core - tox-py312-script: - <<: *tox_common - docker: - - image: cimg/python:3.12 - environment: - TOXENV: py312-script - # Job(s) with Windows OS - win-py312-script: - executor: - name: win/default - shell: powershell.exe - steps: - - checkout - - run: - name: "Install Python" - command: choco install python --version=3.12.2 -y - - run: - name: Install testing requirements on Windows - command: python -m pip install -r requirements_test.txt - - run: - name: Run deposit script on Windows" - command: python ./test_deposit_script.py - - run: - name: Run btec script on Windows" - command: python ./test_btec_script.py - build-linux-amd64: - machine: - image: ubuntu-2204:2024.01.1 - working_directory: ~/repo - steps: - - checkout - - run: - name: Install building requirements on Linux - command: | - env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.1; - pyenv global 3.12.1; - pip install -r ./build_configs/linux/requirements.txt; - - run: - name: Build with build.spec - command: | - export PYTHONHASHSEED=42 - export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) - export BUILD_FILE_NAME=ethstaker_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64; - mkdir ${BUILD_FILE_NAME}; - pyenv global 3.12.1; - pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; - - run: - name: Test executable binaries - command: | - export PYTHONHASHSEED=42 - export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) - export BUILD_FILE_NAME=ethstaker_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64; - export TEST_FOLDER_NAME=TMP_TEST_FOLDER - mkdir ${TEST_FOLDER_NAME} - cp -r ${BUILD_FILE_NAME} ${TEST_FOLDER_NAME} - cp test_binary_deposit_script.py ${TEST_FOLDER_NAME} - cp test_binary_btec_script.py ${TEST_FOLDER_NAME} - cd ${TEST_FOLDER_NAME} - python test_binary_deposit_script.py ./${BUILD_FILE_NAME}; - python test_binary_btec_script.py ./${BUILD_FILE_NAME}; - - run: - name: Compress the file - command: | - export PYTHONHASHSEED=42 - export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) - export BUILD_FILE_NAME=ethstaker_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64; - tar -zcvf ${BUILD_FILE_NAME}.tar.gz ./${BUILD_FILE_NAME}; - mkdir /tmp/artifacts; - cp ${BUILD_FILE_NAME}.tar.gz /tmp/artifacts; - sha256sum ${BUILD_FILE_NAME}.tar.gz | head -c 64 > /tmp/artifacts/${BUILD_FILE_NAME}.sha256 - - store_artifacts: - path: /tmp/artifacts - build-linux-arm64: - machine: - image: ubuntu-2204:2024.01.1 - resource_class: arm.medium - working_directory: ~/repo - steps: - - checkout - - run: - name: Install building requirements on Linux ARM64 - command: | - env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install -f 3.12.1; - pyenv global 3.12.1; - pip install -r ./build_configs/linux/requirements.txt; - - run: - name: Build with build.spec - command: | - export PYTHONHASHSEED=42 - export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) - export BUILD_FILE_NAME=ethstaker_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-arm64; - mkdir ${BUILD_FILE_NAME}; - pyenv global 3.12.1; - pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; - - run: - name: Test executable binaries - command: | - export PYTHONHASHSEED=42 - export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) - export BUILD_FILE_NAME=ethstaker_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-arm64; - export TEST_FOLDER_NAME=TMP_TEST_FOLDER - mkdir ${TEST_FOLDER_NAME} - cp -r ${BUILD_FILE_NAME} ${TEST_FOLDER_NAME} - cp test_binary_deposit_script.py ${TEST_FOLDER_NAME} - cp test_binary_btec_script.py ${TEST_FOLDER_NAME} - cd ${TEST_FOLDER_NAME} - python test_binary_deposit_script.py ./${BUILD_FILE_NAME}; - python test_binary_btec_script.py ./${BUILD_FILE_NAME}; - - run: - name: Compress the file - command: | - export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) - export BUILD_FILE_NAME=ethstaker_deposit-cli-${CIRCLE_SHORT_SHA1}-linux-arm64; - tar -zcvf ${BUILD_FILE_NAME}.tar.gz ./${BUILD_FILE_NAME}; - mkdir /tmp/artifacts; - cp ${BUILD_FILE_NAME}.tar.gz /tmp/artifacts; - sha256sum ${BUILD_FILE_NAME}.tar.gz | head -c 64 > /tmp/artifacts/${BUILD_FILE_NAME}.sha256 - - store_artifacts: - path: /tmp/artifacts - build-windows: - executor: - name: win/default - shell: powershell.exe - steps: - - checkout - - run: - name: "Install Python" - command: choco install python --version=3.12.2 -y - - run: - name: Install building requirements on Windows - command: pip install -r ./build_configs/windows/requirements.txt - - run: - name: Build with build.spec - command: | - $PYTHONHASHSEED = 42 - $CIRCLE_SHORT_SHA1 = $env:CIRCLE_SHA1.substring(0,7) - $BUILD_FILE_NAME = "ethstaker_deposit-cli-" + $CIRCLE_SHORT_SHA1 + "-windows-amd64" - mkdir $BUILD_FILE_NAME - $BUILD_FILE_NAME_PATH = ".\" + $BUILD_FILE_NAME - pyinstaller --distpath $BUILD_FILE_NAME_PATH .\build_configs\windows\build.spec - - run: - name: Test executable binaries - command: | - $PYTHONHASHSEED = 42 - $CIRCLE_SHORT_SHA1 = $env:CIRCLE_SHA1.substring(0,7) - $BUILD_FILE_NAME = "ethstaker_deposit-cli-" + $CIRCLE_SHORT_SHA1 + "-windows-amd64" - $TEST_FOLDER_NAME = "TMP_TEST_FOLDER" - mkdir ${TEST_FOLDER_NAME} - Copy-item ${BUILD_FILE_NAME} -destination ${TEST_FOLDER_NAME} -recurse - copy test_binary_deposit_script.py ${TEST_FOLDER_NAME} - copy test_binary_btec_script.py ${TEST_FOLDER_NAME} - cd ${TEST_FOLDER_NAME} - python test_binary_deposit_script.py ${BUILD_FILE_NAME} - python test_binary_btec_script.py ${BUILD_FILE_NAME} - - run: - name: Compress the file - command: | - $PYTHONHASHSEED = 42 - $CIRCLE_SHORT_SHA1 = $env:CIRCLE_SHA1.substring(0,7) - $BUILD_FILE_NAME = "ethstaker_deposit-cli-" + $CIRCLE_SHORT_SHA1 + "-windows-amd64" - $BUILD_FILE_NAME_PATH = ".\" + $BUILD_FILE_NAME - $ZIP_FILE_NAME = $BUILD_FILE_NAME + ".zip" - Compress-Archive -Path $BUILD_FILE_NAME_PATH -DestinationPath $ZIP_FILE_NAME - mkdir \tmp\artifacts - copy $ZIP_FILE_NAME \tmp\artifacts\ - $CHECKSUM_FILE_NAME_PASH = "\tmp\artifacts\" + $BUILD_FILE_NAME + ".sha256" - certUtil -hashfile $ZIP_FILE_NAME SHA256 | findstr /i /v "SHA256" | findstr /i /v "CertUtil" > $CHECKSUM_FILE_NAME_PASH - - store_artifacts: - path: /tmp/artifacts - build-macos: - macos: - xcode: 15.1.0 - working_directory: ~/repo - steps: - - run: xcodebuild -version - - run: python3 --version - - checkout - - run: - name: Install building requirements on MacOS - command: pip3 install -r ./build_configs/macos/requirements.txt - - run: - name: Build with build.spec - command: | - export PYTHONHASHSEED=42 - export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) - export BUILD_FILE_NAME=ethstaker_deposit-cli-${CIRCLE_SHORT_SHA1}-darwin-amd64; - mkdir ${BUILD_FILE_NAME}; - pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/macos/build.spec; - - run: - name: Test executable binaries - command: | - export PYTHONHASHSEED=42 - export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) - export BUILD_FILE_NAME=ethstaker_deposit-cli-${CIRCLE_SHORT_SHA1}-darwin-amd64; - export TEST_FOLDER_NAME=TMP_TEST_FOLDER - mkdir ${TEST_FOLDER_NAME} - cp -r ${BUILD_FILE_NAME} ${TEST_FOLDER_NAME} - cp test_binary_deposit_script.py ${TEST_FOLDER_NAME} - cp test_binary_btec_script.py ${TEST_FOLDER_NAME} - cd ${TEST_FOLDER_NAME} - python3 test_binary_deposit_script.py ./${BUILD_FILE_NAME}; - python3 test_binary_btec_script.py ./${BUILD_FILE_NAME}; - - run: - name: Compress the file - command: | - export PYTHONHASHSEED=42 - export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) - export BUILD_FILE_NAME=ethstaker_deposit-cli-${CIRCLE_SHORT_SHA1}-darwin-amd64; - tar -zcvf ${BUILD_FILE_NAME}.tar.gz ./${BUILD_FILE_NAME}; - mkdir /tmp/artifacts; - cp ${BUILD_FILE_NAME}.tar.gz /tmp/artifacts; - shasum -a 256 ${BUILD_FILE_NAME}.tar.gz | head -c 64 > /tmp/artifacts/${BUILD_FILE_NAME}.sha256 - - store_artifacts: - path: /tmp/artifacts - -workflows: - version: 2.1 - all_test: - jobs: - - venv_build - - venv_pytest: - requires: - - venv_build - - venv_lint: - requires: - - venv_build - - tox-py312-core - - tox-py312-script - - win-py312-script - build_linux: - jobs: - - build-linux-amd64 - - build-linux-arm64 - build_windows: - jobs: - - build-windows - build_macos: - jobs: - - build-macos diff --git a/README.md b/README.md index 5a8ee05a..6ec7869a 100644 --- a/README.md +++ b/README.md @@ -723,7 +723,7 @@ pre-commit install ### Building Binaries **Developers Only** -ethstaker-deposit uses `pyinstaller` to create binaries. The requirements are in `build_configs`. Look at `.circleci/config.yml` to see it in action. +ethstaker-deposit uses `pyinstaller` to create binaries. The requirements are in `build_configs`. Look at `.github/workflows/build.yml` to see it in action. For example Linux, in your Python virtual environment: ```sh