Skip to content

Fix conda out of space + pyyaml error (#4340) #1477

Fix conda out of space + pyyaml error (#4340)

Fix conda out of space + pyyaml error (#4340) #1477

name: Build conda package
on:
push:
branches:
- main
pull_request:
types: [ opened, synchronize ]
paths:
- 'pyproject.toml'
- 'evalml/tests/dependency_update_check/*.txt'
- '.github/meta.yaml'
jobs:
build_conda_pkg:
runs-on: ubuntu-latest
steps:
- name: Set up Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Free up space
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
- name: Install Dependencies
run: |
pip install virtualenv
virtualenv test_python -q
source test_python/bin/activate
make installdeps-test
- name: Clone Feedstock, Copy to Container, and Run Update
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
run: |
git clone -b main --single-branch https://github.com/conda-forge/evalml-core-feedstock
cp .github/meta.yaml ./evalml-core-feedstock/recipe/
pip install virtualenv
virtualenv test_python -q
source test_python/bin/activate
mkdir evalml-core-feedstock/evalml
cp -r `ls -A | grep -v "evalml-core-feedstock"` ./evalml-core-feedstock/evalml/
python .github/conda_config.py "$(python -c "import evalml; print(evalml.__version__)")"
cd evalml-core-feedstock
echo "Pre docker login"
echo "${DOCKERHUB_PASSWORD}" | docker login -u "${DOCKERHUB_USER}" --password-stdin
echo "Post docker login"
export DOCKER_CONTAINERID="$(docker run -td condaforge/linux-anvil-cos7-x86_64)"
echo "Created container ${DOCKER_CONTAINERID}"
chmod -R 777 ./
docker cp . "${DOCKER_CONTAINERID}":/home/conda/feedstock_root/
docker cp ./recipe/. "${DOCKER_CONTAINERID}":/home/conda/recipe_root/
echo "COMMITING UPDATED IMAGE"
docker commit "${DOCKER_CONTAINERID}" psalter/build:latest
docker stop "${DOCKER_CONTAINERID}"
export CONFIG=linux_64_
export UPLOAD_PACKAGES=False
export HOST_USER_ID=$(id -u)
export FEEDSTOCK_NAME=evalml-core-feedstock
echo "Running docker"
docker run -t -e CONFIG -e HOST_USER_ID -e UPLOAD_PACKAGES -e GIT_BRANCH -e UPLOAD_ON_BRANCH -e CI -e FEEDSTOCK_NAME -e CPU_COUNT -e BINSTAR_TOKEN -e FEEDSTOCK_TOKEN -e STAGING_BINSTAR_TOKEN psalter/build:latest bash /home/conda/feedstock_root/.scripts/build_steps.sh