ci: rehydrate Electron sandbox before validation
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
Cross-platform packages / Validate source (push) Canceled after 0s
Cross-platform packages / Authorize desktop packaging (push) Canceled after 0s
Cross-platform packages / linux arm64 (push) Canceled after 0s
Cross-platform packages / macos arm64 (push) Canceled after 0s
Cross-platform packages / windows arm64 (push) Canceled after 0s
Cross-platform packages / linux x64 (push) Canceled after 0s
Cross-platform packages / macos x64 (push) Canceled after 0s
Cross-platform packages / windows x64 (push) Canceled after 0s
Cross-platform packages / Publish GitHub and OSS release (push) Canceled after 0s
This commit is contained in:
@@ -44,8 +44,14 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install --no-install-recommends --yes xvfb xauth
|
sudo apt-get install --no-install-recommends --yes xvfb xauth
|
||||||
sudo chown root:root node_modules/electron/dist/chrome-sandbox
|
sandbox="node_modules/electron/dist/chrome-sandbox"
|
||||||
sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
|
if [[ ! -f "$sandbox" ]]; then
|
||||||
|
rm -rf node_modules/electron/dist
|
||||||
|
force_no_cache=true node node_modules/electron/install.js
|
||||||
|
fi
|
||||||
|
test -f "$sandbox"
|
||||||
|
sudo chown root:root "$sandbox"
|
||||||
|
sudo chmod 4755 "$sandbox"
|
||||||
|
|
||||||
- name: Run validators
|
- name: Run validators
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -45,9 +45,10 @@ to a public channel; follow the user's explicit publication instruction.
|
|||||||
workflow. It validates and builds `out` once, then packages on six native
|
workflow. It validates and builds `out` once, then packages on six native
|
||||||
runners: Windows, macOS, and Linux, each for x64 and arm64.
|
runners: Windows, macOS, and Linux, each for x64 and arm64.
|
||||||
- Linux source validation configures the installed Electron `chrome-sandbox`
|
- Linux source validation configures the installed Electron `chrome-sandbox`
|
||||||
helper with root ownership and mode `4755`, then runs the full test suite
|
helper with root ownership and mode `4755`, rehydrates the Electron
|
||||||
under Xvfb. Keep Electron sandboxing enabled; do not skip UI tests or add
|
distribution without cache when the helper is missing, then runs the full
|
||||||
`--no-sandbox` to work around runner setup failures.
|
test suite under Xvfb. Keep Electron sandboxing enabled; do not skip UI tests
|
||||||
|
or add `--no-sandbox` to work around runner setup failures.
|
||||||
- The experimental Linux LoongArch (`loong64`) preview is built separately
|
- The experimental Linux LoongArch (`loong64`) preview is built separately
|
||||||
through `build/loongarch-cross` by following
|
through `build/loongarch-cross` by following
|
||||||
`docs/development/loongarch-preview-build.md`. It is not part of
|
`docs/development/loongarch-preview-build.md`. It is not part of
|
||||||
|
|||||||
@@ -59,8 +59,11 @@ describe('desktop packages workflow', () => {
|
|||||||
expect(prepareIndex).toBeGreaterThan(installIndex)
|
expect(prepareIndex).toBeGreaterThan(installIndex)
|
||||||
expect(validatorsIndex).toBeGreaterThan(prepareIndex)
|
expect(validatorsIndex).toBeGreaterThan(prepareIndex)
|
||||||
expect(steps[prepareIndex]?.run).toContain('sudo apt-get install --no-install-recommends --yes xvfb xauth')
|
expect(steps[prepareIndex]?.run).toContain('sudo apt-get install --no-install-recommends --yes xvfb xauth')
|
||||||
expect(steps[prepareIndex]?.run).toContain('sudo chown root:root node_modules/electron/dist/chrome-sandbox')
|
expect(steps[prepareIndex]?.run).toContain('if [[ ! -f "$sandbox" ]]')
|
||||||
expect(steps[prepareIndex]?.run).toContain('sudo chmod 4755 node_modules/electron/dist/chrome-sandbox')
|
expect(steps[prepareIndex]?.run).toContain('force_no_cache=true node node_modules/electron/install.js')
|
||||||
|
expect(steps[prepareIndex]?.run).toContain('test -f "$sandbox"')
|
||||||
|
expect(steps[prepareIndex]?.run).toContain('sudo chown root:root "$sandbox"')
|
||||||
|
expect(steps[prepareIndex]?.run).toContain('sudo chmod 4755 "$sandbox"')
|
||||||
expect(steps[validatorsIndex]?.run).toContain('xvfb-run --auto-servernum npm test')
|
expect(steps[validatorsIndex]?.run).toContain('xvfb-run --auto-servernum npm test')
|
||||||
expect(steps[validatorsIndex]?.run).toContain('npm run typecheck')
|
expect(steps[validatorsIndex]?.run).toContain('npm run typecheck')
|
||||||
expect(steps[validatorsIndex]?.run).toContain('npm run lint')
|
expect(steps[validatorsIndex]?.run).toContain('npm run lint')
|
||||||
|
|||||||
Reference in New Issue
Block a user