Browse Source

Merge branch 'master' into insider

Baptiste Augrain 4 months ago
parent
commit
b895f72f2c

+ 9 - 6
.github/workflows/insider-linux.yml

@@ -390,12 +390,15 @@ jobs:
       fail-fast: false
       matrix:
         include:
-        - vscode_arch: x64
+        - slug: X64
+          vscode_arch: x64
           npm_arch: x64
-        - vscode_arch: arm64
+        - slug: ARM64
+          vscode_arch: arm64
           npm_arch: arm64
     env:
       BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
+      DISABLED: ${{ vars[format('DISABLE_INSIDER_ALPINE_REH_{0}', matrix.slug)] }}
       MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
       MS_TAG: ${{ needs.check.outputs.MS_TAG }}
       OS_NAME: alpine
@@ -439,21 +442,21 @@ jobs:
         uses: actions/download-artifact@v4
         with:
           name: vscode
-        if: env.SHOULD_BUILD_REH != 'no' || github.event.inputs.generate_assets == 'true'
+        if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
 
       - name: Build
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           npm_config_arch: ${{ matrix.npm_arch }}
         run: ./build/alpine/package_reh.sh
-        if: env.SHOULD_BUILD_REH != 'no' || github.event.inputs.generate_assets == 'true'
+        if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
 
       - name: Release
         env:
           GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
           GITHUB_USERNAME: ${{ github.repository_owner }}
         run: ./release.sh
-        if: env.SHOULD_BUILD_REH != 'no' && env.SHOULD_DEPLOY == 'yes'
+        if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
 
       - name: Upload assets
         uses: actions/upload-artifact@v4
@@ -461,7 +464,7 @@ jobs:
           name: reh-alpine-${{ matrix.vscode_arch }}
           path: assets/
           retention-days: 3
-        if: env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
+        if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
 
   aur:
     needs:

+ 9 - 6
.github/workflows/stable-linux.yml

@@ -389,12 +389,15 @@ jobs:
       fail-fast: false
       matrix:
         include:
-        - vscode_arch: x64
+        - slug: X64
+          vscode_arch: x64
           npm_arch: x64
-        - vscode_arch: arm64
+        - slug: ARM64
+          vscode_arch: arm64
           npm_arch: arm64
     env:
       BUILD_SOURCEVERSION: ${{ needs.compile.outputs.BUILD_SOURCEVERSION }}
+      DISABLED: ${{ vars[format('DISABLE_STABLE_ALPINE_REH_{0}', matrix.slug)] }}
       MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
       MS_TAG: ${{ needs.check.outputs.MS_TAG }}
       OS_NAME: alpine
@@ -438,21 +441,21 @@ jobs:
         uses: actions/download-artifact@v4
         with:
           name: vscode
-        if: env.SHOULD_BUILD_REH != 'no' || github.event.inputs.generate_assets == 'true'
+        if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
 
       - name: Build
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           npm_config_arch: ${{ matrix.npm_arch }}
         run: ./build/alpine/package_reh.sh
-        if: env.SHOULD_BUILD_REH != 'no' || github.event.inputs.generate_assets == 'true'
+        if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
 
       - name: Release
         env:
           GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
           GITHUB_USERNAME: ${{ github.repository_owner }}
         run: ./release.sh
-        if: env.SHOULD_BUILD_REH != 'no' && env.SHOULD_DEPLOY == 'yes'
+        if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
 
       - name: Upload assets
         uses: actions/upload-artifact@v4
@@ -460,7 +463,7 @@ jobs:
           name: reh-alpine-${{ matrix.vscode_arch }}
           path: assets/
           retention-days: 3
-        if: env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
+        if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
 
   aur:
     needs:

+ 26 - 9
build/alpine/package_reh.sh

@@ -7,6 +7,10 @@ if [[ "${CI_BUILD}" == "no" ]]; then
   exit 1
 fi
 
+APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
+
+mkdir -p assets
+
 tar -xzf ./vscode.tar.gz
 
 cd vscode || { echo "'vscode' dir not found"; exit 1; }
@@ -42,25 +46,38 @@ done
 
 node build/azure-pipelines/distro/mixin-npm
 
-yarn gulp minify-vscode-reh
-
 if [[ "${VSCODE_ARCH}" == "x64" ]]; then
   PA_NAME="linux-alpine"
 else
   PA_NAME="alpine-arm64"
 fi
 
-yarn gulp "vscode-reh-${PA_NAME}-min-ci"
+if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
+  echo "Building REH"
+  yarn gulp minify-vscode-reh
+  yarn gulp "vscode-reh-${PA_NAME}-min-ci"
 
-cd ..
+  pushd "../vscode-reh-${PA_NAME}"
 
-APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
+  echo "Archiving REH"
+  tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
 
-mkdir -p assets
+  popd
+fi
+
+if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
+  echo "Building REH-web"
+  yarn gulp minify-vscode-reh-web
+  yarn gulp "vscode-reh-web-${PA_NAME}-min-ci"
+
+  pushd "../vscode-reh-web-${PA_NAME}"
+
+  echo "Archiving REH-web"
+  tar czf "../assets/${APP_NAME_LC}-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
+
+  popd
+fi
 
-echo "Building and moving REH"
-cd "vscode-reh-${PA_NAME}"
-tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
 cd ..
 
 npm install -g checksum

+ 293 - 291
check_tags.sh

@@ -258,342 +258,344 @@ elif [[ "${ASSETS}" != "null" ]]; then
         echo "Already have all the Windows x64 builds"
       fi
     fi
-  elif [[ "${OS_NAME}" == "linux" ]]; then
-
-    if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
-
-      if [[ -z $( contains "${APP_NAME_LC}-reh-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
-        echo "Building on Linux ${VSCODE_ARCH} because we have no REH archive"
-        export SHOULD_BUILD="yes"
-      else
-        echo "Already have the Linux REH ${VSCODE_ARCH} archive"
-        export SHOULD_BUILD_REH="no"
-      fi
-
-      if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
-        echo "Building on Linux ${VSCODE_ARCH} because we have no REH-web archive"
-        export SHOULD_BUILD="yes"
-      else
-        echo "Already have the Linux REH-web ${VSCODE_ARCH} archive"
-        export SHOULD_BUILD_REH_WEB="no"
-      fi
-
-    else
-
-      # linux-arm64
-      if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
-        if [[ -z $( contains "arm64.deb" ) ]]; then
-          echo "Building on Linux arm64 because we have no DEB"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_DEB="no"
-        fi
-
-        if [[ -z $( contains "aarch64.rpm" ) ]]; then
-          echo "Building on Linux arm64 because we have no RPM"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_RPM="no"
-        fi
-
-        if [[ -z $( contains "${APP_NAME}-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux arm64 because we have no TAR"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_TAR="no"
-        fi
-
-        if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux arm64 because we have no REH archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH="no"
-        fi
-
-        if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux arm64 because we have no REH-web archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH_WEB="no"
-        fi
-
-        export SHOULD_BUILD_APPIMAGE="no"
-
-        if [[ "${SHOULD_BUILD}" != "yes" ]]; then
-          echo "Already have all the Linux arm64 builds"
-        fi
-      fi
-
-      # linux-armhf
-      if [[ "${VSCODE_ARCH}" == "armhf" || "${CHECK_ALL}" == "yes" ]]; then
-        if [[ -z $( contains "armhf.deb" ) ]]; then
-          echo "Building on Linux arm because we have no DEB"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_DEB="no"
-        fi
-
-        if [[ -z $( contains "armv7hl.rpm" ) ]]; then
-          echo "Building on Linux arm because we have no RPM"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_RPM="no"
-        fi
-
-        if [[ -z $( contains "${APP_NAME}-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux arm because we have no TAR"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_TAR="no"
-        fi
-
-        if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux arm because we have no REH archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH="no"
-        fi
-
-        if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux arm because we have no REH-web archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH_WEB="no"
-        fi
-
-        export SHOULD_BUILD_APPIMAGE="no"
-
-        if [[ "${SHOULD_BUILD}" != "yes" ]]; then
-          echo "Already have all the Linux arm builds"
-        fi
-      fi
-
-      # linux-ppc64le
-      if [[ "${VSCODE_ARCH}" == "ppc64le" || "${CHECK_ALL}" == "yes" ]]; then
-        SHOULD_BUILD_APPIMAGE="no"
-        SHOULD_BUILD_DEB="no"
-        SHOULD_BUILD_RPM="no"
-
-        if [[ -z $( contains "${APP_NAME}-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux PowerPC64LE because we have no TAR"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_TAR="no"
-        fi
-
+  else
+    if [[ "${OS_NAME}" == "linux" ]]; then
+      if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
 
-        if [[ -z $( contains "${APP_NAME_LC}-reh-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux PowerPC64LE because we have no REH archive"
+        if [[ -z $( contains "${APP_NAME_LC}-reh-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
+          echo "Building on Linux ${VSCODE_ARCH} because we have no REH archive"
           export SHOULD_BUILD="yes"
         else
+          echo "Already have the Linux REH ${VSCODE_ARCH} archive"
           export SHOULD_BUILD_REH="no"
         fi
 
-        if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux PowerPC64LE because we have no REH-web archive"
+        if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
+          echo "Building on Linux ${VSCODE_ARCH} because we have no REH-web archive"
           export SHOULD_BUILD="yes"
         else
+          echo "Already have the Linux REH-web ${VSCODE_ARCH} archive"
           export SHOULD_BUILD_REH_WEB="no"
         fi
 
-        if [[ "${SHOULD_BUILD}" != "yes" ]]; then
-          echo "Already have all the Linux PowerPC64LE builds"
-        fi
-      fi
-
-      # linux-riscv64
-      if [[ "${VSCODE_ARCH}" == "riscv64" || "${CHECK_ALL}" == "yes" ]]; then
-        export SHOULD_BUILD_DEB="no"
-        export SHOULD_BUILD_RPM="no"
-        export SHOULD_BUILD_APPIMAGE="no"
-
-        if [[ -z $( contains "${APP_NAME}-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux RISC-V 64 because we have no TAR"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_TAR="no"
-        fi
-
-        if [[ -z $( contains "${APP_NAME_LC}-reh-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux RISC-V 64 because we have no REH archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH="no"
-        fi
+      else
 
-        if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux RISC-V 64 because we have no REH-web archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH_WEB="no"
-        fi
+        # linux-arm64
+        if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
+          if [[ -z $( contains "arm64.deb" ) ]]; then
+            echo "Building on Linux arm64 because we have no DEB"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_DEB="no"
+          fi
+
+          if [[ -z $( contains "aarch64.rpm" ) ]]; then
+            echo "Building on Linux arm64 because we have no RPM"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_RPM="no"
+          fi
+
+          if [[ -z $( contains "${APP_NAME}-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux arm64 because we have no TAR"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_TAR="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux arm64 because we have no REH archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux arm64 because we have no REH-web archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH_WEB="no"
+          fi
 
-        if [[ "${SHOULD_BUILD}" != "yes" ]]; then
-          echo "Already have all the Linux riscv64 builds"
-        fi
-      fi
+          export SHOULD_BUILD_APPIMAGE="no"
 
-      # linux-loong64
-      if [[ "${VSCODE_ARCH}" == "loong64" || "${CHECK_ALL}" == "yes" ]]; then
-        export SHOULD_BUILD_DEB="no"
-        export SHOULD_BUILD_RPM="no"
-        export SHOULD_BUILD_APPIMAGE="no"
+          if [[ "${SHOULD_BUILD}" != "yes" ]]; then
+            echo "Already have all the Linux arm64 builds"
+          fi
+        fi
+
+        # linux-armhf
+        if [[ "${VSCODE_ARCH}" == "armhf" || "${CHECK_ALL}" == "yes" ]]; then
+          if [[ -z $( contains "armhf.deb" ) ]]; then
+            echo "Building on Linux arm because we have no DEB"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_DEB="no"
+          fi
+
+          if [[ -z $( contains "armv7hl.rpm" ) ]]; then
+            echo "Building on Linux arm because we have no RPM"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_RPM="no"
+          fi
+
+          if [[ -z $( contains "${APP_NAME}-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux arm because we have no TAR"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_TAR="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux arm because we have no REH archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux arm because we have no REH-web archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH_WEB="no"
+          fi
 
-        if [[ -z $( contains "${APP_NAME}-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux Loong64 because we have no TAR"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_TAR="no"
-        fi
+          export SHOULD_BUILD_APPIMAGE="no"
 
-        if [[ -z $( contains "${APP_NAME_LC}-reh-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux Loong64 because we have no REH archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH="no"
+          if [[ "${SHOULD_BUILD}" != "yes" ]]; then
+            echo "Already have all the Linux arm builds"
+          fi
         fi
 
-        if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux Loong64 because we have no REH-web archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH_WEB="no"
-        fi
+        # linux-ppc64le
+        if [[ "${VSCODE_ARCH}" == "ppc64le" || "${CHECK_ALL}" == "yes" ]]; then
+          SHOULD_BUILD_APPIMAGE="no"
+          SHOULD_BUILD_DEB="no"
+          SHOULD_BUILD_RPM="no"
 
-        if [[ "${SHOULD_BUILD}" != "yes" ]]; then
-          echo "Already have all the Linux Loong64 builds"
-        fi
-      fi
+          if [[ -z $( contains "${APP_NAME}-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux PowerPC64LE because we have no TAR"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_TAR="no"
+          fi
 
-      # linux-s390x
-      if [[ "${VSCODE_ARCH}" == "s390x" || "${CHECK_ALL}" == "yes" ]]; then
-        SHOULD_BUILD_APPIMAGE="no"
-        SHOULD_BUILD_DEB="no"
-        SHOULD_BUILD_RPM="no"
-        SHOULD_BUILD_TAR="no"
 
-        if [[ -z $( contains "${APP_NAME_LC}-reh-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux s390x because we have no REH archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH="no"
-        fi
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux PowerPC64LE because we have no REH archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH="no"
+          fi
 
-        if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux s390x because we have no REH-web archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH_WEB="no"
-        fi
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux PowerPC64LE because we have no REH-web archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH_WEB="no"
+          fi
 
-        if [[ "${SHOULD_BUILD}" != "yes" ]]; then
-          echo "Already have all the Linux s390x builds"
+          if [[ "${SHOULD_BUILD}" != "yes" ]]; then
+            echo "Already have all the Linux PowerPC64LE builds"
+          fi
         fi
-      fi
 
-      # linux-x64
-      if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
-        if [[ -z $( contains "amd64.deb" ) ]]; then
-          echo "Building on Linux x64 because we have no DEB"
-          export SHOULD_BUILD="yes"
-        else
+        # linux-riscv64
+        if [[ "${VSCODE_ARCH}" == "riscv64" || "${CHECK_ALL}" == "yes" ]]; then
           export SHOULD_BUILD_DEB="no"
-        fi
-
-        if [[ -z $( contains "x86_64.rpm" ) ]]; then
-          echo "Building on Linux x64 because we have no RPM"
-          export SHOULD_BUILD="yes"
-        else
           export SHOULD_BUILD_RPM="no"
-        fi
-
-        if [[ -z $( contains "${APP_NAME}-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux x64 because we have no TAR"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_TAR="no"
-        fi
-
-        if [[ "${DISABLE_APPIMAGE}" == "yes" ]]; then
           export SHOULD_BUILD_APPIMAGE="no"
-        elif [[ -z $( contains "x86_64.AppImage" ) ]]; then
-          echo "Building on Linux x64 because we have no AppImage"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_APPIMAGE="no"
-        fi
 
-        if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux x64 because we have no REH archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH="no"
-        fi
-
-        if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Linux x64 because we have no REH-web archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH_WEB="no"
-        fi
+          if [[ -z $( contains "${APP_NAME}-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux RISC-V 64 because we have no TAR"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_TAR="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux RISC-V 64 because we have no REH archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux RISC-V 64 because we have no REH-web archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH_WEB="no"
+          fi
+
+          if [[ "${SHOULD_BUILD}" != "yes" ]]; then
+            echo "Already have all the Linux riscv64 builds"
+          fi
+        fi
+
+        # linux-loong64
+        if [[ "${VSCODE_ARCH}" == "loong64" || "${CHECK_ALL}" == "yes" ]]; then
+          export SHOULD_BUILD_DEB="no"
+          export SHOULD_BUILD_RPM="no"
+          export SHOULD_BUILD_APPIMAGE="no"
 
-        if [[ "${SHOULD_BUILD}" != "yes" ]]; then
-          echo "Already have all the Linux x64 builds"
+          if [[ -z $( contains "${APP_NAME}-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux Loong64 because we have no TAR"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_TAR="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux Loong64 because we have no REH archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux Loong64 because we have no REH-web archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH_WEB="no"
+          fi
+
+          if [[ "${SHOULD_BUILD}" != "yes" ]]; then
+            echo "Already have all the Linux Loong64 builds"
+          fi
+        fi
+
+        # linux-s390x
+        if [[ "${VSCODE_ARCH}" == "s390x" || "${CHECK_ALL}" == "yes" ]]; then
+          SHOULD_BUILD_APPIMAGE="no"
+          SHOULD_BUILD_DEB="no"
+          SHOULD_BUILD_RPM="no"
+          SHOULD_BUILD_TAR="no"
+
+          if [[ -z $( contains "${APP_NAME_LC}-reh-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux s390x because we have no REH archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH="no"
+          fi
+
+          if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux s390x because we have no REH-web archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH_WEB="no"
+          fi
+
+          if [[ "${SHOULD_BUILD}" != "yes" ]]; then
+            echo "Already have all the Linux s390x builds"
+          fi
+        fi
+
+        # linux-x64
+        if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
+          if [[ -z $( contains "amd64.deb" ) ]]; then
+            echo "Building on Linux x64 because we have no DEB"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_DEB="no"
+          fi
+
+          if [[ -z $( contains "x86_64.rpm" ) ]]; then
+            echo "Building on Linux x64 because we have no RPM"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_RPM="no"
+          fi
+
+          if [[ -z $( contains "${APP_NAME}-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux x64 because we have no TAR"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_TAR="no"
+          fi
+
+          if [[ "${DISABLE_APPIMAGE}" == "yes" ]]; then
+            export SHOULD_BUILD_APPIMAGE="no"
+          elif [[ -z $( contains "x86_64.AppImage" ) ]]; then
+            echo "Building on Linux x64 because we have no AppImage"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_APPIMAGE="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux x64 because we have no REH archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Linux x64 because we have no REH-web archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH_WEB="no"
+          fi
+
+          if [[ "${SHOULD_BUILD}" != "yes" ]]; then
+            echo "Already have all the Linux x64 builds"
+          fi
         fi
       fi
     fi
 
-  elif [[ "${OS_NAME}" == "alpine" ]]; then
+    if [[ "${OS_NAME}" == "alpine" ]] || [[ "${OS_NAME}" == "linux" && "${CHECK_ALL}" == "yes" ]]; then
 
-    if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
-      if [[ -z $( contains "${APP_NAME_LC}-reh-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
-        echo "Building on Alpine ${VSCODE_ARCH} because we have no REH archive"
-        export SHOULD_BUILD="yes"
-      else
-        echo "Already have the Alpine REH ${VSCODE_ARCH} archive"
-        export SHOULD_BUILD_REH="no"
-      fi
-
-      if [[ -z $( contains "${APP_NAME_LC}-reh-web-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
-        echo "Building on Alpine ${VSCODE_ARCH} because we have no REH-web archive"
-        export SHOULD_BUILD="yes"
-      else
-        echo "Already have the Alpine REH-web ${VSCODE_ARCH} archive"
-        export SHOULD_BUILD_REH_WEB="no"
-      fi
-    else
-
-      # alpine-arm64
-      if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
-        if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Alpine arm64 because we have no REH archive"
+      if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
+        if [[ -z $( contains "${APP_NAME_LC}-reh-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
+          echo "Building on Alpine ${VSCODE_ARCH} because we have no REH archive"
           export SHOULD_BUILD="yes"
         else
+          echo "Already have the Alpine REH ${VSCODE_ARCH} archive"
           export SHOULD_BUILD_REH="no"
         fi
 
-         if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Alpine arm64 because we have no REH-web archive"
+        if [[ -z $( contains "${APP_NAME_LC}-reh-web-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
+          echo "Building on Alpine ${VSCODE_ARCH} because we have no REH-web archive"
           export SHOULD_BUILD="yes"
         else
+          echo "Already have the Alpine REH-web ${VSCODE_ARCH} archive"
           export SHOULD_BUILD_REH_WEB="no"
         fi
-      fi
-
-      # alpine-x64
-      if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
-        if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Alpine x64 because we have no REH archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH="no"
-        fi
+      else
 
-        if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
-          echo "Building on Alpine x64 because we have no REH-web archive"
-          export SHOULD_BUILD="yes"
-        else
-          export SHOULD_BUILD_REH_WEB="no"
+        # alpine-arm64
+        if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Alpine arm64 because we have no REH archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Alpine arm64 because we have no REH-web archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH_WEB="no"
+          fi
+        fi
+
+        # alpine-x64
+        if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Alpine x64 because we have no REH archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH="no"
+          fi
+
+          if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
+            echo "Building on Alpine x64 because we have no REH-web archive"
+            export SHOULD_BUILD="yes"
+          else
+            export SHOULD_BUILD_REH_WEB="no"
+          fi
         fi
       fi
     fi

+ 8 - 10
product.json

@@ -202,14 +202,10 @@
       "treeViewMarkdownMessage"
     ],
     "GitHub.copilot": [
-      "inlineCompletionsAdditions",
-      "interactive",
-      "terminalDataWriteEvent"
+      "inlineCompletionsAdditions"
     ],
     "GitHub.copilot-nightly": [
-      "inlineCompletionsAdditions",
-      "interactive",
-      "terminalDataWriteEvent"
+      "inlineCompletionsAdditions"
     ],
     "GitHub.copilot-chat": [
       "interactive",
@@ -217,11 +213,12 @@
       "terminalExecuteCommandEvent",
       "terminalSelection",
       "terminalQuickFixProvider",
-      "chatProvider",
       "chatParticipantAdditions",
       "defaultChatParticipant",
       "embeddings",
+      "chatEditing",
       "chatVariableResolver",
+      "chatProvider",
       "mappedEditsProvider",
       "aiRelatedInformation",
       "chatEditing",
@@ -261,9 +258,6 @@
       "textSearchProvider",
       "timeline"
     ],
-    "GitHub.copilot-nes": [
-      "inlineEdit"
-    ],
     "ms-python.gather": [
       "notebookCellExecutionState"
     ],
@@ -312,6 +306,7 @@
     "redhat.java": [
       "documentPaste"
     ],
+    "vscjava.vscode-java-pack": [],
     "ms-dotnettools.csdevkit": [
       "inlineCompletionsAdditions"
     ],
@@ -330,6 +325,9 @@
       "chatParticipantAdditions",
       "languageModelSystem"
     ],
+    "ms-toolsai.datawrangler": [],
+    "ms-vscode.vscode-commander": [],
+    "ms-vscode.vscode-websearchforcopilot": [],
     "ms-vscode.vscode-copilot-data-analysis": [
       "chatVariableResolver",
       "chatProvider"

+ 2 - 2
upstream/stable.json

@@ -1,4 +1,4 @@
 {
-  "tag": "1.95.3",
-  "commit": "f1a4fb101478ce6ec82fe9627c43efbf9e98c813"
+  "tag": "1.96.4",
+  "commit": "cd4ee3b1c348a13bafd8f9ad8060705f6d4b9cba"
 }