Install CIRCT outside of conda (add CI to auto-update)
This commit is contained in:
24
.github/workflows/update-circt.yml
vendored
Normal file
24
.github/workflows/update-circt.yml
vendored
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
name: update-circt
|
||||||
|
|
||||||
|
# run weekly
|
||||||
|
on: push
|
||||||
|
# schedule:
|
||||||
|
# - cron: 0 0 * * 1
|
||||||
|
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash -leo pipefail {0}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-circt:
|
||||||
|
name: update-circt
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Update CIRCT
|
||||||
|
uses: circt/update-circt@v1.0.0
|
||||||
|
with:
|
||||||
|
user: 'bartender'
|
||||||
|
email: 'firesimchipyard@gmail.com'
|
||||||
|
pr-reviewers: ''
|
||||||
|
pr-labels: 'changelog:changed'
|
||||||
|
circt-config: './conda-reqs/circt.json'
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -17,6 +17,7 @@ tags
|
|||||||
*~
|
*~
|
||||||
.bsp/
|
.bsp/
|
||||||
.conda-env/
|
.conda-env/
|
||||||
|
.circt/
|
||||||
.#*
|
.#*
|
||||||
first-clone-setup-fast-log
|
first-clone-setup-fast-log
|
||||||
.bloop/
|
.bloop/
|
||||||
|
|||||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -139,3 +139,6 @@
|
|||||||
[submodule "generators/rocc-acc-utils"]
|
[submodule "generators/rocc-acc-utils"]
|
||||||
path = generators/rocc-acc-utils
|
path = generators/rocc-acc-utils
|
||||||
url = https://github.com/ucb-bar/rocc-acc-utils
|
url = https://github.com/ucb-bar/rocc-acc-utils
|
||||||
|
[submodule "conda-reqs/install-circt"]
|
||||||
|
path = conda-reqs/install-circt
|
||||||
|
url = https://github.com/circt/install-circt/
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ dependencies:
|
|||||||
- conda-gcc-specs
|
- conda-gcc-specs
|
||||||
- binutils
|
- binutils
|
||||||
|
|
||||||
- firtool==1.58.0 # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock
|
# firtool handled outside of conda
|
||||||
|
|
||||||
# misc
|
# misc
|
||||||
- autoconf
|
- autoconf
|
||||||
|
|||||||
3
conda-reqs/circt.json
Normal file
3
conda-reqs/circt.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"version": "firtool-1.58.0"
|
||||||
|
}
|
||||||
1
conda-reqs/install-circt
Submodule
1
conda-reqs/install-circt
Submodule
Submodule conda-reqs/install-circt added at 3f8dda6e1c
@@ -152,6 +152,44 @@ if run_step "1"; then
|
|||||||
source $CYDIR/.conda-env/etc/profile.d/conda.sh &&
|
source $CYDIR/.conda-env/etc/profile.d/conda.sh &&
|
||||||
conda activate $CYDIR/.conda-env
|
conda activate $CYDIR/.conda-env
|
||||||
exit_if_last_command_failed
|
exit_if_last_command_failed
|
||||||
|
|
||||||
|
# Conda Setup
|
||||||
|
# Provide a sourceable snippet that can be used in subshells that may not have
|
||||||
|
# inhereted conda functions that would be brought in under a login shell that
|
||||||
|
# has run conda init (e.g., VSCode, CI)
|
||||||
|
read -r -d '\0' CONDA_ACTIVATE_PREAMBLE <<'END_CONDA_ACTIVATE'
|
||||||
|
if ! type conda >& /dev/null; then
|
||||||
|
echo "::ERROR:: you must have conda in your environment first"
|
||||||
|
return 1 # don't want to exit here because this file is sourced
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if we're sourcing this in a sub process that has conda in the PATH but not as a function, init it again
|
||||||
|
conda activate --help >& /dev/null || source $(conda info --base)/etc/profile.d/conda.sh
|
||||||
|
\0
|
||||||
|
END_CONDA_ACTIVATE
|
||||||
|
|
||||||
|
replace_content env.sh build-setup-conda "# line auto-generated by $0
|
||||||
|
$CONDA_ACTIVATE_PREAMBLE
|
||||||
|
conda activate $CYDIR/.conda-env
|
||||||
|
source $CYDIR/scripts/fix-open-files.sh"
|
||||||
|
|
||||||
|
# install circt
|
||||||
|
CIRCT_INSTALL_DIR=$CYDIR/.circt
|
||||||
|
rm -rf $CIRCT_INSTALL_DIR
|
||||||
|
$CYDIR/conda-reqs/install-circt/bin/download-release-or-nightly-circt.sh \
|
||||||
|
-f circt-full-shared-linux-x64.tar.gz \
|
||||||
|
-i $CIRCT_INSTALL_DIR \
|
||||||
|
-x $CYDIR/conda-reqs/circt.json \
|
||||||
|
-g null
|
||||||
|
|
||||||
|
replace_content env.sh build-setup-circt "# line auto-generated by $0
|
||||||
|
if [ -d "${CIRCT_INSTALL_DIR}/bin" ] && [[ ":$PATH:" != *":${CIRCT_INSTALL_DIR}/bin:"* ]]; then
|
||||||
|
PATH="${PATH:+"$PATH:"}${CIRCT_INSTALL_DIR}/bin"
|
||||||
|
fi
|
||||||
|
if [ -d "${CIRCT_INSTALL_DIR}/lib" ] && [[ ":$LD_LIBRARY_PATH:" != *":${CIRCT_INSTALL_DIR}/lib:"* ]]; then
|
||||||
|
LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+"$LD_LIBRARY_PATH:"}${CIRCT_INSTALL_DIR}/lib"
|
||||||
|
fi
|
||||||
|
"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$FORCE_FLAG" ]; then
|
if [ -z "$FORCE_FLAG" ]; then
|
||||||
@@ -250,26 +288,6 @@ if run_step "10"; then
|
|||||||
exit_if_last_command_failed
|
exit_if_last_command_failed
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Conda Setup
|
|
||||||
# Provide a sourceable snippet that can be used in subshells that may not have
|
|
||||||
# inhereted conda functions that would be brought in under a login shell that
|
|
||||||
# has run conda init (e.g., VSCode, CI)
|
|
||||||
read -r -d '\0' CONDA_ACTIVATE_PREAMBLE <<'END_CONDA_ACTIVATE'
|
|
||||||
if ! type conda >& /dev/null; then
|
|
||||||
echo "::ERROR:: you must have conda in your environment first"
|
|
||||||
return 1 # don't want to exit here because this file is sourced
|
|
||||||
fi
|
|
||||||
|
|
||||||
# if we're sourcing this in a sub process that has conda in the PATH but not as a function, init it again
|
|
||||||
conda activate --help >& /dev/null || source $(conda info --base)/etc/profile.d/conda.sh
|
|
||||||
\0
|
|
||||||
END_CONDA_ACTIVATE
|
|
||||||
|
|
||||||
replace_content env.sh build-setup "# line auto-generated by $0
|
|
||||||
$CONDA_ACTIVATE_PREAMBLE
|
|
||||||
conda activate $CYDIR/.conda-env
|
|
||||||
source $CYDIR/scripts/fix-open-files.sh"
|
|
||||||
|
|
||||||
echo "Setup complete!"
|
echo "Setup complete!"
|
||||||
|
|
||||||
} 2>&1 | tee build-setup.log
|
} 2>&1 | tee build-setup.log
|
||||||
|
|||||||
Reference in New Issue
Block a user