Răsfoiți Sursa

feat: insider version (#1217)

Baptiste Augrain 2 ani în urmă
părinte
comite
61e880da67
100 a modificat fișierele cu 801 adăugiri și 200 ștergeri
  1. 155 0
      .github/workflows/insider-linux.yml
  2. 122 0
      .github/workflows/insider-macos.yml
  3. 75 0
      .github/workflows/insider-spearhead.yml
  4. 104 0
      .github/workflows/insider-windows.yml
  5. 4 8
      .github/workflows/stable-linux.yml
  6. 6 6
      .github/workflows/stable-macos.yml
  7. 3 1
      .github/workflows/stable-windows.yml
  8. 2 2
      build/build.ps1
  9. 54 0
      build/build.sh
  10. 0 8
      build/build_linux.sh
  11. 0 18
      build/build_macos.sh
  12. 0 11
      build/build_windows.sh
  13. 10 0
      build/linux/appimage/build.sh
  14. 12 12
      build/linux/appimage/recipe.yml
  15. 1 1
      build/update_patches.sh
  16. 11 5
      build/windows/msi/build.sh
  17. 5 2
      check_tags.sh
  18. 10 4
      docs/build.md
  19. 31 12
      get_repo.sh
  20. 71 59
      icons/build_icons.sh
  21. BIN
      icons/insider/code_64.png
  22. BIN
      icons/insider/code_darwin.png
  23. 10 0
      icons/insider/codium_only.svg
  24. 0 0
      icons/stable/code_64.png
  25. 0 0
      icons/stable/code_darwin.png
  26. 0 0
      icons/stable/codium_only.svg
  27. 4 0
      insider.json
  28. 99 44
      prepare_vscode.sh
  29. 12 7
      release.sh
  30. BIN
      src/insider/resources/darwin/bat.icns
  31. BIN
      src/insider/resources/darwin/bower.icns
  32. BIN
      src/insider/resources/darwin/c.icns
  33. BIN
      src/insider/resources/darwin/code.icns
  34. BIN
      src/insider/resources/darwin/config.icns
  35. BIN
      src/insider/resources/darwin/cpp.icns
  36. BIN
      src/insider/resources/darwin/csharp.icns
  37. BIN
      src/insider/resources/darwin/css.icns
  38. BIN
      src/insider/resources/darwin/default.icns
  39. BIN
      src/insider/resources/darwin/go.icns
  40. BIN
      src/insider/resources/darwin/html.icns
  41. BIN
      src/insider/resources/darwin/jade.icns
  42. BIN
      src/insider/resources/darwin/java.icns
  43. BIN
      src/insider/resources/darwin/javascript.icns
  44. BIN
      src/insider/resources/darwin/json.icns
  45. BIN
      src/insider/resources/darwin/less.icns
  46. BIN
      src/insider/resources/darwin/markdown.icns
  47. BIN
      src/insider/resources/darwin/php.icns
  48. BIN
      src/insider/resources/darwin/powershell.icns
  49. BIN
      src/insider/resources/darwin/python.icns
  50. BIN
      src/insider/resources/darwin/react.icns
  51. BIN
      src/insider/resources/darwin/ruby.icns
  52. BIN
      src/insider/resources/darwin/sass.icns
  53. BIN
      src/insider/resources/darwin/shell.icns
  54. BIN
      src/insider/resources/darwin/sql.icns
  55. BIN
      src/insider/resources/darwin/typescript.icns
  56. BIN
      src/insider/resources/darwin/vue.icns
  57. BIN
      src/insider/resources/darwin/xml.icns
  58. BIN
      src/insider/resources/darwin/yaml.icns
  59. BIN
      src/insider/resources/linux/code.png
  60. 0 0
      src/insider/resources/linux/rpm/code.xpm
  61. BIN
      src/insider/resources/win32/bower.ico
  62. BIN
      src/insider/resources/win32/c.ico
  63. BIN
      src/insider/resources/win32/code.ico
  64. BIN
      src/insider/resources/win32/config.ico
  65. BIN
      src/insider/resources/win32/cpp.ico
  66. BIN
      src/insider/resources/win32/csharp.ico
  67. BIN
      src/insider/resources/win32/css.ico
  68. BIN
      src/insider/resources/win32/default.ico
  69. BIN
      src/insider/resources/win32/go.ico
  70. BIN
      src/insider/resources/win32/html.ico
  71. BIN
      src/insider/resources/win32/inno-big-100.bmp
  72. BIN
      src/insider/resources/win32/inno-big-125.bmp
  73. BIN
      src/insider/resources/win32/inno-big-150.bmp
  74. BIN
      src/insider/resources/win32/inno-big-175.bmp
  75. BIN
      src/insider/resources/win32/inno-big-200.bmp
  76. BIN
      src/insider/resources/win32/inno-big-225.bmp
  77. BIN
      src/insider/resources/win32/inno-big-250.bmp
  78. BIN
      src/insider/resources/win32/inno-small-100.bmp
  79. BIN
      src/insider/resources/win32/inno-small-125.bmp
  80. BIN
      src/insider/resources/win32/inno-small-150.bmp
  81. BIN
      src/insider/resources/win32/inno-small-175.bmp
  82. BIN
      src/insider/resources/win32/inno-small-200.bmp
  83. BIN
      src/insider/resources/win32/inno-small-225.bmp
  84. BIN
      src/insider/resources/win32/inno-small-250.bmp
  85. BIN
      src/insider/resources/win32/jade.ico
  86. BIN
      src/insider/resources/win32/java.ico
  87. BIN
      src/insider/resources/win32/javascript.ico
  88. BIN
      src/insider/resources/win32/json.ico
  89. BIN
      src/insider/resources/win32/less.ico
  90. BIN
      src/insider/resources/win32/markdown.ico
  91. BIN
      src/insider/resources/win32/php.ico
  92. BIN
      src/insider/resources/win32/powershell.ico
  93. BIN
      src/insider/resources/win32/python.ico
  94. BIN
      src/insider/resources/win32/react.ico
  95. BIN
      src/insider/resources/win32/ruby.ico
  96. BIN
      src/insider/resources/win32/sass.ico
  97. BIN
      src/insider/resources/win32/shell.ico
  98. BIN
      src/insider/resources/win32/sql.ico
  99. BIN
      src/insider/resources/win32/typescript.ico
  100. BIN
      src/insider/resources/win32/vue.ico

+ 155 - 0
.github/workflows/insider-linux.yml

@@ -0,0 +1,155 @@
+name: insider-linux
+
+on:
+  workflow_dispatch:
+  schedule:
+    - cron: '0 1 * * *'
+  push:
+    branches: [ insider ]
+    paths-ignore:
+    - '**/*.md'
+  pull_request:
+    branches: [ insider ]
+    paths-ignore:
+    - '**/*.md'
+
+jobs:
+  release:
+    runs-on: ubuntu-latest
+    container:
+      image: ${{ matrix.image }}
+      env:
+        OS_NAME: 'linux'
+        VSCODE_ARCH: ${{ matrix.vscode_arch }}
+        VSCODE_QUALITY: 'insider'
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+        - vscode_arch: x64
+          npm_arch: x64
+          image: vscodium/vscodium-linux-build-agent:bionic-x64
+        - vscode_arch: arm64
+          npm_arch: arm64
+          image: vscodium/vscodium-linux-build-agent:stretch-arm64
+        - vscode_arch: armhf
+          npm_arch: armv7l
+          image: vscodium/vscodium-linux-build-agent:stretch-armhf
+
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          ref: insider
+
+      - name: Install GH
+        run: ./install_gh.sh
+
+      - name: Setup Node.js environment
+        uses: actions/setup-node@v3
+        with:
+          node-version: 16
+
+      - name: Install Yarn
+        run: npm install -g yarn
+
+      - name: Clone VSCode repo
+        run: ./get_repo.sh
+
+      - name: Check PR or cron
+        run: ./check_cron_or_pr.sh
+
+      - name: Check existing VSCodium tags/releases
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: ./check_tags.sh
+        if: env.SHOULD_DEPLOY == 'yes'
+
+      - name: Compute cache key
+        id: yarnCacheKey
+        run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Get yarn cache directory path
+        id: yarnCacheDirPath
+        run: echo "::set-output name=dir::$(yarn cache dir)"
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Cache yarn directory
+        uses: actions/cache@v3
+        with:
+          path: ${{ steps.yarnCacheDirPath.outputs.dir }}
+          key: linux-${{ matrix.npm_arch }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
+          restore-keys: linux-${{ matrix.npm_arch }}-yarnCacheDir-
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Build
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          npm_config_arch: ${{ matrix.npm_arch }}
+        run: ./build.sh
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Prepare artifacts
+        run: ./prepare_artifacts.sh
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+
+      - name: Release
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: ./release.sh
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+
+      - name: Update versions repo
+        run: ./update_version.sh
+        env:
+          GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
+          GITHUB_USERNAME: ${{ github.repository_owner }}
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+
+  snap:
+    if: ${{ false }} # more testing need to be done after the first release
+    needs: release
+    runs-on: ubuntu-latest
+    env:
+      VSCODE_QUALITY: 'insider'
+    strategy:
+      fail-fast: false
+      matrix:
+        platform:
+        - amd64
+        - arm64
+
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          ref: insider
+
+      - name: Check version
+        run: ./stores/snapcraft/check_version.sh
+        env:
+          ARCHITECTURE: ${{ matrix.platform }}
+          SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
+
+      - uses: docker/setup-qemu-action@v1
+        if: env.SHOULD_DEPLOY == 'yes'
+
+      - uses: diddlesnaps/snapcraft-multiarch-action@v1
+        with:
+          path: stores/snapcraft/insider
+          architecture: ${{ matrix.platform }}
+        id: build
+        if: env.SHOULD_DEPLOY == 'yes'
+
+      - uses: diddlesnaps/snapcraft-review-action@v1
+        with:
+          snap: ${{ steps.build.outputs.snap }}
+          isClassic: 'true'
+        if: env.SHOULD_DEPLOY == 'yes'
+
+      - uses: snapcore/action-publish@master
+        env:
+          SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
+        with:
+          snap: ${{ steps.build.outputs.snap }}
+          release: stable
+        if: env.SHOULD_DEPLOY == 'yes'

+ 122 - 0
.github/workflows/insider-macos.yml

@@ -0,0 +1,122 @@
+name: insider-macos
+
+on:
+  workflow_dispatch:
+  schedule:
+    - cron: '0 1 * * *'
+  push:
+    branches: [ insider ]
+    paths-ignore:
+    - '**/*.md'
+  pull_request:
+    branches: [ insider ]
+    paths-ignore:
+    - '**/*.md'
+
+jobs:
+  build:
+    runs-on: ${{ matrix.runner }}
+    env:
+      OS_NAME: 'osx'
+      VSCODE_ARCH: ${{ matrix.vscode_arch }}
+      VSCODE_QUALITY: 'insider'
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - runner: macOS-10.15
+            vscode_arch: x64
+          - runner: [self-hosted, macOS, ARM64]
+            vscode_arch: arm64
+
+    steps:
+      - uses: actions/checkout@v3
+
+      - name: Setup Node.js environment
+        uses: actions/setup-node@v3
+        with:
+          node-version: 16
+
+      - name: Clone VSCode repo
+        run: . get_repo.sh
+
+      - name: Check PR or cron
+        run: . check_cron_or_pr.sh
+
+      - name: Check existing VSCodium tags/releases
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          NEW_RELEASE: ${{ github.event.inputs.new_release }}
+        run: . check_tags.sh
+        if: env.SHOULD_DEPLOY == 'yes'
+
+      - name: Compute cache key
+        id: yarnCacheKey
+        run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Get yarn cache directory path
+        id: yarnCacheDirPath
+        run: echo "::set-output name=dir::$(yarn cache dir)"
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Cache yarn directory
+        uses: actions/cache@v3
+        with:
+          path: ${{ steps.yarnCacheDirPath.outputs.dir }}
+          key: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
+          restore-keys: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Build
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: ./build.sh
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Sign binary
+        env:
+          CERTIFICATE_OSX_P12: ${{ secrets.CERTIFICATE_OSX_P12 }}
+          CERTIFICATE_OSX_PASSWORD: ${{ secrets.CERTIFICATE_OSX_PASSWORD }}
+          CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }}
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+        run: |
+          if [ -d "VSCode-darwin-${VSCODE_ARCH}" ]; then # just in case the build failed
+            cd "VSCode-darwin-${VSCODE_ARCH}"
+            export CERTIFICATE_P12=VSCodium.p12
+            echo $CERTIFICATE_OSX_P12 | base64 --decode > $CERTIFICATE_P12
+            export KEYCHAIN=$RUNNER_TEMP/build.keychain
+            security create-keychain -p mysecretpassword $KEYCHAIN
+            security default-keychain -s $KEYCHAIN
+            security unlock-keychain -p mysecretpassword $KEYCHAIN
+            security import $CERTIFICATE_P12 -k $KEYCHAIN -P $CERTIFICATE_OSX_PASSWORD -T /usr/bin/codesign
+            security set-key-partition-list -S apple-tool:,apple: -s -k mysecretpassword $KEYCHAIN
+            codesign --deep --force --verbose --sign "$CERTIFICATE_OSX_ID" VSCodium.app
+          fi
+
+      - name: Prepare artifacts
+        run: ./prepare_artifacts.sh
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+
+      - name: Release
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: ./release.sh
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+
+      - name: Update versions repo
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+        run: ./update_version.sh
+        env:
+          GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
+          GITHUB_USERNAME: ${{ github.repository_owner }}
+
+      - name: Clean up keychain
+        if: always()
+        run: |
+          KEYCHAIN=$RUNNER_TEMP/build.keychain
+
+          if [ -f "$KEYCHAIN" ];
+          then
+            security delete-keychain $KEYCHAIN
+          fi

+ 75 - 0
.github/workflows/insider-spearhead.yml

@@ -0,0 +1,75 @@
+name: insider-spearhead
+
+on:
+  workflow_dispatch:
+  schedule:
+    - cron: '0 0 * * *'
+  push:
+    branches: [ insider ]
+    paths-ignore:
+    - '**/*.md'
+  pull_request:
+    branches: [ insider ]
+    paths-ignore:
+    - '**/*.md'
+
+jobs:
+  build:
+    runs-on: [self-hosted, macOS, ARM64]
+    env:
+      OS_NAME: 'osx'
+      VSCODE_ARCH: 'arm64'
+      VSCODE_QUALITY: 'insider'
+
+    steps:
+      - uses: actions/checkout@v3
+
+      - name: Setup Node.js environment
+        uses: actions/setup-node@v3
+        with:
+          node-version: 16
+
+      - name: Clone VSCode repo
+        run: . get_repo.sh
+
+      - name: Check PR or cron
+        run: . check_cron_or_pr.sh
+
+      - name: Check existing VSCodium tags/releases
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          NEW_RELEASE: ${{ github.event.inputs.new_release }}
+        run: . check_tags.sh
+        if: env.SHOULD_DEPLOY == 'yes'
+
+      - name: Compute cache key
+        id: yarnCacheKey
+        run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Get yarn cache directory path
+        id: yarnCacheDirPath
+        run: echo "::set-output name=dir::$(yarn cache dir)"
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Cache yarn directory
+        uses: actions/cache@v3
+        with:
+          path: ${{ steps.yarnCacheDirPath.outputs.dir }}
+          key: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
+          restore-keys: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Build
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: ./build.sh
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Update insider.json
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+        run: ./update_insider.sh
+        env:
+          GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
+          GITHUB_USERNAME: ${{ github.repository_owner }}
+

+ 104 - 0
.github/workflows/insider-windows.yml

@@ -0,0 +1,104 @@
+name: insider-windows
+
+on:
+  workflow_dispatch:
+  schedule:
+    - cron: '0 1 * * *'
+  push:
+    branches: [ insider ]
+    paths-ignore:
+    - '**/*.md'
+  pull_request:
+    branches: [ insider ]
+    paths-ignore:
+    - '**/*.md'
+
+jobs:
+  windows:
+    runs-on: windows-2019
+    defaults:
+      run:
+        shell: bash
+    env:
+      OS_NAME: 'windows'
+      VSCODE_ARCH: ${{ matrix.vscode_arch }}
+      VSCODE_QUALITY: 'insider'
+    strategy:
+      fail-fast: false
+      matrix:
+        vscode_arch:
+          - x64
+          - ia32
+          - arm64
+
+    steps:
+      - uses: actions/checkout@v3
+
+      - name: Setup Node.js environment
+        uses: actions/setup-node@v3
+        with:
+          node-version: 16
+
+      - name: Install Yarn
+        run: npm install -g yarn
+
+      - name: Setup Python 3
+        uses: actions/setup-python@v3
+        with:
+          python-version: '3.x'
+
+      - name: Clone VSCode repo
+        run: ./get_repo.sh
+
+      - name: Check PR or cron
+        run: ./check_cron_or_pr.sh
+
+      - name: Check existing VSCodium tags/releases
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          NEW_RELEASE: ${{ github.event.inputs.new_release }}
+        run: ./check_tags.sh
+        if: env.SHOULD_DEPLOY == 'yes'
+
+      - name: Compute cache key
+        id: yarnCacheKey
+        run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Get yarn cache directory path
+        id: yarnCacheDirPath
+        run: echo "::set-output name=dir::$(yarn cache dir)"
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Cache yarn directory
+        uses: actions/cache@v3
+        with:
+          path: ${{ steps.yarnCacheDirPath.outputs.dir }}
+          key: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
+          restore-keys: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Build
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          npm_config_arch: ${{ matrix.vscode_arch }}
+          npm_config_target_arch: ${{ matrix.vscode_arch }}
+        run: ./build.sh
+        if: env.SHOULD_BUILD == 'yes'
+
+      - name: Prepare artifacts
+        run: ./prepare_artifacts.sh
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+
+      - name: Release
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: ./release.sh
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+
+      - name: Update versions repo
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
+        run: ./update_version.sh
+        env:
+          GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
+          GITHUB_USERNAME: ${{ github.repository_owner }}

+ 4 - 8
.github/workflows/linux.yml → .github/workflows/stable-linux.yml

@@ -1,4 +1,4 @@
-name: linux_build
+name: stable-linux
 
 on:
   workflow_dispatch:
@@ -9,9 +9,11 @@ on:
   schedule:
     - cron: '0 0 * * *'
   push:
+    branches: [ master ]
     paths-ignore:
     - '**/*.md'
   pull_request:
+    branches: [ master ]
     paths-ignore:
     - '**/*.md'
 
@@ -131,7 +133,7 @@ jobs:
 
       - uses: diddlesnaps/snapcraft-multiarch-action@v1
         with:
-          path: stores/snapcraft
+          path: stores/snapcraft/stable
           architecture: ${{ matrix.platform }}
         id: build
         if: env.SHOULD_DEPLOY == 'yes'
@@ -142,12 +144,6 @@ jobs:
           isClassic: 'true'
         if: env.SHOULD_DEPLOY == 'yes'
 
-      # - uses: snapcore/action-build@v1
-      #   with:
-      #     path: stores/snapcraft
-      #   id: build
-      #   if: env.SHOULD_DEPLOY == 'yes'
-
       - uses: snapcore/action-publish@master
         env:
           SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}

+ 6 - 6
.github/workflows/macos.yml → .github/workflows/stable-macos.yml

@@ -1,4 +1,4 @@
-name: macos_build
+name: stable-macos
 
 on:
   workflow_dispatch:
@@ -9,16 +9,20 @@ on:
   schedule:
     - cron: '0 0 * * *'
   push:
+    branches: [ master ]
     paths-ignore:
     - '**/*.md'
   pull_request:
+    branches: [ master ]
     paths-ignore:
     - '**/*.md'
 
 jobs:
   build:
     runs-on: ${{ matrix.runner }}
-
+    env:
+      OS_NAME: 'osx'
+      VSCODE_ARCH: ${{ matrix.vscode_arch }}
     strategy:
       fail-fast: false
       matrix:
@@ -28,10 +32,6 @@ jobs:
           - runner: [self-hosted, macOS, ARM64]
             vscode_arch: arm64
 
-    env:
-      OS_NAME: "osx"
-      VSCODE_ARCH: ${{ matrix.vscode_arch }}
-
     steps:
       - uses: actions/checkout@v3
 

+ 3 - 1
.github/workflows/windows.yml → .github/workflows/stable-windows.yml

@@ -1,4 +1,4 @@
-name: windows_build
+name: stable-windows
 
 on:
   workflow_dispatch:
@@ -9,9 +9,11 @@ on:
   schedule:
     - cron: '0 0 * * *'
   push:
+    branches: [ master ]
     paths-ignore:
     - '**/*.md'
   pull_request:
+    branches: [ master ]
     paths-ignore:
     - '**/*.md'
 

+ 2 - 2
build/build_windows.ps1 → build/build.ps1

@@ -1,6 +1,6 @@
-# powershell -ExecutionPolicy ByPass -File .\build\build_windows.ps1
+# powershell -ExecutionPolicy ByPass -File .\build\build.ps1
 
 # first so `bash` is the one installed with `git`, avoid conflict with WSL
 $env:Path = "C:\Program Files\Git\bin;" + $env:Path
 
-bash ./build/build_windows.sh
+bash ./build/build.sh

+ 54 - 0
build/build.sh

@@ -0,0 +1,54 @@
+#!/bin/bash
+
+### Windows
+# to run with Bash: "C:\Program Files\Git\bin\bash.exe" ./build/build.sh
+###
+
+export VSCODE_LATEST="no"
+export VSCODE_QUALITY="stable"
+
+while getopts ":il" opt; do
+  case "$opt" in
+    i)
+      export VSCODE_QUALITY="insider"
+      ;;
+    l)
+      export VSCODE_LATEST="yes"
+      ;;
+  esac
+done
+
+case "${OSTYPE}" in
+  darwin*)
+    export OS_NAME="osx"
+    ;;
+  msys* | cygwin*)
+    export OS_NAME="windows"
+    ;;
+  *)
+    export OS_NAME="linux"
+    ;;
+esac
+
+UNAME_ARCH=$( uname -m )
+
+if [[ "${UNAME_ARCH}" == "arm64" ]]; then
+  export VSCODE_ARCH="arm64"
+else
+  export VSCODE_ARCH="x64"
+fi
+
+echo "OS_NAME: ${OS_NAME}"
+echo "VSCODE_ARCH: ${VSCODE_ARCH}"
+echo "VSCODE_LATEST: ${VSCODE_LATEST}"
+echo "VSCODE_QUALITY: ${VSCODE_QUALITY}"
+
+rm -rf vscode* VSCode*
+
+if [[ "${OS_NAME}" == "windows" ]]; then
+  rm -rf build/windows/msi/releasedir
+fi
+
+. get_repo.sh
+
+SHOULD_BUILD=yes CI_BUILD=no . build.sh

+ 0 - 8
build/build_linux.sh

@@ -1,8 +0,0 @@
-#!/bin/bash
-
-rm -rf VSCode*
-rm -rf vscode*
-
-./get_repo.sh
-
-SHOULD_BUILD=yes CI_BUILD=no OS_NAME=linux VSCODE_ARCH=x64 ./build.sh

+ 0 - 18
build/build_macos.sh

@@ -1,18 +0,0 @@
-#!/bin/bash
-
-rm -rf VSCode*
-rm -rf vscode*
-
-UNAME_ARCH=$( uname -m )
-
-if [[ "${UNAME_ARCH}" == "arm64" ]]; then
-  export VSCODE_ARCH="arm64"
-else
-  export VSCODE_ARCH="x64"
-fi
-
-echo "-- VSCODE_ARCH: ${VSCODE_ARCH}"
-
-. get_repo.sh
-
-SHOULD_BUILD=yes CI_BUILD=no OS_NAME=osx . build.sh

+ 0 - 11
build/build_windows.sh

@@ -1,11 +0,0 @@
-#!/bin/bash
-
-# to run with Bash: "C:\Program Files\Git\bin\bash.exe" ./build/build_windows.sh
-
-rm -rf VSCode*
-rm -rf vscode*
-rm -rf build/windows/msi/releasedir
-
-. get_repo.sh
-
-SHOULD_BUILD=yes CI_BUILD=no OS_NAME=windows VSCODE_ARCH=x64 . build.sh

+ 10 - 0
build/linux/appimage/build.sh

@@ -18,6 +18,16 @@ if [[ "${VSCODE_ARCH}" == "x64" ]]; then
   # remove check so build in docker can succeed
   sed -i 's/grep docker/# grep docker/' pkg2appimage.AppDir/usr/share/pkg2appimage/functions.sh
 
+  if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+    sed -i 's|@@NAME@@|VSCodium - Insiders|g' recipe.yml
+    sed -i 's|@@APPNAME@@|codium-insiders|g' recipe.yml
+    sed -i 's|@@ICON@@|vscodium-insiders|g' recipe.yml
+  else
+    sed -i 's|@@NAME@@|VSCodium|g' recipe.yml
+    sed -i 's|@@APPNAME@@|codium|g' recipe.yml
+    sed -i 's|@@ICON@@|vscodium|g' recipe.yml
+  fi
+
   bash -ex pkg2appimage.AppDir/AppRun recipe.yml
 
   rm -f pkg2appimage-*.AppImage

+ 12 - 12
build/linux/appimage/recipe.yml

@@ -5,7 +5,7 @@
 # wget -c "https://github.com/AppImage/pkg2appimage/raw/master/pkg2appimage"
 # bash -ex pkg2appimage VSCodium
 
-app: VSCodium
+app: @@NAME@@
 
 ingredients:
   packages:
@@ -17,19 +17,19 @@ ingredients:
   script:
     - pwd
     - cp ../../../../vscode/.build/linux/deb/amd64/deb/*.deb .
-    - ls codium_*.deb | cut -d _ -f 2 > VERSION
+    - ls @@APPNAME@@_*.deb | cut -d _ -f 2 > VERSION
 
 script:
-  - sed -i -e 's|/usr/share/pixmaps/||g' usr/share/applications/codium.desktop
-  - cp usr/share/applications/codium.desktop .
-  - cp usr/share/pixmaps/vscodium.png .
-  - /usr/bin/convert vscodium.png -resize 512x512 usr/share/icons/hicolor/512x512/apps/vscodium.png
-  - /usr/bin/convert vscodium.png -resize 256x256 usr/share/icons/hicolor/256x256/apps/vscodium.png
-  - /usr/bin/convert vscodium.png -resize 128x128 usr/share/icons/hicolor/128x128/apps/vscodium.png
-  - /usr/bin/convert vscodium.png -resize 64x64 usr/share/icons/hicolor/64x64/apps/vscodium.png
-  - /usr/bin/convert vscodium.png -resize 48x48 usr/share/icons/hicolor/48x48/apps/vscodium.png
-  - /usr/bin/convert vscodium.png -resize 32x32 usr/share/icons/hicolor/32x32/apps/vscodium.png
-  - ( cd usr/bin/ ; ln -s ../share/codium/codium  . )
+  - sed -i -e 's|/usr/share/pixmaps/||g' usr/share/applications/@@APPNAME@@.desktop
+  - cp usr/share/applications/@@APPNAME@@.desktop .
+  - cp usr/share/pixmaps/@@ICON@@.png .
+  - /usr/bin/convert @@ICON@@.png -resize 512x512 usr/share/icons/hicolor/512x512/apps/@@ICON@@.png
+  - /usr/bin/convert @@ICON@@.png -resize 256x256 usr/share/icons/hicolor/256x256/apps/@@ICON@@.png
+  - /usr/bin/convert @@ICON@@.png -resize 128x128 usr/share/icons/hicolor/128x128/apps/@@ICON@@.png
+  - /usr/bin/convert @@ICON@@.png -resize 64x64 usr/share/icons/hicolor/64x64/apps/@@ICON@@.png
+  - /usr/bin/convert @@ICON@@.png -resize 48x48 usr/share/icons/hicolor/48x48/apps/@@ICON@@.png
+  - /usr/bin/convert @@ICON@@.png -resize 32x32 usr/share/icons/hicolor/32x32/apps/@@ICON@@.png
+  - ( cd usr/bin/ ; ln -s ../share/@@APPNAME@@/@@APPNAME@@  . )
   - rm -rf usr/lib/x86_64-linux-gnu
   - rm -f lib/x86_64-linux-gnu/libglib*
   - cat > AppRun <<\EOF

+ 1 - 1
build/update_patches.sh

@@ -13,7 +13,7 @@ for file in ../patches/*.patch; do
       echo failed to apply patch "${file}"
       git apply --reject "${file}"
       read -p "Press any key when the conflict have been resolved..." -n1 -s
-      git diff > "${file}"
+      git diff -U1 > "${file}"
     fi
     git add .
     git reset -q --hard HEAD

+ 11 - 5
build/windows/msi/build.sh

@@ -9,8 +9,16 @@ cd "$( dirname "${BASH_SOURCE[0]}" )"
 WIN_SDK_MAJOR_VERSION="10"
 WIN_SDK_FULL_VERSION="10.0.17763.0"
 
-PRODUCT_NAME="VSCodium"
-PRODUCT_SKU="vscodium"
+if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+  PRODUCT_NAME="VSCodium - Insiders"
+  PRODUCT_SKU="vscodium-insiders"
+  ICON_DIR="..\\..\\..\\src\\insider\\resources\\win32"
+else
+  PRODUCT_NAME="VSCodium"
+  PRODUCT_SKU="vscodium"
+  ICON_DIR="..\\..\\..\\src\\stable\\resources\\win32"
+fi
+
 PRODUCT_ID=$( powershell.exe -command "[guid]::NewGuid().ToString().ToUpper()" )
 PRODUCT_ID="${PRODUCT_ID%%[[:cntrl:]]}"
 
@@ -20,7 +28,6 @@ LANGIDS="1033"
 SETUP_RELEASE_DIR=".\\releasedir"
 SETUP_RESOURCES_DIR=".\\resources"
 BINARY_DIR="..\\..\\..\\VSCode-win32-${VSCODE_ARCH}"
-ICON_DIR="..\\..\\..\\src\\resources\\win32"
 LICENSE_DIR="..\\..\\..\\vscode"
 PROGRAM_FILES_86=$( env | sed -n 's/^ProgramFiles(x86)=//p' )
 
@@ -36,7 +43,6 @@ else
    export PLATFORM="${VSCODE_ARCH}"
 fi
 
-
 BuildSetupTranslationTransform() {
 	local CULTURE=${1}
 	local LANGID=${2}
@@ -60,7 +66,7 @@ BuildSetupTranslationTransform() {
 }
 
 "${WIX}bin\\heat.exe" dir "${BINARY_DIR}" -out "Files-${OUTPUT_BASE_FILENAME}.wxs" -t vscodium.xsl -gg -sfrag -scom -sreg -srd -ke -cg "AppFiles" -var var.AppName -var var.ProductVersion -var var.IconDir -var var.LicenseDir -var var.BinaryDir -dr APPLICATIONFOLDER -platform "${PLATFORM}"
-"${WIX}bin\\candle.exe" -arch "${PLATFORM}" vscodium.wxs "Files-${OUTPUT_BASE_FILENAME}.wxs" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -dAppName=${PRODUCT_NAME} -dProductVersion="${RELEASE_VERSION}" -dProductId="${PRODUCT_ID}" -dBinaryDir="${BINARY_DIR}" -dIconDir="${ICON_DIR}" -dLicenseDir="${LICENSE_DIR}" -dSetupResourcesDir="${SETUP_RESOURCES_DIR}" -dCulture="${CULTURE}"
+"${WIX}bin\\candle.exe" -arch "${PLATFORM}" vscodium.wxs "Files-${OUTPUT_BASE_FILENAME}.wxs" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -dAppName="${PRODUCT_NAME}" -dProductVersion="${RELEASE_VERSION%-insider}" -dProductId="${PRODUCT_ID}" -dBinaryDir="${BINARY_DIR}" -dIconDir="${ICON_DIR}" -dLicenseDir="${LICENSE_DIR}" -dSetupResourcesDir="${SETUP_RESOURCES_DIR}" -dCulture="${CULTURE}"
 "${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" -loc "i18n\\${PRODUCT_SKU}.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
 
 BuildSetupTranslationTransform de-de 1031

+ 5 - 2
check_tags.sh

@@ -7,9 +7,12 @@ if [[ -z "${GITHUB_TOKEN}" ]]; then
   exit
 fi
 
-VERSIONS_REPO="${GITHUB_USERNAME:-"VSCodium"}/versions"
+if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+  REPOSITORY="${GITHUB_REPOSITORY:-"VSCodium/vscodium"}-insiders"
+else
+  REPOSITORY="${GITHUB_REPOSITORY:-"VSCodium/vscodium"}"
+fi
 
-REPOSITORY="${GITHUB_REPOSITORY:-"VSCodium/vscodium"}"
 GITHUB_RESPONSE=$( curl -s -H "Authorization: token ${GITHUB_TOKEN}" "https://api.github.com/repos/${REPOSITORY}/releases/latest" )
 LATEST_VERSION=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.tag_name' )
 

+ 10 - 4
docs/build.md

@@ -49,11 +49,17 @@
 
 ## <a id="build-scripts"></a>Build Scripts
 
-Each platform has its build helper script in the directory `build`.
+A build helper script can be found at `build/build.sh`.
 
-- Linux: `./build/build_linux.sh`
-- MacOS: `./build/build_macos.sh`
-- Windows: `powershell -ExecutionPolicy ByPass -File .\build\build_windows.ps1`
+- Linux: `./build/build.sh`
+- MacOS: `./build/build.sh`
+- Windows: `powershell -ExecutionPolicy ByPass -File .\build\build.ps1` or `"C:\Program Files\Git\bin\bash.exe" ./build/build.sh`
+
+### Insider
+
+The `insider` version can be built with `./build/build.sh -i` on the `insider` branch.
+
+You can try the lastest version with the command `./build/build.sh -il` but the patches might not be up to date.
 
 ## <a id="build-docker"></a>Build in Docker
 

+ 31 - 12
get_repo.sh

@@ -8,10 +8,29 @@ if [[ "${CI_BUILD}" != "no" ]]; then
 fi
 
 if [[ -z "${RELEASE_VERSION}" ]]; then
-  UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/stable/lol)
-  export MS_TAG=$(echo "${UPDATE_INFO}" | jq -r '.name')
+  if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+    if [[ "${VSCODE_LATEST}" == "yes" ]] || [[ ! -f "insider.json" ]]; then
+      UPDATE_INFO=$( curl https://update.code.visualstudio.com/api/update/darwin/insider/lol )
+    else
+      export MS_COMMIT=$(jq -r '.commit' insider.json)
+      export MS_TAG=$(jq -r '.tag' insider.json)
+    fi
+  else
+    UPDATE_INFO=$( curl https://update.code.visualstudio.com/api/update/darwin/stable/lol )
+  fi
+
+  if [[ -z "${MS_COMMIT}" ]]; then
+    export MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
+    export MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
+  fi
+
   date=$( date +%Y%j )
-  export RELEASE_VERSION="${MS_TAG}.${date: -5}"
+
+  if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+    export RELEASE_VERSION="${MS_TAG/\-insider/}.${date: -5}-insider"
+  else
+    export RELEASE_VERSION="${MS_TAG}.${date: -5}"
+  fi
 else
   if [[ "${RELEASE_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.[0-9]+$ ]];
   then
@@ -31,15 +50,15 @@ git init -q
 git remote add origin https://github.com/Microsoft/vscode.git
 
 # figure out latest tag by calling MS update API
-if [ "${INSIDER}" == "1" ]; then
-  UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/insider/lol)
-  export MS_COMMIT=$(echo "${UPDATE_INFO}" | jq -r '.version')
-  export MS_TAG=$(echo "${UPDATE_INFO}" | jq -r '.name')
-elif [[ -z "${MS_TAG}" ]]; then
-  UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/stable/lol)
-  export MS_COMMIT=$(echo "${UPDATE_INFO}" | jq -r '.version')
-  export MS_TAG=$(echo "${UPDATE_INFO}" | jq -r '.name')
-else
+if [[ -z "${MS_TAG}" ]]; then
+  if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+    UPDATE_INFO=$( curl https://update.code.visualstudio.com/api/update/darwin/insider/lol )
+  else
+    UPDATE_INFO=$( curl https://update.code.visualstudio.com/api/update/darwin/stable/lol )
+  fi
+  export MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
+  export MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
+elif [[ -z "${MS_COMMIT}" ]]; then
   reference=$( git ls-remote --tags | grep -x ".*refs\/tags\/${MS_TAG}" | head -1 )
 
   if [[ -z "${reference}" ]]; then

+ 71 - 59
icons/build_icons.sh

@@ -5,6 +5,16 @@ set -e
 # DEBUG
 # set -o xtrace
 
+QUALITY="stable"
+
+while getopts ":i" opt; do
+  case "$opt" in
+    i)
+      export QUALITY="insider"
+      ;;
+  esac
+done
+
 check_programs() {
   for arg in "$@"
   do
@@ -27,15 +37,15 @@ build_darwin_types() {
     if [ -f "${file}" ]; then
       name=$(basename "${file}" '.icns')
 
-      if [[ ${name} != 'code' ]] && [ ! -f "${SRC_PREFIX}src/resources/darwin/${name}.icns" ]; then
+      if [[ ${name} != 'code' ]] && [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/${name}.icns" ]; then
         icns2png -x -s 512x512 "${file}" -o .
 
-        composite -blend 100% -geometry +323+365 icons/corner_512.png "${name}_512x512x32.png" "${name}.png"
-        composite icons/code_darwin.png "${name}.png" "${name}.png"
+        composite -blend 100% -geometry +323+365 "icons/corner_512.png" "${name}_512x512x32.png" "${name}.png"
+        composite "icons/${QUALITY}/code_darwin.png" "${name}.png" "${name}.png"
 
         convert "${name}.png" -resize 256x256 "${name}_256.png"
 
-        png2icns "${SRC_PREFIX}src/resources/darwin/${name}.icns" "${name}.png" "${name}_256.png"
+        png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/${name}.icns" "${name}.png" "${name}_256.png"
 
         rm "${name}_512x512x32.png" "${name}.png" "${name}_256.png"
       fi
@@ -44,103 +54,105 @@ build_darwin_types() {
 }
 
 build_darwin_main() {
-  if [ ! -f "${SRC_PREFIX}src/resources/darwin/code.icns" ]; then
-    convert "${SRC_PREFIX}src/resources/linux/code.png" -resize 512x512 code_512.png
-    convert "${SRC_PREFIX}src/resources/linux/code.png" -resize 256x256 code_256.png
-    convert "${SRC_PREFIX}src/resources/linux/code.png" -resize 128x128 code_128.png
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" ]; then
+    convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -resize 512x512 code_512.png
+    convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -resize 256x256 code_256.png
+    convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -resize 128x128 code_128.png
 
-    png2icns "${SRC_PREFIX}src/resources/darwin/code.icns" code_512.png code_256.png code_128.png
+    png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" code_512.png code_256.png code_128.png
 
     rm code_512.png code_256.png code_128.png
   fi
 }
 
 build_win32() {
+  mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/win32"
+
   for file in "${VSCODE_PREFIX}"vscode/resources/win32/*.ico
   do
     if [ -f "${file}" ]; then
       name=$(basename "${file}" '.ico')
 
-      if [[ ${name} != 'code' ]] && [ ! -f "${SRC_PREFIX}src/resources/win32/${name}.ico" ]; then
+      if [[ ${name} != 'code' ]] && [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico" ]; then
         icotool -x -w 256 "${file}"
 
-        composite -geometry +150+185 icons/code_64.png "${name}_9_256x256x32.png" "${name}.png"
+        composite -geometry +150+185 "icons/${QUALITY}/code_64.png" "${name}_1_256x256x32.png" "${name}.png"
 
-        convert "${name}.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/resources/win32/${name}.ico"
+        convert "${name}.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico"
 
-        rm "${name}_9_256x256x32.png" "${name}.png"
+        rm "${name}_1_256x256x32.png" "${name}.png"
       fi
     fi
   done
 
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/code.ico" ]; then
-    convert "${SRC_PREFIX}src/resources/linux/code.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/resources/win32/code.ico"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico" ]; then
+    convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico"
   fi
 
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-100.bmp" ]; then
-    convert -size 164x314 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-100.bmp"
-    composite -size 126x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-100.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-100.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp" ]; then
+    convert -size 164x314 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp"
+    composite -size 126x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-125.bmp" ]; then
-    convert -size 192x386 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-125.bmp"
-    composite -size 147x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-125.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-125.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp" ]; then
+    convert -size 192x386 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp"
+    composite -size 147x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-150.bmp" ]; then
-    convert -size 246x459 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-150.bmp"
-    composite -size 190x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-150.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-150.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp" ]; then
+    convert -size 246x459 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp"
+    composite -size 190x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-175.bmp" ]; then
-    convert -size 273x556 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-175.bmp"
-    composite -size 211x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-175.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-175.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp" ]; then
+    convert -size 273x556 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp"
+    composite -size 211x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-200.bmp" ]; then
-    convert -size 328x604 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-200.bmp"
-    composite -size 255x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-200.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-200.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp" ]; then
+    convert -size 328x604 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp"
+    composite -size 255x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-225.bmp" ]; then
-    convert -size 355x700 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-225.bmp"
-    composite -size 273x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-225.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-225.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp" ]; then
+    convert -size 355x700 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp"
+    composite -size 273x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-250.bmp" ]; then
-    convert -size 410x797 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-250.bmp"
-    composite -size 317x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-250.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-250.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp" ]; then
+    convert -size 410x797 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp"
+    composite -size 317x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp"
   fi
 
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-100.bmp" ]; then
-    convert -size 55x55 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-100.bmp"
-    composite -size 44x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-100.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-100.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp" ]; then
+    convert -size 55x55 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp"
+    composite -size 44x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-125.bmp" ]; then
-    convert -size 64x68 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-125.bmp"
-    composite -size 52x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-125.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-125.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp" ]; then
+    convert -size 64x68 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp"
+    composite -size 52x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-150.bmp" ]; then
-    convert -size 83x80 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-150.bmp"
-    composite -size 63x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-150.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-150.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp" ]; then
+    convert -size 83x80 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp"
+    composite -size 63x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-175.bmp" ]; then
-    convert -size 92x97 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-175.bmp"
-    composite -size 76x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-175.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-175.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp" ]; then
+    convert -size 92x97 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp"
+    composite -size 76x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-200.bmp" ]; then
-    convert -size 110x106 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-200.bmp"
-    composite -size 86x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-200.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-200.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp" ]; then
+    convert -size 110x106 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp"
+    composite -size 86x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-225.bmp" ]; then
-    convert -size 119x123 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-225.bmp"
-    composite -size 103x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-225.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-225.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp" ]; then
+    convert -size 119x123 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp"
+    composite -size 103x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp"
   fi
-  if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp" ]; then
-    convert -size 138x140 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp"
-    composite -size 116x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp"
+  if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp" ]; then
+    convert -size 138x140 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp"
+    composite -size 116x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp"
   fi
   if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp" ]; then
     convert -size 493x58 xc:white "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp"
-    composite -geometry +438+6 \( icons/codium_only.svg -resize 50x50 \) "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp" "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp"
+    composite -geometry +438+6 \( "icons/${QUALITY}/codium_only.svg" -resize 50x50 \) "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp" "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp"
   fi
   if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp" ]; then
     convert -size 493x312 xc:white "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp"
-    composite -geometry +22+152 \( icons/codium_only.svg -resize 120x90 \) "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp" "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp"
+    composite -geometry +22+152 \( "icons/${QUALITY}/codium_only.svg" -resize 120x90 \) "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp" "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp"
   fi
 }
 

BIN
icons/insider/code_64.png


BIN
icons/insider/code_darwin.png


Fișier diff suprimat deoarece este prea mare
+ 10 - 0
icons/insider/codium_only.svg


+ 0 - 0
icons/code_64.png → icons/stable/code_64.png


+ 0 - 0
icons/code_darwin.png → icons/stable/code_darwin.png


+ 0 - 0
icons/codium_only.svg → icons/stable/codium_only.svg


+ 4 - 0
insider.json

@@ -0,0 +1,4 @@
+{
+  "tag": "1.71.0",
+  "commit": "7ed02a69658fc07f08740b98fa0d8d96c1a61ed4"
+}

+ 99 - 44
prepare_vscode.sh

@@ -5,7 +5,12 @@ set -e
 # include common functions
 . ./utils.sh
 
-cp -rp src/* vscode/
+if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+  cp -rp src/insider/* vscode/
+else
+  cp -rp src/stable/* vscode/
+fi
+
 cp -f LICENSE vscode/LICENSE.txt
 
 cd vscode || { echo "'vscode' dir not found"; exit 1; }
@@ -25,6 +30,18 @@ for file in ../patches/*.patch; do
   fi
 done
 
+if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+  for file in ../patches/insider/*.patch; do
+    if [ -f "${file}" ]; then
+      echo applying patch: "${file}";
+      git apply --ignore-whitespace "${file}"
+      if [ $? -ne 0 ]; then
+        echo failed to apply patch "${file}" 1>&2
+      fi
+    fi
+  done
+fi
+
 for file in ../patches/user/*.patch; do
   if [ -f "${file}" ]; then
     echo applying user patch: "${file}";
@@ -54,53 +71,87 @@ else
   CHILD_CONCURRENCY=1 yarn --frozen-lockfile
 fi
 
-mv product.json product.json.bak
+cp product.json product.json.bak
+
+setpath() {
+  echo "$( cat "${1}.json" | jq --arg 'path' "${2}" --arg 'value' "${3}" 'setpath([$path]; $value)' )" > "${1}.json"
+}
+
+setpath_json() {
+  echo "$( cat "${1}.json" | jq --arg 'path' "${2}" --argjson 'value' "${3}" 'setpath([$path]; $value)' )" > "${1}.json"
+}
 
 # set fields in product.json
-checksumFailMoreInfoUrl='setpath(["checksumFailMoreInfoUrl"]; "https://go.microsoft.com/fwlink/?LinkId=828886")'
-tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
-twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
-requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
-documentationUrl='setpath(["documentationUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533484#vscode")'
-introductoryVideosUrl='setpath(["introductoryVideosUrl"]; "https://go.microsoft.com/fwlink/?linkid=832146")'
-updateUrl='setpath(["updateUrl"]; "https://vscodium.now.sh")'
-releaseNotesUrl='setpath(["releaseNotesUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533483#vscode")'
-keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.microsoft.com/fwlink/?linkid=832143")'
-keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
-keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
-quality='setpath(["quality"]; "stable")'
-extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item"})'
-linkProtectionTrustedDomains='setpath(["linkProtectionTrustedDomains"]; ["https://open-vsx.org"])'
-nameShort='setpath(["nameShort"]; "VSCodium")'
-nameLong='setpath(["nameLong"]; "VSCodium")'
-linuxIconName='setpath(["linuxIconName"]; "vscodium")'
-applicationName='setpath(["applicationName"]; "codium")'
-win32MutexName='setpath(["win32MutexName"]; "vscodium")'
-win32DirName='setpath(["win32DirName"]; "VSCodium")'
-win32NameVersion='setpath(["win32NameVersion"]; "VSCodium")'
-win32RegValueName='setpath(["win32RegValueName"]; "VSCodium")'
-win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
-win32ShellNameShort='setpath(["win32ShellNameShort"]; "VSCodium")'
-win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
-urlProtocol='setpath(["urlProtocol"]; "vscodium")'
-serverApplicationName='setpath(["serverApplicationName"]; "codium-server")'
-serverDataFolderName='setpath(["serverDataFolderName"]; ".vscodium-server")'
-reportIssueUrl='setpath(["reportIssueUrl"]; "https://github.com/VSCodium/vscodium/issues/new")'
-licenseUrl='setpath(["licenseUrl"]; "https://github.com/VSCodium/vscodium/blob/master/LICENSE")'
-
-product_json_changes="${checksumFailMoreInfoUrl} | ${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${linkProtectionTrustedDomains} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${serverApplicationName} | ${serverDataFolderName} | ${reportIssueUrl} | ${licenseUrl}"
-cat product.json.bak | jq "${product_json_changes}" > product.json.tmp
-
-jq -s '.[0] * .[1]' product.json.tmp ../product.json > product.json
-rm -f product.json.tmp
+setpath "product" "checksumFailMoreInfoUrl" "https://go.microsoft.com/fwlink/?LinkId=828886"
+setpath "product" "documentationUrl" "https://go.microsoft.com/fwlink/?LinkID=533484#vscode"
+setpath_json "product" "extensionsGallery" '{"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item"}'
+setpath "product" "introductoryVideosUrl" "https://go.microsoft.com/fwlink/?linkid=832146"
+setpath "product" "keyboardShortcutsUrlLinux" "https://go.microsoft.com/fwlink/?linkid=832144"
+setpath "product" "keyboardShortcutsUrlMac" "https://go.microsoft.com/fwlink/?linkid=832143"
+setpath "product" "keyboardShortcutsUrlWin" "https://go.microsoft.com/fwlink/?linkid=832145"
+setpath "product" "licenseUrl" "https://github.com/VSCodium/vscodium/blob/master/LICENSE"
+setpath "product" "linkProtectionTrustedDomains" '["https://open-vsx.org"]'
+setpath "product" "releaseNotesUrl" "https://go.microsoft.com/fwlink/?LinkID=533483#vscode"
+setpath "product" "reportIssueUrl" "https://github.com/VSCodium/vscodium/issues/new"
+setpath "product" "requestFeatureUrl" "https://go.microsoft.com/fwlink/?LinkID=533482"
+setpath "product" "tipsAndTricksUrl" "https://go.microsoft.com/fwlink/?linkid=852118"
+setpath "product" "twitterUrl" "https://go.microsoft.com/fwlink/?LinkID=533687"
+setpath "product" "updateUrl" "https://vscodium.now.sh"
+
+if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+  setpath "product" "nameShort" "VSCodium - Insiders"
+  setpath "product" "nameLong" "VSCodium - Insiders"
+  setpath "product" "applicationName" "codium-insiders"
+  setpath "product" "dataFolderName" ".vscodium-insiders"
+  setpath "product" "linuxIconName" "vscodium-insiders"
+  setpath "product" "quality" "insider"
+  setpath "product" "urlProtocol" "vscodium-insiders"
+  setpath "product" "serverApplicationName" "codium-server-insiders"
+  setpath "product" "serverDataFolderName" ".vscodium-server-insiders"
+  setpath "product" "darwinBundleIdentifier" "com.vscodium.VSCodiumInsiders"
+  setpath "product" "win32AppUserModelId" "VSCodium.VSCodiumInsiders"
+  setpath "product" "win32DirName" "VSCodium Insiders"
+  setpath "product" "win32MutexName" "vscodiuminsiders"
+  setpath "product" "win32NameVersion" "VSCodium Insiders"
+  setpath "product" "win32RegValueName" "VSCodiumInsiders"
+  setpath "product" "win32ShellNameShort" "VSCodium Insiders"
+  setpath "product" "win32AppId" "{{EF35BB36-FA7E-4BB9-B7DA-D1E09F2DA9C9}"
+  setpath "product" "win32x64AppId" "{{B2E0DDB2-120E-4D34-9F7E-8C688FF839A2}"
+  setpath "product" "win32arm64AppId" "{{44721278-64C6-4513-BC45-D48E07830599}"
+  setpath "product" "win32UserAppId" "{{ED2E5618-3E7E-4888-BF3C-A6CCC84F586F}"
+  setpath "product" "win32x64UserAppId" "{{20F79D0D-A9AC-4220-9A81-CE675FFB6B41}"
+  setpath "product" "win32arm64UserAppId" "{{2E362F92-14EA-455A-9ABD-3E656BBBFE71}"
+else
+  setpath "product" "nameShort" "VSCodium"
+  setpath "product" "nameLong" "VSCodium"
+  setpath "product" "applicationName" "codium"
+  setpath "product" "linuxIconName" "vscodium"
+  setpath "product" "quality" "stable"
+  setpath "product" "urlProtocol" "vscodium"
+  setpath "product" "serverApplicationName" "codium-server"
+  setpath "product" "serverDataFolderName" ".vscodium-server"
+  setpath "product" "darwinBundleIdentifier" "com.vscodium"
+  setpath "product" "win32AppUserModelId" "VSCodium.VSCodium"
+  setpath "product" "win32DirName" "VSCodium"
+  setpath "product" "win32MutexName" "vscodium"
+  setpath "product" "win32NameVersion" "VSCodium"
+  setpath "product" "win32RegValueName" "VSCodium"
+  setpath "product" "win32ShellNameShort" "VSCodium"
+  setpath "product" "win32AppId" "{{763CBF88-25C6-4B10-952F-326AE657F16B}"
+  setpath "product" "win32x64AppId" "{{88DA3577-054F-4CA1-8122-7D820494CFFB}"
+  setpath "product" "win32arm64AppId" "{{67DEE444-3D04-4258-B92A-BC1F0FF2CAE4}"
+  setpath "product" "win32UserAppId" "{{0FD05EB4-651E-4E78-A062-515204B47A3A}"
+  setpath "product" "win32x64UserAppId" "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}"
+  setpath "product" "win32arm64UserAppId" "{{57FD70A5-1B8D-4875-9F40-C5553F094828}"
+fi
+
+echo "$( jq -s '.[0] * .[1]' product.json ../product.json )" > product.json
 
 cat product.json
 
-mv package.json package.json.bak
-package_json_changes="setpath(["\""version"\""]; "\""${RELEASE_VERSION}"\"") | setpath(["\""release"\""]; "\""${RELEASE_VERSION}"\"")"
-cat package.json.bak | jq "${package_json_changes}" > package.json
-gsed -i -E 's/"version": "(.*)\.([0-9]+)"/"version": "\1"/' package.json
-gsed -i -E 's/"release": "(.*)\.([0-9]+)"/"release": "\2"/' package.json
+cp package.json package.json.bak
+setpath "package" "version" $( echo "${RELEASE_VERSION}" | sed -n -E "s/^(.*)\.([0-9]+)(-insider)?$/\1/p" )
+setpath "package" "release" $( echo "${RELEASE_VERSION}" | sed -n -E "s/^(.*)\.([0-9]+)(-insider)?$/\2/p" )
 
 ../undo_telemetry.sh
 
@@ -109,7 +160,11 @@ if [[ "${OS_NAME}" == "linux" ]]; then
   # unless the app name is code-oss
   # as we are renaming the application to vscodium
   # we need to edit a line in the post install template
-  sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
+  if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+    sed -i "s/code-oss/codium-insiders/" resources/linux/debian/postinst.template
+  else
+    sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
+  fi
 
   # fix the packages metadata
   # code.appdata.xml

+ 12 - 7
release.sh

@@ -7,26 +7,31 @@ if [[ -z "${GITHUB_TOKEN}" ]]; then
   exit
 fi
 
+OWNER="${GITHUB_REPOSITORY_OWNER:-"VSCodium"}"
+REPO_NAME="${GITHUB_REPOSITORY:(${#OWNER}+1)}"
+
+if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
+  REPOSITORY="${REPO_NAME:-"vscodium"}-insiders"
+else
+  REPOSITORY="${REPO_NAME:-"vscodium"}"
+fi
+
 npm install -g github-release-cli
 
 if [[ $( gh release view "${RELEASE_VERSION}" 2>&1 ) =~ "release not found" ]]; then
   echo "Creating release '${RELEASE_VERSION}'"
-  gh release create "${RELEASE_VERSION}"
+  gh release create --repo "${REPOSITORY}" "${RELEASE_VERSION}"
 fi
 
 cd artifacts
 
 set +e
 
-OWNER="${GITHUB_REPOSITORY_OWNER:-"VSCodium"}"
-REPO_NAME="${GITHUB_REPOSITORY:(${#OWNER}+1)}"
-REPOSITORY="${REPO_NAME:-"vscodium"}"
-
 for FILE in *
 do
   if [[ -f "${FILE}" ]] && [[ "${FILE}" != *.sha1 ]] && [[ "${FILE}" != *.sha256 ]]; then
     echo "::group::Uploading '${FILE}' at $( date "+%T" )"
-    gh release upload "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
+    gh release upload --repo "${REPOSITORY}" "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
 
     EXIT_STATUS=$?
     echo "exit: ${EXIT_STATUS}"
@@ -39,7 +44,7 @@ do
         sleep $(( 15 * (i + 1)))
 
         echo "RE-Uploading '${FILE}' at $( date "+%T" )"
-        gh release upload "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
+        gh release upload --repo "${REPOSITORY}" "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
 
         EXIT_STATUS=$?
         echo "exit: ${EXIT_STATUS}"

BIN
src/insider/resources/darwin/bat.icns


BIN
src/insider/resources/darwin/bower.icns


BIN
src/insider/resources/darwin/c.icns


BIN
src/insider/resources/darwin/code.icns


BIN
src/insider/resources/darwin/config.icns


BIN
src/insider/resources/darwin/cpp.icns


BIN
src/insider/resources/darwin/csharp.icns


BIN
src/insider/resources/darwin/css.icns


BIN
src/insider/resources/darwin/default.icns


BIN
src/insider/resources/darwin/go.icns


BIN
src/insider/resources/darwin/html.icns


BIN
src/insider/resources/darwin/jade.icns


BIN
src/insider/resources/darwin/java.icns


BIN
src/insider/resources/darwin/javascript.icns


BIN
src/insider/resources/darwin/json.icns


BIN
src/insider/resources/darwin/less.icns


BIN
src/insider/resources/darwin/markdown.icns


BIN
src/insider/resources/darwin/php.icns


BIN
src/insider/resources/darwin/powershell.icns


BIN
src/insider/resources/darwin/python.icns


BIN
src/insider/resources/darwin/react.icns


BIN
src/insider/resources/darwin/ruby.icns


BIN
src/insider/resources/darwin/sass.icns


BIN
src/insider/resources/darwin/shell.icns


BIN
src/insider/resources/darwin/sql.icns


BIN
src/insider/resources/darwin/typescript.icns


BIN
src/insider/resources/darwin/vue.icns


BIN
src/insider/resources/darwin/xml.icns


BIN
src/insider/resources/darwin/yaml.icns


BIN
src/insider/resources/linux/code.png


+ 0 - 0
src/resources/linux/rpm/code.xpm → src/insider/resources/linux/rpm/code.xpm


BIN
src/insider/resources/win32/bower.ico


BIN
src/insider/resources/win32/c.ico


BIN
src/insider/resources/win32/code.ico


BIN
src/insider/resources/win32/config.ico


BIN
src/insider/resources/win32/cpp.ico


BIN
src/insider/resources/win32/csharp.ico


BIN
src/insider/resources/win32/css.ico


BIN
src/insider/resources/win32/default.ico


BIN
src/insider/resources/win32/go.ico


BIN
src/insider/resources/win32/html.ico


BIN
src/insider/resources/win32/inno-big-100.bmp


BIN
src/insider/resources/win32/inno-big-125.bmp


BIN
src/insider/resources/win32/inno-big-150.bmp


BIN
src/insider/resources/win32/inno-big-175.bmp


BIN
src/insider/resources/win32/inno-big-200.bmp


BIN
src/insider/resources/win32/inno-big-225.bmp


BIN
src/insider/resources/win32/inno-big-250.bmp


BIN
src/insider/resources/win32/inno-small-100.bmp


BIN
src/insider/resources/win32/inno-small-125.bmp


BIN
src/insider/resources/win32/inno-small-150.bmp


BIN
src/insider/resources/win32/inno-small-175.bmp


BIN
src/insider/resources/win32/inno-small-200.bmp


BIN
src/insider/resources/win32/inno-small-225.bmp


BIN
src/insider/resources/win32/inno-small-250.bmp


BIN
src/insider/resources/win32/jade.ico


BIN
src/insider/resources/win32/java.ico


BIN
src/insider/resources/win32/javascript.ico


BIN
src/insider/resources/win32/json.ico


BIN
src/insider/resources/win32/less.ico


BIN
src/insider/resources/win32/markdown.ico


BIN
src/insider/resources/win32/php.ico


BIN
src/insider/resources/win32/powershell.ico


BIN
src/insider/resources/win32/python.ico


BIN
src/insider/resources/win32/react.ico


BIN
src/insider/resources/win32/ruby.ico


BIN
src/insider/resources/win32/sass.ico


BIN
src/insider/resources/win32/shell.ico


BIN
src/insider/resources/win32/sql.ico


BIN
src/insider/resources/win32/typescript.ico


BIN
src/insider/resources/win32/vue.ico


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff