    // The current branch or the branch this PR will merge into
    def TARGET_BRANCH = env.CHANGE_TARGET ? env.CHANGE_TARGET : env.BRANCH_NAME
    // such as d2l-en-master
    def TASK = REPO_NAME + '-' + TARGET_BRANCH
    node {
      ws("workspace/${TASK}") {
        checkout scm
        // conda environment
        def ENV_NAME = "${TASK}-${EXECUTOR_NUMBER}";
  
 
</s> remove     'jupyter',
    'numpy',
    'matplotlib',
    'requests',
    'pandas'
 </s> add     'jupyter==1.0.0',
    'numpy==1.22.2',
    'matplotlib==3.4',
    'requests==2.25.1',
    'pandas==1.2.4' </s> remove     - tensorflow==2.3.1
    - tensorflow-probability==0.11.1
 </s> add     - tensorflow==2.8.0
    - tensorflow-probability==0.16.0 </s> remove     - torchvision==0.9.1+cu101
 </s> add     - torchvision==0.11.3+cu102 </s> remove     - mxnet-cu101==1.7.0
    - torch==1.8.1+cu101
 </s> add     - mxnet-cu102==1.7.0
    - torch==1.10.2+cu102 </s> remove     - d2l==0.17.3
 </s> add     - d2l==0.17.4
  node('d2l-worker') {
    // The current branch or the branch this PR will merge into
    def TARGET_BRANCH = env.CHANGE_TARGET ? env.CHANGE_TARGET : env.BRANCH_NAME
    // such as d2l-en-master
    def TASK = REPO_NAME + '-' + TARGET_BRANCH
  node('d2l-worker') {
      ws("workspace/${TASK}") {
        checkout scm
        // conda environment
        def ENV_NAME = "${TASK}-${EXECUTOR_NUMBER}";
  
keep keep keep keep replace keep keep keep keep keep
 MAINT: Update CI, Update frameworks, Pin Deps (#1095)

* MAINT: Update CI, Update frameworks, Pin Deps

* DEP: Upgrade to d2l v0.17.4

* d2lbook clear and rebuild

* remove d2lbook clear 
Jenkinsfile