File tree Expand file tree Collapse file tree 4 files changed +97
-2
lines changed Expand file tree Collapse file tree 4 files changed +97
-2
lines changed Original file line number Diff line number Diff line change 5050
5151      - run : npm run build 
5252        env :
53+           ENABLE_SIGNING : true 
5354          GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} 
5455          #  For Mac notarization:
5556          APPLE_API_ISSUER : ${{ secrets.APPLE_API_ISSUER }} 
Original file line number Diff line number Diff line change 1+ #  PR check workflow - should be equilvalent to the build step of the CI workflow, but
2+ #  with signing disabled (and obviously no publishing etc either).
3+ 
4+ name : PR Check 
5+ on :
6+   - pull_request 
7+   - push 
8+ jobs :
9+   build :
10+     name : Build & test (unsigned) 
11+     strategy :
12+       matrix :
13+         include :
14+           - platform : linux 
15+             arch : x64 
16+             os : " ubuntu-22.04" 
17+           - platform : linux 
18+             arch : arm64 
19+             os : " ubuntu-24.04-arm" 
20+           - platform : windows 
21+             arch : x64 
22+             os : " windows-2022" 
23+           - platform : mac 
24+             arch : x64 
25+             os : " macos-13" 
26+           - platform : mac 
27+             arch : arm64 
28+             os : " macos-14" 
29+     runs-on : ${{ matrix.os }} 
30+     steps :
31+       - uses : actions/checkout@v4 
32+ 
33+       - uses : actions/setup-node@v4 
34+         with :
35+           node-version : 22.20.0 
36+           check-latest : true 
37+           cache : ' npm' 
38+ 
39+       - name : Install system FPM to fix ARM64 Linux builds 
40+         if : matrix.platform == 'linux' && matrix.arch == 'arm64' 
41+         run : | 
42+           sudo apt-get update 
43+           sudo apt-get install ruby ruby-dev build-essential 
44+           sudo gem install --no-document fpm 
45+ 
46+ run : npm ci 
47+ 
48+       - run : npm run build 
49+         env :
50+           #  Build dev builds only
51+           ENABLE_SIGNING : false 
52+           GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} 
53+           USE_SYSTEM_FPM : ${{ matrix.platform == 'linux' && matrix.arch == 'arm64' }} 
54+ 
55+       - uses : actions/upload-artifact@v4 
56+         with :
57+           name : ${{ matrix.platform }}-${{ matrix.arch }}-distributables 
58+           path : dist/HttpToolkit-* 
59+           if-no-files-found : error 
Original file line number Diff line number Diff line change 1+ // This config just re-exposes the config from package.json, but 
2+ // disables code signing & notarization for PR builds where it won't work. 
3+ 
4+ const  packageJson  =  require ( './package.json' ) ; 
5+ 
6+ const  unsignedMode  =  process . env . ENABLE_SIGNING  !==  'true' ; 
7+ 
8+ const  config  =  packageJson . build ; 
9+ 
10+ if  ( unsignedMode )  { 
11+   console . log ( '\nBuilding in UNSIGNED mode\n' ) ; 
12+ 
13+   // Make it abundantly clear in the output that the builds aren't signed, so 
14+   // we don't accidentally distribute them. Different app & file names throughout. 
15+   config . productName  =  packageJson . name  +  ' - dev build' ; 
16+   config . extraMetadata . name  +=  '-dev' ; 
17+   config . extraMetadata . productName  +=  '-dev' ; 
18+ 
19+   config . artifactName  =  config . artifactName . replace ( '${ext}' ,  'dev.${ext}' ) ; 
20+   for  ( let  field  in  config )  { 
21+     if  ( config [ field ] ?. artifactName )  { 
22+       config [ field ] . artifactName  = 
23+         config [ field ] . artifactName . replace ( '${ext}' ,  'dev.${ext}' ) ; 
24+     } 
25+   } 
26+ 
27+   config . mac . forceCodeSigning  =  false ; 
28+   config . mac . notarize  =  false ; 
29+   config . win . forceCodeSigning  =  false ; 
30+   process . env . CSC_IDENTITY_AUTO_DISCOVERY  =  'false' ; 
31+ }  else  { 
32+   console . log ( '\nBuilding in SIGNED mode\n' ) ; 
33+ } 
34+ 
35+ module . exports  =  config ; 
Original file line number Diff line number Diff line change 1212    "build" : " npm run build:src && npm run build:electron" 
1313    "build:src" : " tsc" 
1414    "postbuild:src" : " tsx ./strip-preload-map.ts" 
15-     "build:electron" : " npm run server:setup && electron-builder build" 
15+     "build:electron" : " npm run server:setup && electron-builder build --config electron-builder.config.js " 
1616    "build:dir-only" : " npm run server:setup && electron-builder --dir" 
1717    "start" : " npm run server:setup && npm run start:app" 
1818    "start:dev" : " tsx ./skip-server.ts && cross-env HTK_DEV=true APP_URL='http://localhost:8080' npm run start:app" 
7777    },
7878    "nsis" : {
7979      "installerIcon" : " ./src/icons/icon.ico" 
80-       "artifactName" : " HttpToolkit-${version}.exe " 
80+       "artifactName" : " HttpToolkit-${version}.${ext} " 
8181      "deleteAppDataOnUninstall" : true ,
8282      "oneClick" : false ,
8383      "allowToChangeInstallationDirectory" : true ,
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments