Răsfoiți Sursa

ci(linux): update insider workflow [skip ci]

Baptiste Augrain 1 an în urmă
părinte
comite
5269066280
1 a modificat fișierele cu 66 adăugiri și 10 ștergeri
  1. 66 10
      .github/workflows/insider-linux.yml

+ 66 - 10
.github/workflows/insider-linux.yml

@@ -68,40 +68,46 @@ jobs:
       MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
       MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
       MS_TAG: ${{ needs.check.outputs.MS_TAG }}
       MS_TAG: ${{ needs.check.outputs.MS_TAG }}
       RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
       RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
-      SHOULD_BUILD: 'yes'
+      SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
       VSCODE_ARCH: 'x64'
       VSCODE_ARCH: 'x64'
     outputs:
     outputs:
       BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
       BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
-    if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
 
 
     steps:
     steps:
       - uses: actions/checkout@v4
       - uses: actions/checkout@v4
         with:
         with:
           ref: ${{ env.GITHUB_BRANCH }}
           ref: ${{ env.GITHUB_BRANCH }}
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Setup Node.js environment
       - name: Setup Node.js environment
         uses: actions/setup-node@v4
         uses: actions/setup-node@v4
         with:
         with:
           node-version: '18.17'
           node-version: '18.17'
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Install Yarn
       - name: Install Yarn
         run: npm install -g yarn
         run: npm install -g yarn
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Setup Python 3
       - name: Setup Python 3
         uses: actions/setup-python@v5
         uses: actions/setup-python@v5
         with:
         with:
           python-version: '3.11'
           python-version: '3.11'
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Install libkrb5-dev
       - name: Install libkrb5-dev
         run: sudo apt-get install -y libkrb5-dev
         run: sudo apt-get install -y libkrb5-dev
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Clone VSCode repo
       - name: Clone VSCode repo
         run: ./get_repo.sh
         run: ./get_repo.sh
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Build
       - name: Build
         env:
         env:
           SHOULD_BUILD_REH: 'no'
           SHOULD_BUILD_REH: 'no'
         run: ./build.sh
         run: ./build.sh
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Compress vscode artifact
       - name: Compress vscode artifact
         run: |
         run: |
@@ -109,6 +115,7 @@ jobs:
           echo "vscode/.build/extensions/node_modules" >> vscode.txt
           echo "vscode/.build/extensions/node_modules" >> vscode.txt
           echo "vscode/.git" >> vscode.txt
           echo "vscode/.git" >> vscode.txt
           tar -czf vscode.tar.gz -T vscode.txt
           tar -czf vscode.tar.gz -T vscode.txt
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Upload vscode artifact
       - name: Upload vscode artifact
         uses: actions/upload-artifact@v3
         uses: actions/upload-artifact@v3
@@ -116,6 +123,7 @@ jobs:
           name: vscode
           name: vscode
           path: ./vscode.tar.gz
           path: ./vscode.tar.gz
           retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
           retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
+        if: env.SHOULD_BUILD == 'yes'
 
 
   build:
   build:
     needs:
     needs:
@@ -142,52 +150,53 @@ jobs:
       MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
       MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
       MS_TAG: ${{ needs.check.outputs.MS_TAG }}
       MS_TAG: ${{ needs.check.outputs.MS_TAG }}
       RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
       RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
-      SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
+      SHOULD_BUILD: ${{ (needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true') && 'yes' || 'no' }}
       SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
       SHOULD_DEPLOY: ${{ needs.check.outputs.SHOULD_DEPLOY }}
       VSCODE_ARCH: ${{ matrix.vscode_arch }}
       VSCODE_ARCH: ${{ matrix.vscode_arch }}
     outputs:
     outputs:
       RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
       RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
       SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
       SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
       SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
       SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
-    if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
 
 
     steps:
     steps:
       - uses: actions/checkout@v3
       - uses: actions/checkout@v3
         with:
         with:
           ref: ${{ env.GITHUB_BRANCH }}
           ref: ${{ env.GITHUB_BRANCH }}
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Install GH
       - name: Install GH
         run: ./install_gh.sh
         run: ./install_gh.sh
-        if: env.SHOULD_DEPLOY == 'yes'
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
 
 
       - name: Check existing VSCodium tags/releases
       - name: Check existing VSCodium tags/releases
         env:
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           CHECK_REH: 'no'
           CHECK_REH: 'no'
         run: ./check_tags.sh
         run: ./check_tags.sh
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Install libkrb5-dev
       - name: Install libkrb5-dev
         run: sudo apt-get install -y libkrb5-dev
         run: sudo apt-get install -y libkrb5-dev
-        if: env.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Download vscode artifact
       - name: Download vscode artifact
         uses: actions/download-artifact@v3
         uses: actions/download-artifact@v3
         with:
         with:
           name: vscode
           name: vscode
-        if: env.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Build
       - name: Build
         env:
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           npm_config_arch: ${{ matrix.npm_arch }}
           npm_config_arch: ${{ matrix.npm_arch }}
         run: ./package_linux_bin.sh
         run: ./package_linux_bin.sh
-        if: env.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
+        if: env.SHOULD_BUILD == 'yes'
 
 
       - name: Prepare assets
       - name: Prepare assets
         env:
         env:
           SHOULD_BUILD_REH: 'no'
           SHOULD_BUILD_REH: 'no'
         run: ./prepare_assets.sh
         run: ./prepare_assets.sh
-        if: (env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes') || github.event.inputs.generate_assets == 'true'
+        if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
 
 
       - name: Release
       - name: Release
         env:
         env:
@@ -209,7 +218,7 @@ jobs:
           name: bin-${{ matrix.vscode_arch }}
           name: bin-${{ matrix.vscode_arch }}
           path: assets/
           path: assets/
           retention-days: 3
           retention-days: 3
-        if: env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
+        if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'no' && github.event.inputs.generate_assets == 'true'
 
 
   reh:
   reh:
     needs:
     needs:
@@ -307,3 +316,50 @@ jobs:
           aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }}
           aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }}
           aur_username: ${{ secrets.AUR_USERNAME }}
           aur_username: ${{ secrets.AUR_USERNAME }}
           aur_email: ${{ secrets.AUR_EMAIL }}
           aur_email: ${{ secrets.AUR_EMAIL }}
+
+  snap:
+    needs:
+      - check
+      - build
+    runs-on: ubuntu-latest
+    env:
+      RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
+    strategy:
+      fail-fast: false
+      matrix:
+        platform:
+        - amd64
+        - arm64
+    if: needs.check.outputs.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true'
+
+    steps:
+      - uses: actions/checkout@v3
+
+      - uses: docker/setup-qemu-action@v3
+
+      - uses: diddlesnaps/snapcraft-multiarch-action@v1
+        with:
+          path: stores/snapcraft/insider
+          architecture: ${{ matrix.platform }}
+        id: build
+
+      - uses: diddlesnaps/snapcraft-review-action@v1
+        with:
+          snap: ${{ steps.build.outputs.snap }}
+          isClassic: 'true'
+
+      - uses: snapcore/action-publish@master
+        env:
+          SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
+        with:
+          snap: ${{ steps.build.outputs.snap }}
+          release: stable
+        if: needs.check.outputs.SHOULD_DEPLOY == 'yes'
+
+      - name: Upload assets
+        uses: actions/upload-artifact@v3
+        with:
+          name: snap-${{ matrix.platform }}
+          path: ${{ steps.build.outputs.snap }}
+          retention-days: 3
+        if: github.event.inputs.generate_assets == 'true'