diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..b7b0e05d89 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,42 @@ +name: Build + +# Called from ci +on: + workflow_call: + +jobs: + build: + name: Build + strategy: + fail-fast: false + matrix: + os: + - macos-15-intel + - ubuntu-latest + - windows-latest + arch: + - x64 + include: + - os: macos-latest + arch: arm64 + - os: ubuntu-24.04-arm + arch: armv7l + runs-on: '${{ matrix.os }}' + steps: + - run: git config --global core.autocrlf input + - name: Checkout + uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1 + - name: Setup Node.js + uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 + with: + node-version-file: .nvmrc + cache: 'yarn' + - name: Install dependencies + run: yarn --immutable + - run: yarn run contributors + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: yarn run electron-releases + # Artifacts generated are unsigned + - name: Run Forge makers + run: yarn run make diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..1f36304ad3 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,29 @@ +name: CI + +on: + pull_request: + push: + branches: + - main + +permissions: + contents: read + +jobs: + test: + permissions: + contents: read + uses: ./.github/workflows/test.yml + build: + permissions: + contents: read + uses: ./.github/workflows/build.yml + gha-done: + name: GitHub Actions Completed + runs-on: ubuntu-latest + needs: [test, build] + if: always() && !contains(needs.*.result, 'failure') + steps: + - name: GitHub Actions Jobs Done + run: | + echo "All GitHub Actions Jobs are done" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e742a6fb47..26aab0862e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,7 +40,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 with: - node-version: '22.17.x' + node-version-file: .nvmrc - run: yarn install --immutable - run: yarn run contributors env: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 341d673fe3..6de288d57f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,17 +1,9 @@ +# Called during ci and release name: Test on: - pull_request: - branches: - - main - push: - branches: - - main workflow_call: -permissions: - contents: read - jobs: test: name: Test @@ -29,7 +21,7 @@ jobs: arch: arm64 - os: ubuntu-24.04-arm arch: armv7l - runs-on: "${{ matrix.os }}" + runs-on: '${{ matrix.os }}' steps: - run: git config --global core.autocrlf input - name: Checkout @@ -37,7 +29,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 with: - node-version: '22.17.x' + node-version-file: .nvmrc cache: 'yarn' - name: Install dependencies run: yarn --immutable @@ -49,13 +41,3 @@ jobs: run: yarn run lint && yarn run format - name: Test run: yarn tsc && yarn test:ci - - gha-done: - name: GitHub Actions Completed - runs-on: ubuntu-latest - needs: [test] - if: always() && !contains(needs.*.result, 'failure') - steps: - - name: GitHub Actions Jobs Done - run: | - echo "All GitHub Actions Jobs are done" diff --git a/.nvmrc b/.nvmrc index 8fdd954df9..e763ca155d 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22 \ No newline at end of file +22.17 \ No newline at end of file diff --git a/forge.config.ts b/forge.config.ts index 40fb6b3a05..20766cb917 100644 --- a/forge.config.ts +++ b/forge.config.ts @@ -124,7 +124,9 @@ const config: ForgeConfig = { noMsi: true, setupExe: `electron-fiddle-${version}-win32-${arch}-setup.exe`, setupIcon: path.resolve(iconDir, 'fiddle.ico'), - signWithParams: `/sha1 ${process.env.CERT_FINGERPRINT} /tr http://timestamp.digicert.com /td SHA256 /fd SHA256`, + signWithParams: process.env.CERT_FINGERPRINT + ? `/sha1 ${process.env.CERT_FINGERPRINT} /tr http://timestamp.digicert.com /td SHA256 /fd SHA256` + : undefined, }), }, { diff --git a/package.json b/package.json index 3ab220d4d8..e5aaf8ca79 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "@types/enzyme-adapter-react-16": "^1.0.6", "@types/fs-extra": "^9.0.7", "@types/getos": "^3.0.1", - "@types/node": "~22.10.7", + "@types/node": "^22.19.1", "@types/parse-env-string": "^1.0.2", "@types/react": "^16.14.0", "@types/react-dom": "^16.9.11", diff --git a/yarn.lock b/yarn.lock index bcd05cee04..8c4c2dbe66 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3315,12 +3315,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:~22.10.7": - version: 22.10.10 - resolution: "@types/node@npm:22.10.10" +"@types/node@npm:^22.19.1": + version: 22.19.1 + resolution: "@types/node@npm:22.19.1" dependencies: - undici-types: "npm:~6.20.0" - checksum: 10c0/3425772d4513cd5dbdd87c00acda088113c03a97445f84f6a89744c60a66990b56c9d3a7213d09d57b6b944ae8ff45f985565e0c1846726112588e33a22dd12b + undici-types: "npm:~6.21.0" + checksum: 10c0/6edd93aea86da740cb7872626839cd6f4a67a049d3a3a6639cb592c620ec591408a30989ab7410008d1a0b2d4985ce50f1e488e79c033e4476d3bec6833b0a2f languageName: node linkType: hard @@ -6149,7 +6149,7 @@ __metadata: "@types/enzyme-adapter-react-16": "npm:^1.0.6" "@types/fs-extra": "npm:^9.0.7" "@types/getos": "npm:^3.0.1" - "@types/node": "npm:~22.10.7" + "@types/node": "npm:^22.19.1" "@types/parse-env-string": "npm:^1.0.2" "@types/react": "npm:^16.14.0" "@types/react-dom": "npm:^16.9.11" @@ -14768,13 +14768,6 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.20.0": - version: 6.20.0 - resolution: "undici-types@npm:6.20.0" - checksum: 10c0/68e659a98898d6a836a9a59e6adf14a5d799707f5ea629433e025ac90d239f75e408e2e5ff086afc3cace26f8b26ee52155293564593fbb4a2f666af57fc59bf - languageName: node - linkType: hard - "undici-types@npm:~6.21.0": version: 6.21.0 resolution: "undici-types@npm:6.21.0"