Merge pull request #1555 from ucb-bar/faster-conda-lockfile-install
Bump lockfiles | Force user-installed conda during conda-lock
This commit is contained in:
4
.github/actions/create-conda-env/action.yml
vendored
4
.github/actions/create-conda-env/action.yml
vendored
@@ -10,8 +10,8 @@ runs:
|
||||
else
|
||||
echo "Creating a conda environment for each toolchain with the toolchain installed"
|
||||
conda activate base
|
||||
conda-lock install -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools ./conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml
|
||||
conda-lock install -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools ./conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml
|
||||
conda-lock install --conda $(which conda) -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools ./conda-reqs/conda-lock-reqs/conda-requirements-riscv-tools-linux-64.conda-lock.yml
|
||||
conda-lock install --conda $(which conda) -n ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-esp-tools ./conda-reqs/conda-lock-reqs/conda-requirements-esp-tools-linux-64.conda-lock.yml
|
||||
conda deactivate
|
||||
|
||||
echo "Add extra toolchain collateral to RISC-V install area"
|
||||
|
||||
7
.github/scripts/install-conda.sh
vendored
7
.github/scripts/install-conda.sh
vendored
@@ -145,15 +145,16 @@ else
|
||||
$SUDO bash ./install_conda.sh -b -p "$CONDA_INSTALL_PREFIX" $conda_install_extra
|
||||
rm ./install_conda.sh
|
||||
|
||||
# get most up-to-date conda version
|
||||
"${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" update $DRY_RUN_OPTION -y -n base -c conda-forge conda
|
||||
|
||||
# see https://conda-forge.org/docs/user/tipsandtricks.html#multiple-channels
|
||||
# for more information on flexible channel_priority
|
||||
"${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set channel_priority flexible
|
||||
# By default, don't mess with people's PS1, I personally find it annoying
|
||||
"${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set changeps1 false
|
||||
# don't automatically activate the 'base' environment when intializing shells
|
||||
# don't automatically activate the 'base' environment when initializing shells
|
||||
"${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set auto_activate_base false
|
||||
# don't automatically update conda to avoid https://github.com/conda-forge/conda-libmamba-solver-feedstock/issues/2
|
||||
"${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --set auto_update_conda false
|
||||
# automatically use the ucb-bar channel for specific packages https://anaconda.org/ucb-bar/repo
|
||||
"${DRY_RUN_ECHO[@]}" $SUDO "$CONDA_EXE" config --system --add channels ucb-bar
|
||||
|
||||
|
||||
@@ -23,8 +23,8 @@ dependencies:
|
||||
# bundle FireSim driver with deps into installer shell-script
|
||||
- constructor
|
||||
|
||||
- gcc
|
||||
- gxx
|
||||
- gcc<13
|
||||
- gxx<13
|
||||
- sysroot_linux-64=2.17 # needed to match pre-built CI XRT glibc version
|
||||
- conda-gcc-specs
|
||||
- binutils
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -34,6 +34,13 @@ After Conda is installed and is on your ``PATH``, we need to install a version o
|
||||
For this you can use the system package manager like ``yum`` or ``apt`` to install ``git``.
|
||||
This ``git`` is only used to first checkout the repository, we will later install a newer version of ``git`` with Conda.
|
||||
|
||||
Next, we install `libmamba <https://www.anaconda.com/blog/a-faster-conda-for-a-growing-community>`__ for much faster dependency solving when initially setting up the repository.
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
conda install -n base conda-libmamba-solver
|
||||
conda config --set solver libmamba
|
||||
|
||||
Finally we need to install ``conda-lock`` into the ``base`` conda environment.
|
||||
This is done by the following:
|
||||
|
||||
@@ -42,7 +49,6 @@ This is done by the following:
|
||||
conda install -n base conda-lock=1.4
|
||||
conda activate base
|
||||
|
||||
.. Note:: We also recommended switching to `libmamba <https://www.anaconda.com/blog/a-faster-conda-for-a-growing-community>`__ for much faster dependency solving.
|
||||
|
||||
Setting up the Chipyard Repo
|
||||
-------------------------------------------
|
||||
|
||||
@@ -123,7 +123,7 @@ if run_step "1"; then
|
||||
fi
|
||||
|
||||
# use conda-lock to create env
|
||||
conda-lock install -p $CYDIR/.conda-env $LOCKFILE
|
||||
conda-lock install --conda $(which conda) -p $CYDIR/.conda-env $LOCKFILE
|
||||
|
||||
source $CYDIR/.conda-env/etc/profile.d/conda.sh
|
||||
conda activate $CYDIR/.conda-env
|
||||
|
||||
@@ -14,5 +14,5 @@ for TOOLCHAIN_TYPE in riscv-tools esp-tools; do
|
||||
# note: lock file must end in .conda-lock.yml - see https://github.com/conda-incubator/conda-lock/issues/154
|
||||
LOCKFILE=$REQS_DIR/conda-lock-reqs/conda-requirements-$TOOLCHAIN_TYPE-linux-64.conda-lock.yml
|
||||
|
||||
conda-lock -f "$REQS_DIR/chipyard.yaml" -f "$REQS_DIR/$TOOLCHAIN_TYPE.yaml" -p linux-64 --lockfile $LOCKFILE
|
||||
conda-lock --conda $(which conda) -f "$REQS_DIR/chipyard.yaml" -f "$REQS_DIR/$TOOLCHAIN_TYPE.yaml" -p linux-64 --lockfile $LOCKFILE
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user