diff --git a/.circleci/config.yml b/.circleci/config.yml index 408fe92..86cc0cf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -103,17 +103,35 @@ jobs: name: Run deposit script on Windows" command: python ./test_deposit_script.py build-linux: - docker: - - image: circleci/python:3.7 + machine: + image: ubuntu-1604:202007-01 working_directory: ~/repo steps: - checkout - run: name: Install building requirements on Linux - command: pip install -r ./build_configs/linux/requirements.txt + command: | + env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.5; + pyenv global 3.7.5; + pip install -r ./build_configs/linux/requirements.txt; - run: name: Build with build.spec - command: pyinstaller ./build_configs/linux/build.spec + command: | + export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) + export BUILD_FILE_NAME=eth2deposit-cli-${CIRCLE_SHORT_SHA1}-linux-amd64; + mkdir ${BUILD_FILE_NAME}; + pyenv global 3.7.5; + pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/linux/build.spec; + - run: + name: Compress the file + command: | + export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) + export BUILD_FILE_NAME=eth2deposit-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; + - store_artifacts: + path: /tmp/artifacts build-windows: executor: name: win/default @@ -125,10 +143,28 @@ jobs: command: pip install -r ./build_configs/windows/requirements.txt - run: name: Build with build.spec - command: pyinstaller ./build_configs/windows/build.spec + command: | + $CIRCLE_SHORT_SHA1 = $env:CIRCLE_SHA1.substring(0,7) + $BUILD_FILE_NAME = "eth2deposit-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: Compress the file + command: | + $CIRCLE_SHORT_SHA1 = $env:CIRCLE_SHA1.substring(0,7) + $BUILD_FILE_NAME = "eth2deposit-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\ + - store_artifacts: + path: /tmp/artifacts build-macos: macos: - xcode: 11.3.0 + xcode: 11.3.0 + working_directory: ~/repo steps: - run: xcodebuild -version - run: python3 --version @@ -138,7 +174,22 @@ jobs: command: pip3 install -r ./build_configs/macos/requirements.txt - run: name: Build with build.spec - command: pyinstaller ./build_configs/macos/build.spec + command: | + export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) + export BUILD_FILE_NAME=eth2deposit-cli-${CIRCLE_SHORT_SHA1}-darwin-amd64; + mkdir ${BUILD_FILE_NAME}; + pyinstaller --distpath ./${BUILD_FILE_NAME} ./build_configs/macos/build.spec; + - run: + name: Compress the file + command: | + export CIRCLE_SHORT_SHA1=$(eval echo $CIRCLE_SHA1 | cut -c -7) + export BUILD_FILE_NAME=eth2deposit-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; + - store_artifacts: + path: /tmp/artifacts + workflows: version: 2.1 all_test: