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/
|
||||
.conda-env/
|
||||
.circt/
|
||||
.#*
|
||||
first-clone-setup-fast-log
|
||||
.bloop/
|
||||
|
||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -139,3 +139,6 @@
|
||||
[submodule "generators/rocc-acc-utils"]
|
||||
path = generators/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
|
||||
- binutils
|
||||
|
||||
- firtool==1.58.0 # from ucb-bar channel - https://github.com/ucb-bar/firtool-feedstock
|
||||
# firtool handled outside of conda
|
||||
|
||||
# misc
|
||||
- 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 &&
|
||||
conda activate $CYDIR/.conda-env
|
||||
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
|
||||
|
||||
if [ -z "$FORCE_FLAG" ]; then
|
||||
@@ -250,26 +288,6 @@ if run_step "10"; then
|
||||
exit_if_last_command_failed
|
||||
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!"
|
||||
|
||||
} 2>&1 | tee build-setup.log
|
||||
|
||||
Reference in New Issue
Block a user