mirror of
https://github.com/electron/electron.git
synced 2026-02-26 03:01:17 -05:00
Compare commits
87 Commits
roller/nod
...
fix/codesi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9c045e97a7 | ||
|
|
6a87d47e83 | ||
|
|
c05faa7bad | ||
|
|
5b6403eb11 | ||
|
|
1c6bb418bd | ||
|
|
ed27a77558 | ||
|
|
57a6e43025 | ||
|
|
ef5b232e9f | ||
|
|
99fce5b6ca | ||
|
|
7c66112e88 | ||
|
|
fd0108907a | ||
|
|
3fa3e91f90 | ||
|
|
a3563422c4 | ||
|
|
9db2290bcd | ||
|
|
60d35bbaf4 | ||
|
|
15dc7170ef | ||
|
|
59e434a27f | ||
|
|
dec7f937ae | ||
|
|
50381a6d57 | ||
|
|
41c7e9bb21 | ||
|
|
9740c989da | ||
|
|
4ea2d816b8 | ||
|
|
6a47bb4731 | ||
|
|
ef11669b67 | ||
|
|
d7378d96a5 | ||
|
|
431f77ca1c | ||
|
|
51a9101c3d | ||
|
|
def7854848 | ||
|
|
28858ecb85 | ||
|
|
8fdb7549bb | ||
|
|
c3428fa413 | ||
|
|
233caf8469 | ||
|
|
86209f60eb | ||
|
|
bdf2b67462 | ||
|
|
4413a0f642 | ||
|
|
3776731f4a | ||
|
|
db5606b4b3 | ||
|
|
1159de52e7 | ||
|
|
4b5d5f9dd5 | ||
|
|
0cbf3c2918 | ||
|
|
f272723a33 | ||
|
|
331d1e16f5 | ||
|
|
6825a522e9 | ||
|
|
e033c10075 | ||
|
|
64872a6cb8 | ||
|
|
d74fcfcecb | ||
|
|
92a3f7d6c1 | ||
|
|
0e161c18eb | ||
|
|
3d76d3a469 | ||
|
|
82d350524e | ||
|
|
e6be04a7a0 | ||
|
|
a7de47084b | ||
|
|
3820d3ae6c | ||
|
|
8364b62f68 | ||
|
|
441729c3a0 | ||
|
|
c521c2b868 | ||
|
|
b2c5093542 | ||
|
|
ec5eb64788 | ||
|
|
0cc15a6386 | ||
|
|
4aa89b9c3c | ||
|
|
ae43f17b79 | ||
|
|
b847299f19 | ||
|
|
6766343173 | ||
|
|
75be2fe8d6 | ||
|
|
30f365d9d8 | ||
|
|
e8250f9955 | ||
|
|
d5de8883a2 | ||
|
|
8a11d5afb1 | ||
|
|
89963618d9 | ||
|
|
8c5c6a6088 | ||
|
|
24526ccd39 | ||
|
|
1134d95c6d | ||
|
|
d76608b945 | ||
|
|
d689f76ff9 | ||
|
|
e3142865b2 | ||
|
|
1f8e4079cd | ||
|
|
bad88c6ed4 | ||
|
|
534cb33465 | ||
|
|
51e7753ae9 | ||
|
|
d141934885 | ||
|
|
22e8cf9416 | ||
|
|
5856b2e01c | ||
|
|
49d91dd02b | ||
|
|
2f20d287d1 | ||
|
|
73377af79e | ||
|
|
47766801e4 | ||
|
|
bf0510dc22 |
1
.github/PULL_REQUEST_TEMPLATE.md
vendored
1
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -11,6 +11,7 @@ Contributors guide: https://github.com/electron/electron/blob/main/CONTRIBUTING.
|
||||
<!-- Remove items that do not apply. For completed items, change [ ] to [x]. -->
|
||||
|
||||
- [ ] PR description included
|
||||
- [ ] I have built and tested this PR
|
||||
- [ ] `npm test` passes
|
||||
- [ ] tests are [changed or added](https://github.com/electron/electron/blob/main/docs/development/testing.md)
|
||||
- [ ] relevant API documentation, tutorials, and examples are updated and follow the [documentation style guide](https://github.com/electron/electron/blob/main/docs/development/style-guide.md)
|
||||
|
||||
11
.github/actions/build-electron/action.yml
vendored
11
.github/actions/build-electron/action.yml
vendored
@@ -26,6 +26,9 @@ inputs:
|
||||
is-asan:
|
||||
description: 'The ASan Linux build'
|
||||
required: false
|
||||
upload-out-gen-artifacts:
|
||||
description: 'Whether to upload the out/${dir}/gen artifacts'
|
||||
required: false
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
@@ -95,7 +98,7 @@ runs:
|
||||
# Upload build stats to Datadog
|
||||
if ($env:DD_API_KEY) {
|
||||
try {
|
||||
npx node electron\script\build-stats.mjs out\Default\siso.exe.INFO --upload-stats ; $LASTEXITCODE = 0
|
||||
npx node electron\script\build-stats.mjs out\Default\siso.exe.INFO --upload-stats
|
||||
} catch {
|
||||
Write-Host "Build stats upload failed, continuing..."
|
||||
}
|
||||
@@ -280,3 +283,9 @@ runs:
|
||||
with:
|
||||
name: src_artifacts_${{ env.ARTIFACT_KEY }}
|
||||
path: ./src_artifacts_${{ inputs.artifact-platform }}_${{ inputs.target-arch }}
|
||||
- name: Upload Out Gen Artifacts ${{ inputs.step-suffix }}
|
||||
if: ${{ inputs.upload-out-gen-artifacts == 'true' }}
|
||||
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808
|
||||
with:
|
||||
name: out_gen_artifacts_${{ env.ARTIFACT_KEY }}
|
||||
path: ./src/out/Default/gen
|
||||
|
||||
@@ -15,7 +15,7 @@ runs:
|
||||
git config --global core.preloadindex true
|
||||
git config --global core.longpaths true
|
||||
fi
|
||||
export BUILD_TOOLS_SHA=a0cc95a1884a631559bcca0c948465b725d9295a
|
||||
export BUILD_TOOLS_SHA=4430e4a505e0f4fa2a41b707a10a36f780bbdd26
|
||||
npm i -g @electron/build-tools
|
||||
# Update depot_tools to ensure python
|
||||
e d update_depot_tools
|
||||
|
||||
122
.github/copilot-instructions.md
vendored
122
.github/copilot-instructions.md
vendored
@@ -1,122 +0,0 @@
|
||||
# Copilot Instructions for Electron
|
||||
|
||||
## Build System
|
||||
|
||||
Electron uses `@electron/build-tools` (`e` CLI). Install with `npm i -g @electron/build-tools`.
|
||||
|
||||
```bash
|
||||
e sync # Fetch sources and apply patches
|
||||
e build # Build Electron (GN + Ninja)
|
||||
e build -k 999 # Build, continuing through errors
|
||||
e start # Run built Electron
|
||||
e start --version # Verify Electron launches
|
||||
e test # Run full test suite
|
||||
e debug # Run in debugger (lldb on macOS, gdb on Linux)
|
||||
```
|
||||
|
||||
### Linting
|
||||
|
||||
```bash
|
||||
npm run lint # Run all linters (JS, C++, Python, GN, docs)
|
||||
npm run lint:js # JavaScript/TypeScript only
|
||||
npm run lint:clang-format # C++ formatting only
|
||||
npm run lint:cpp # C++ linting only
|
||||
npm run lint:docs # Documentation only
|
||||
```
|
||||
|
||||
### Running a Single Test
|
||||
|
||||
```bash
|
||||
npm run test -- -g "pattern" # Run tests matching a regex pattern
|
||||
# Example: npm run test -- -g "ipc"
|
||||
```
|
||||
|
||||
### Running a Single Node.js Test
|
||||
|
||||
```bash
|
||||
node script/node-spec-runner.js parallel/test-crypto-keygen
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
Electron embeds Chromium (rendering) and Node.js (backend) to enable desktop apps with web technologies. The parent directory (`../`) is the Chromium source tree.
|
||||
|
||||
### Process Model
|
||||
|
||||
Electron has two primary process types, mirroring Chromium:
|
||||
|
||||
- **Main process** (`shell/browser/` + `lib/browser/`): Controls app lifecycle, creates windows, system APIs
|
||||
- **Renderer process** (`shell/renderer/` + `lib/renderer/`): Runs web content in BrowserWindows
|
||||
|
||||
### Native ↔ JavaScript Bridge
|
||||
|
||||
Each API is implemented as a C++/JS pair:
|
||||
|
||||
- C++ side: `shell/browser/api/electron_api_{name}.cc/.h` — uses `gin::Wrappable` and `ObjectTemplateBuilder`
|
||||
- JS side: `lib/browser/api/{name}.ts` — exports the module, registered in `lib/browser/api/module-list.ts`
|
||||
- Binding: `NODE_LINKED_BINDING_CONTEXT_AWARE(electron_browser_{name}, Initialize)` in C++ and registered in `shell/common/node_bindings.cc`
|
||||
- Type declaration: `typings/internal-ambient.d.ts` maps `process._linkedBinding('electron_browser_{name}')`
|
||||
|
||||
### Patches System
|
||||
|
||||
Electron patches upstream dependencies (Chromium, Node.js, V8, etc.) rather than forking them. Patches live in `patches/` organized by target, with `patches/config.json` mapping directories to repos.
|
||||
|
||||
```text
|
||||
patches/{target}/*.patch → [e sync] → target repo commits
|
||||
← [e patches] ←
|
||||
```
|
||||
|
||||
Key rules:
|
||||
|
||||
- Fix existing patches rather than creating new ones
|
||||
- Preserve original authorship in TODO comments — never change `TODO(name)` assignees
|
||||
- Each patch commit message must explain why the patch exists
|
||||
- After modifying patches, run `e patches {target}` to export
|
||||
|
||||
When working on the `roller/chromium/main` branch for Chromium upgrades, use `e sync --3` for 3-way merge conflict resolution.
|
||||
|
||||
## Conventions
|
||||
|
||||
### File Naming
|
||||
|
||||
- JS/TS files: kebab-case (`file-name.ts`)
|
||||
- C++ files: snake_case with `electron_api_` prefix (`electron_api_safe_storage.cc`)
|
||||
- Test files: `api-{module-name}-spec.ts` in `spec/`
|
||||
- Source file lists are maintained in `filenames.gni` (with platform-specific sections)
|
||||
|
||||
### JavaScript/TypeScript
|
||||
|
||||
- Semicolons required (`"semi": ["error", "always"]`)
|
||||
- `const` and `let` only (no `var`)
|
||||
- Arrow functions preferred
|
||||
- Import order enforced: `@electron/internal` → `@electron` → `electron` → external → builtin → relative
|
||||
- API naming: `PascalCase` for classes (`BrowserWindow`), `camelCase` for module APIs (`globalShortcut`)
|
||||
- Prefer getters/setters over jQuery-style `.text([text])` patterns
|
||||
|
||||
### C++
|
||||
|
||||
- Follows Chromium coding style, enforced by `clang-format` and `clang-tidy`
|
||||
- Uses Chromium abstractions (`base::`, `content::`, etc.)
|
||||
- Header guards: `#ifndef ELECTRON_SHELL_BROWSER_API_ELECTRON_API_{NAME}_H_`
|
||||
- Platform-specific files: `_mac.mm`, `_win.cc`, `_linux.cc`
|
||||
|
||||
### Testing
|
||||
|
||||
- Framework: Mocha + Chai + Sinon
|
||||
- Test helpers in `spec/lib/` (e.g., `spec-helpers.ts`, `window-helpers.ts`)
|
||||
- Use `defer()` from spec-helpers for cleanup, `closeAllWindows()` for window teardown
|
||||
- Tests import from `electron/main` or `electron/renderer`
|
||||
|
||||
### Documentation
|
||||
|
||||
- API docs in `docs/api/` as Markdown, parsed by `@electron/docs-parser` to generate `electron.d.ts`
|
||||
- API history tracked via YAML blocks in HTML comments within doc files
|
||||
- Docs must pass `npm run lint:docs`
|
||||
|
||||
### Build Configuration
|
||||
|
||||
- `BUILD.gn`: Main GN build config
|
||||
- `buildflags/buildflags.gni`: Feature flags (PDF viewer, extensions, spellchecker)
|
||||
- `build/args/`: Build argument profiles (`testing.gn`, `release.gn`, `all.gn`)
|
||||
- `DEPS`: Dependency versions and checkout paths
|
||||
- `chromium_src/`: Chromium source file overrides (compiled instead of originals)
|
||||
16
.github/problem-matchers/markdownlint.json
vendored
16
.github/problem-matchers/markdownlint.json
vendored
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "markdownlint",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(.+):(\\d+):(\\d+)\\s+(.*)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"message": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
4
.github/workflows/archaeologist-dig.yml
vendored
4
.github/workflows/archaeologist-dig.yml
vendored
@@ -13,11 +13,11 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup Node.js/npm
|
||||
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f
|
||||
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238
|
||||
with:
|
||||
node-version: 24.12.x
|
||||
- name: Setting Up Dig Site
|
||||
|
||||
5
.github/workflows/audit-branch-ci.yml
vendored
5
.github/workflows/audit-branch-ci.yml
vendored
@@ -11,16 +11,17 @@ permissions: {}
|
||||
jobs:
|
||||
audit_branch_ci:
|
||||
name: Audit CI on Branches
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
|
||||
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
|
||||
with:
|
||||
node-version: 22.17.x
|
||||
- name: Sparse checkout repository
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
sparse-checkout: |
|
||||
.
|
||||
|
||||
4
.github/workflows/branch-created.yml
vendored
4
.github/workflows/branch-created.yml
vendored
@@ -14,7 +14,7 @@ permissions: {}
|
||||
jobs:
|
||||
release-branch-created:
|
||||
name: Release Branch Created
|
||||
if: ${{ github.event_name == 'workflow_dispatch' || (github.event.ref_type == 'branch' && endsWith(github.event.ref, '-x-y') && !startsWith(github.event.ref, 'roller')) }}
|
||||
if: ${{ github.repository == 'electron/electron' && (github.event_name == 'workflow_dispatch' || (github.event.ref_type == 'branch' && endsWith(github.event.ref, '-x-y') && !startsWith(github.event.ref, 'roller'))) }}
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
@@ -68,7 +68,7 @@ jobs:
|
||||
done
|
||||
- name: Generate GitHub App token
|
||||
if: ${{ steps.check-major-version.outputs.MAJOR }}
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.RELEASE_BOARD_GH_APP_CREDS }}
|
||||
|
||||
9
.github/workflows/build-git-cache.yml
vendored
9
.github/workflows/build-git-cache.yml
vendored
@@ -10,6 +10,7 @@ permissions: {}
|
||||
|
||||
jobs:
|
||||
build-git-cache-linux:
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -23,7 +24,7 @@ jobs:
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -33,6 +34,7 @@ jobs:
|
||||
target-platform: linux
|
||||
|
||||
build-git-cache-windows:
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -47,7 +49,7 @@ jobs:
|
||||
TARGET_OS: 'win'
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -57,6 +59,7 @@ jobs:
|
||||
target-platform: win
|
||||
|
||||
build-git-cache-macos:
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -72,7 +75,7 @@ jobs:
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_mac=True --custom-var=host_os=mac'
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
|
||||
15
.github/workflows/build.yml
vendored
15
.github/workflows/build.yml
vendored
@@ -47,6 +47,7 @@ permissions: {}
|
||||
|
||||
jobs:
|
||||
setup:
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -57,7 +58,7 @@ jobs:
|
||||
build-image-sha: ${{ steps.set-output.outputs.build-image-sha }}
|
||||
docs-only: ${{ steps.set-output.outputs.docs-only }}
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
||||
@@ -124,7 +125,7 @@ jobs:
|
||||
build-image-sha: ${{ needs.setup.outputs.build-image-sha }}
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -156,7 +157,7 @@ jobs:
|
||||
build-image-sha: ${{ needs.setup.outputs.build-image-sha}}
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -188,7 +189,7 @@ jobs:
|
||||
build-image-sha: ${{ needs.setup.outputs.build-image-sha}}
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -283,13 +284,15 @@ jobs:
|
||||
contents: read
|
||||
issues: read
|
||||
pull-requests: read
|
||||
uses: ./.github/workflows/pipeline-electron-build-and-test-and-nan.yml
|
||||
uses: ./.github/workflows/pipeline-electron-build-and-tidy-and-test-and-nan.yml
|
||||
needs: checkout-linux
|
||||
if: ${{ needs.setup.outputs.src == 'true' }}
|
||||
with:
|
||||
build-runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
clang-tidy-runs-on: electron-arc-centralus-linux-amd64-8core
|
||||
test-runs-on: electron-arc-centralus-linux-amd64-4core
|
||||
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
||||
clang-tidy-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
||||
test-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}'
|
||||
target-platform: linux
|
||||
target-arch: x64
|
||||
@@ -426,7 +429,7 @@ jobs:
|
||||
permissions:
|
||||
contents: read
|
||||
needs: [docs-only, macos-x64, macos-arm64, linux-x64, linux-x64-asan, linux-arm, linux-arm64, windows-x64, windows-x86, windows-arm64]
|
||||
if: always() && !contains(needs.*.result, 'failure')
|
||||
if: always() && github.repository == 'electron/electron' && !contains(needs.*.result, 'failure')
|
||||
steps:
|
||||
- name: GitHub Actions Jobs Done
|
||||
run: |
|
||||
|
||||
1
.github/workflows/clean-src-cache.yml
vendored
1
.github/workflows/clean-src-cache.yml
vendored
@@ -12,6 +12,7 @@ permissions: {}
|
||||
|
||||
jobs:
|
||||
clean-src-cache:
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
2
.github/workflows/issue-commented.yml
vendored
2
.github/workflows/issue-commented.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
AUTHOR_ASSOCIATION=$(gh api /repos/electron/electron/issues/comments/${{ github.event.comment.id }} --jq '.author_association')
|
||||
echo "author_association=$AUTHOR_ASSOCIATION" >> "$GITHUB_OUTPUT"
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
if: ${{ !contains(fromJSON('["MEMBER", "OWNER", "COLLABORATOR"]'), steps.get-author-association.outputs.author_association) }}
|
||||
id: generate-token
|
||||
with:
|
||||
|
||||
6
.github/workflows/issue-labeled.yml
vendored
6
.github/workflows/issue-labeled.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
@@ -36,7 +36,7 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
fi
|
||||
- name: Generate GitHub App token
|
||||
if: ${{ steps.check-for-comment.outputs.SHOULD_COMMENT }}
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
6
.github/workflows/issue-opened.yml
vendored
6
.github/workflows/issue-opened.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
@@ -32,13 +32,13 @@ jobs:
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Sparse checkout repository
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
sparse-checkout: |
|
||||
.
|
||||
|
||||
2
.github/workflows/issue-transferred.yml
vendored
2
.github/workflows/issue-transferred.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
if: ${{ !github.event.changes.new_repository.private }}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
2
.github/workflows/issue-unlabeled.yml
vendored
2
.github/workflows/issue-unlabeled.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
fi
|
||||
- name: Generate GitHub App token
|
||||
if: ${{ steps.check-for-blocked-labels.outputs.NOT_BLOCKED }}
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
6
.github/workflows/linux-publish.yml
vendored
6
.github/workflows/linux-publish.yml
vendored
@@ -21,6 +21,7 @@ permissions: {}
|
||||
|
||||
jobs:
|
||||
checkout-linux:
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -35,7 +36,7 @@ jobs:
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -45,7 +46,6 @@ jobs:
|
||||
publish-x64:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-publish.yml
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
@@ -65,7 +65,6 @@ jobs:
|
||||
publish-arm:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-publish.yml
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
@@ -85,7 +84,6 @@ jobs:
|
||||
publish-arm64:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-publish.yml
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
3
.github/workflows/macos-disk-cleanup.yml
vendored
3
.github/workflows/macos-disk-cleanup.yml
vendored
@@ -13,6 +13,7 @@ permissions: {}
|
||||
|
||||
jobs:
|
||||
macos-disk-cleanup:
|
||||
if: github.repository == 'electron/electron'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -25,7 +26,7 @@ jobs:
|
||||
contents: read
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
sparse-checkout: |
|
||||
.github/actions/free-space-macos
|
||||
|
||||
7
.github/workflows/macos-publish.yml
vendored
7
.github/workflows/macos-publish.yml
vendored
@@ -22,6 +22,7 @@ permissions: {}
|
||||
|
||||
jobs:
|
||||
checkout-macos:
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -36,7 +37,7 @@ jobs:
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_mac=True --custom-var=host_os=mac'
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -49,7 +50,6 @@ jobs:
|
||||
publish-x64-darwin:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-publish.yml
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
@@ -69,7 +69,6 @@ jobs:
|
||||
publish-x64-mas:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-publish.yml
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
@@ -89,7 +88,6 @@ jobs:
|
||||
publish-arm64-darwin:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-publish.yml
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
@@ -109,7 +107,6 @@ jobs:
|
||||
publish-arm64-mas:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-publish.yml
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
124
.github/workflows/pipeline-electron-build-and-tidy-and-test-and-nan.yml
vendored
Normal file
124
.github/workflows/pipeline-electron-build-and-tidy-and-test-and-nan.yml
vendored
Normal file
@@ -0,0 +1,124 @@
|
||||
name: Electron Build & Clang Tidy & Test (+ Node + NaN) Pipeline
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
target-platform:
|
||||
type: string
|
||||
description: 'Platform to run on, can be macos, win or linux.'
|
||||
required: true
|
||||
target-arch:
|
||||
type: string
|
||||
description: 'Arch to build for, can be x64, arm64 or arm'
|
||||
required: true
|
||||
build-runs-on:
|
||||
type: string
|
||||
description: 'What host to run the build'
|
||||
required: true
|
||||
clang-tidy-runs-on:
|
||||
type: string
|
||||
description: 'What host to run clang-tidy on'
|
||||
required: true
|
||||
test-runs-on:
|
||||
type: string
|
||||
description: 'What host to run the tests on'
|
||||
required: true
|
||||
build-container:
|
||||
type: string
|
||||
description: 'JSON container information for aks runs-on'
|
||||
required: false
|
||||
default: '{"image":null}'
|
||||
clang-tidy-container:
|
||||
type: string
|
||||
description: 'JSON container information to run clang-tidy on'
|
||||
required: false
|
||||
default: '{"image":null}'
|
||||
test-container:
|
||||
type: string
|
||||
description: 'JSON container information for testing'
|
||||
required: false
|
||||
default: '{"image":null}'
|
||||
is-release:
|
||||
description: 'Whether this build job is a release job'
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
gn-build-type:
|
||||
description: 'The gn build type - testing or release'
|
||||
required: true
|
||||
type: string
|
||||
default: testing
|
||||
generate-symbols:
|
||||
description: 'Whether or not to generate symbols'
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
upload-to-storage:
|
||||
description: 'Whether or not to upload build artifacts to external storage'
|
||||
required: true
|
||||
type: string
|
||||
default: '0'
|
||||
is-asan:
|
||||
description: 'Building the Address Sanitizer (ASan) Linux build'
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
permissions: {}
|
||||
|
||||
concurrency:
|
||||
group: electron-build-and-test-and-nan-${{ inputs.target-platform }}-${{ inputs.target-arch }}-${{ github.ref_protected == true && github.run_id || github.ref }}
|
||||
cancel-in-progress: ${{ github.ref_protected != true }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-build.yml
|
||||
permissions:
|
||||
contents: read
|
||||
with:
|
||||
build-runs-on: ${{ inputs.build-runs-on }}
|
||||
build-container: ${{ inputs.build-container }}
|
||||
target-platform: ${{ inputs.target-platform }}
|
||||
target-arch: ${{ inputs.target-arch }}
|
||||
is-release: ${{ inputs.is-release }}
|
||||
gn-build-type: ${{ inputs.gn-build-type }}
|
||||
generate-symbols: ${{ inputs.generate-symbols }}
|
||||
upload-to-storage: ${{ inputs.upload-to-storage }}
|
||||
upload-out-gen-artifacts: true
|
||||
secrets: inherit
|
||||
clang-tidy:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-clang-tidy.yml
|
||||
permissions:
|
||||
contents: read
|
||||
needs: build
|
||||
with:
|
||||
clang-tidy-runs-on: ${{ inputs.clang-tidy-runs-on }}
|
||||
clang-tidy-container: ${{ inputs.clang-tidy-container }}
|
||||
target-platform: ${{ inputs.target-platform }}
|
||||
target-arch: ${{ inputs.target-arch }}
|
||||
secrets: inherit
|
||||
test:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-test.yml
|
||||
permissions:
|
||||
contents: read
|
||||
issues: read
|
||||
pull-requests: read
|
||||
needs: build
|
||||
with:
|
||||
target-arch: ${{ inputs.target-arch }}
|
||||
target-platform: ${{ inputs.target-platform }}
|
||||
test-runs-on: ${{ inputs.test-runs-on }}
|
||||
test-container: ${{ inputs.test-container }}
|
||||
secrets: inherit
|
||||
nn-test:
|
||||
uses: ./.github/workflows/pipeline-segment-node-nan-test.yml
|
||||
permissions:
|
||||
contents: read
|
||||
needs: build
|
||||
with:
|
||||
target-arch: ${{ inputs.target-arch }}
|
||||
target-platform: ${{ inputs.target-platform }}
|
||||
test-runs-on: ${{ inputs.test-runs-on }}
|
||||
test-container: ${{ inputs.test-container }}
|
||||
gn-build-type: ${{ inputs.gn-build-type }}
|
||||
secrets: inherit
|
||||
121
.github/workflows/pipeline-electron-build-and-tidy-and-test.yml
vendored
Normal file
121
.github/workflows/pipeline-electron-build-and-tidy-and-test.yml
vendored
Normal file
@@ -0,0 +1,121 @@
|
||||
name: Electron Build & Clang Tidy & Test Pipeline
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
target-platform:
|
||||
type: string
|
||||
description: 'Platform to run on, can be macos, win or linux'
|
||||
required: true
|
||||
target-arch:
|
||||
type: string
|
||||
description: 'Arch to build for, can be x64, arm64 or arm'
|
||||
required: true
|
||||
build-runs-on:
|
||||
type: string
|
||||
description: 'What host to run the build'
|
||||
required: true
|
||||
clang-tidy-runs-on:
|
||||
type: string
|
||||
description: 'What host to run clang-tidy on'
|
||||
required: true
|
||||
test-runs-on:
|
||||
type: string
|
||||
description: 'What host to run the tests on'
|
||||
required: true
|
||||
build-container:
|
||||
type: string
|
||||
description: 'JSON container information for aks runs-on'
|
||||
required: false
|
||||
default: '{"image":null}'
|
||||
clang-tidy-container:
|
||||
type: string
|
||||
description: 'JSON container information to run clang-tidy on'
|
||||
required: false
|
||||
default: '{"image":null}'
|
||||
test-container:
|
||||
type: string
|
||||
description: 'JSON container information for testing'
|
||||
required: false
|
||||
default: '{"image":null}'
|
||||
is-release:
|
||||
description: 'Whether this build job is a release job'
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
gn-build-type:
|
||||
description: 'The gn build type - testing or release'
|
||||
required: true
|
||||
type: string
|
||||
default: testing
|
||||
generate-symbols:
|
||||
description: 'Whether or not to generate symbols'
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
upload-to-storage:
|
||||
description: 'Whether or not to upload build artifacts to external storage'
|
||||
required: true
|
||||
type: string
|
||||
default: '0'
|
||||
is-asan:
|
||||
description: 'Building the Address Sanitizer (ASan) Linux build'
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
enable-ssh:
|
||||
description: 'Enable SSH debugging'
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
concurrency:
|
||||
group: electron-build-and-tidy-and-test-${{ inputs.target-platform }}-${{ inputs.target-arch }}-${{ github.ref_protected == true && github.run_id || github.ref }}
|
||||
cancel-in-progress: ${{ github.ref_protected != true }}
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-build.yml
|
||||
permissions:
|
||||
contents: read
|
||||
with:
|
||||
build-runs-on: ${{ inputs.build-runs-on }}
|
||||
build-container: ${{ inputs.build-container }}
|
||||
target-platform: ${{ inputs.target-platform }}
|
||||
target-arch: ${{ inputs.target-arch }}
|
||||
is-release: ${{ inputs.is-release }}
|
||||
gn-build-type: ${{ inputs.gn-build-type }}
|
||||
generate-symbols: ${{ inputs.generate-symbols }}
|
||||
upload-to-storage: ${{ inputs.upload-to-storage }}
|
||||
is-asan: ${{ inputs.is-asan }}
|
||||
enable-ssh: ${{ inputs.enable-ssh }}
|
||||
upload-out-gen-artifacts: true
|
||||
secrets: inherit
|
||||
clang-tidy:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-clang-tidy.yml
|
||||
permissions:
|
||||
contents: read
|
||||
needs: build
|
||||
with:
|
||||
clang-tidy-runs-on: ${{ inputs.clang-tidy-runs-on }}
|
||||
clang-tidy-container: ${{ inputs.clang-tidy-container }}
|
||||
target-platform: ${{ inputs.target-platform }}
|
||||
target-arch: ${{ inputs.target-arch }}
|
||||
secrets: inherit
|
||||
test:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-test.yml
|
||||
permissions:
|
||||
contents: read
|
||||
issues: read
|
||||
pull-requests: read
|
||||
needs: build
|
||||
with:
|
||||
target-arch: ${{ inputs.target-arch }}
|
||||
target-platform: ${{ inputs.target-platform }}
|
||||
test-runs-on: ${{ inputs.test-runs-on }}
|
||||
test-container: ${{ inputs.test-container }}
|
||||
is-asan: ${{ inputs.is-asan }}
|
||||
enable-ssh: ${{ inputs.enable-ssh }}
|
||||
secrets: inherit
|
||||
@@ -27,7 +27,7 @@ jobs:
|
||||
container: ${{ fromJSON(inputs.container) }}
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -43,7 +43,7 @@ jobs:
|
||||
with:
|
||||
target-platform: linux
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
|
||||
8
.github/workflows/pipeline-electron-lint.yml
vendored
8
.github/workflows/pipeline-electron-lint.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
container: ${{ fromJSON(inputs.container) }}
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -65,11 +65,9 @@ jobs:
|
||||
curl -sL "https://chromium.googlesource.com/chromium/src/+/${chromium_revision}/buildtools/DEPS?format=TEXT" | base64 -d > src/buildtools/DEPS
|
||||
|
||||
gclient sync --spec="solutions=[{'name':'src/buildtools','url':None,'deps_file':'DEPS','custom_vars':{'process_deps':True},'managed':False}]"
|
||||
- name: Add problem matchers
|
||||
- name: Add ESLint problem matcher
|
||||
shell: bash
|
||||
run: |
|
||||
echo "::add-matcher::src/electron/.github/problem-matchers/eslint-stylish.json"
|
||||
echo "::add-matcher::src/electron/.github/problem-matchers/markdownlint.json"
|
||||
run: echo "::add-matcher::src/electron/.github/problem-matchers/eslint-stylish.json"
|
||||
- name: Run Lint
|
||||
shell: bash
|
||||
run: |
|
||||
|
||||
@@ -53,6 +53,11 @@ on:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
upload-out-gen-artifacts:
|
||||
description: 'Whether to upload the src/gen artifacts'
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
enable-ssh:
|
||||
description: 'Enable SSH debugging'
|
||||
required: false
|
||||
@@ -95,7 +100,7 @@ jobs:
|
||||
run: |
|
||||
mkdir src
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -119,7 +124,7 @@ jobs:
|
||||
run: df -h
|
||||
- name: Setup Node.js/npm
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f
|
||||
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238
|
||||
with:
|
||||
node-version: 22.21.x
|
||||
cache: yarn
|
||||
@@ -163,7 +168,7 @@ jobs:
|
||||
if: ${{ inputs.target-platform == 'linux' }}
|
||||
uses: ./src/electron/.github/actions/restore-cache-aks
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -201,6 +206,7 @@ jobs:
|
||||
generate-symbols: '${{ inputs.generate-symbols }}'
|
||||
upload-to-storage: '${{ inputs.upload-to-storage }}'
|
||||
is-asan: '${{ inputs.is-asan }}'
|
||||
upload-out-gen-artifacts: '${{ inputs.upload-out-gen-artifacts }}'
|
||||
- name: Set GN_EXTRA_ARGS for MAS Build
|
||||
if: ${{ inputs.target-platform == 'macos' && (inputs.target-variant == 'all' || inputs.target-variant == 'mas') }}
|
||||
run: |
|
||||
|
||||
159
.github/workflows/pipeline-segment-electron-clang-tidy.yml
vendored
Normal file
159
.github/workflows/pipeline-segment-electron-clang-tidy.yml
vendored
Normal file
@@ -0,0 +1,159 @@
|
||||
name: Pipeline Segment - Electron Clang-Tidy
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
target-platform:
|
||||
type: string
|
||||
description: 'Platform to run on, can be macos, win or linux'
|
||||
required: true
|
||||
target-arch:
|
||||
type: string
|
||||
description: 'Arch to build for, can be x64, arm64 or arm'
|
||||
required: true
|
||||
clang-tidy-runs-on:
|
||||
type: string
|
||||
description: 'What host to run clang-tidy on'
|
||||
required: true
|
||||
clang-tidy-container:
|
||||
type: string
|
||||
description: 'JSON container information for aks runs-on'
|
||||
required: false
|
||||
default: '{"image":null}'
|
||||
|
||||
permissions: {}
|
||||
|
||||
concurrency:
|
||||
group: electron-clang-tidy-${{ inputs.target-platform }}-${{ inputs.target-arch }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
GCLIENT_EXTRA_ARGS: ${{ inputs.target-platform == 'macos' && '--custom-var=checkout_mac=True --custom-var=host_os=mac' || (inputs.target-platform == 'linux' && '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True' || '--custom-var=checkout_win=True') }}
|
||||
ELECTRON_OUT_DIR: Default
|
||||
|
||||
jobs:
|
||||
clang-tidy:
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
runs-on: ${{ inputs.clang-tidy-runs-on }}
|
||||
permissions:
|
||||
contents: read
|
||||
container: ${{ fromJSON(inputs.clang-tidy-container) }}
|
||||
env:
|
||||
BUILD_TYPE: ${{ inputs.target-platform == 'macos' && 'darwin' || inputs.target-platform }}
|
||||
TARGET_ARCH: ${{ inputs.target-arch }}
|
||||
TARGET_PLATFORM: ${{ inputs.target-platform }}
|
||||
ARTIFACT_KEY: ${{ inputs.target-platform == 'macos' && 'darwin' || inputs.target-platform }}_${{ inputs.target-arch }}
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Cleanup disk space on macOS
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
shell: bash
|
||||
run: |
|
||||
sudo mkdir -p $TMPDIR/del-target
|
||||
|
||||
tmpify() {
|
||||
if [ -d "$1" ]; then
|
||||
sudo mv "$1" $TMPDIR/del-target/$(echo $1|shasum -a 256|head -n1|cut -d " " -f1)
|
||||
fi
|
||||
}
|
||||
tmpify /Library/Developer/CoreSimulator
|
||||
tmpify ~/Library/Developer/CoreSimulator
|
||||
sudo rm -rf $TMPDIR/del-target
|
||||
- name: Check disk space after freeing up space
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
run: df -h
|
||||
- name: Set Chromium Git Cookie
|
||||
uses: ./src/electron/.github/actions/set-chromium-cookie
|
||||
- name: Install Build Tools
|
||||
uses: ./src/electron/.github/actions/install-build-tools
|
||||
- name: Enable windows toolchain
|
||||
if: ${{ inputs.target-platform == 'win' }}
|
||||
run: |
|
||||
echo "ELECTRON_DEPOT_TOOLS_WIN_TOOLCHAIN=1" >> $GITHUB_ENV
|
||||
- name: Generate DEPS Hash
|
||||
run: |
|
||||
node src/electron/script/generate-deps-hash.js
|
||||
DEPSHASH=v1-src-cache-$(cat src/electron/.depshash)
|
||||
echo "DEPSHASH=$DEPSHASH" >> $GITHUB_ENV
|
||||
echo "CACHE_PATH=$DEPSHASH.tar" >> $GITHUB_ENV
|
||||
- name: Restore src cache via AZCopy
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
uses: ./src/electron/.github/actions/restore-cache-azcopy
|
||||
with:
|
||||
target-platform: ${{ inputs.target-platform }}
|
||||
- name: Restore src cache via AKS
|
||||
if: ${{ inputs.target-platform == 'linux' || inputs.target-platform == 'win' }}
|
||||
uses: ./src/electron/.github/actions/restore-cache-aks
|
||||
with:
|
||||
target-platform: ${{ inputs.target-platform }}
|
||||
- name: Run Electron Only Hooks
|
||||
run: |
|
||||
echo "solutions=[{'name':'src/electron','url':None,'deps_file':'DEPS','custom_vars':{'process_deps':False},'managed':False}]" > tmpgclient
|
||||
if [ "${{ inputs.target-platform }}" = "win" ]; then
|
||||
echo "solutions=[{'name':'src/electron','url':None,'deps_file':'DEPS','custom_vars':{'process_deps':False,'install_sysroot':False,'checkout_win':True},'managed':False}]" > tmpgclient
|
||||
echo "target_os=['win']" >> tmpgclient
|
||||
fi
|
||||
e d gclient runhooks --gclientfile=tmpgclient
|
||||
|
||||
# Fix VS Toolchain
|
||||
if [ "${{ inputs.target-platform }}" = "win" ]; then
|
||||
rm -rf src/third_party/depot_tools/win_toolchain/vs_files
|
||||
e d python3 src/build/vs_toolchain.py update --force
|
||||
fi
|
||||
- name: Regenerate DEPS Hash
|
||||
run: |
|
||||
(cd src/electron && git checkout .) && node src/electron/script/generate-deps-hash.js
|
||||
echo "DEPSHASH=$(cat src/electron/.depshash)" >> $GITHUB_ENV
|
||||
- name: Add CHROMIUM_BUILDTOOLS_PATH to env
|
||||
run: echo "CHROMIUM_BUILDTOOLS_PATH=$(pwd)/src/buildtools" >> $GITHUB_ENV
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Install Dependencies
|
||||
uses: ./src/electron/.github/actions/install-dependencies
|
||||
- name: Default GN gen
|
||||
run: |
|
||||
cd src/electron
|
||||
git pack-refs
|
||||
- name: Download Out Gen Artifacts
|
||||
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131
|
||||
with:
|
||||
name: out_gen_artifacts_${{ env.ARTIFACT_KEY }}
|
||||
path: ./src/out/${{ env.ELECTRON_OUT_DIR }}/gen
|
||||
- name: Add Clang problem matcher
|
||||
shell: bash
|
||||
run: echo "::add-matcher::src/electron/.github/problem-matchers/clang.json"
|
||||
- name: Run Clang-Tidy
|
||||
run: |
|
||||
e init -f --root=$(pwd) --out=${ELECTRON_OUT_DIR} testing --target-cpu ${TARGET_ARCH}
|
||||
|
||||
export GN_EXTRA_ARGS="target_cpu=\"${TARGET_ARCH}\""
|
||||
if [ "${{ inputs.target-platform }}" = "win" ]; then
|
||||
export GN_EXTRA_ARGS="$GN_EXTRA_ARGS use_v8_context_snapshot=true target_os=\"win\""
|
||||
fi
|
||||
|
||||
e build --only-gen
|
||||
|
||||
cd src/electron
|
||||
node script/yarn.js lint:clang-tidy --jobs 8 --out-dir ../out/${ELECTRON_OUT_DIR}
|
||||
- name: Remove Clang problem matcher
|
||||
shell: bash
|
||||
run: echo "::remove-matcher owner=clang::"
|
||||
- name: Wait for active SSH sessions
|
||||
if: always() && !cancelled()
|
||||
shell: bash
|
||||
run: |
|
||||
while [ -f /var/.ssh-lock ]
|
||||
do
|
||||
sleep 60
|
||||
done
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
container: ${{ fromJSON(inputs.check-container) }}
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -115,7 +115,7 @@ jobs:
|
||||
- name: Add CHROMIUM_BUILDTOOLS_PATH to env
|
||||
run: echo "CHROMIUM_BUILDTOOLS_PATH=$(pwd)/src/buildtools" >> $GITHUB_ENV
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
|
||||
@@ -56,6 +56,11 @@ on:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
upload-out-gen-artifacts:
|
||||
description: Whether to upload the src/gen artifacts
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
enable-ssh:
|
||||
description: Enable SSH debugging
|
||||
required: false
|
||||
@@ -88,7 +93,6 @@ jobs:
|
||||
shell: bash
|
||||
runs-on: ${{ inputs.build-runs-on }}
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
@@ -102,7 +106,7 @@ jobs:
|
||||
run: |
|
||||
mkdir src
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -127,7 +131,7 @@ jobs:
|
||||
run: df -h
|
||||
- name: Setup Node.js/npm
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f
|
||||
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238
|
||||
with:
|
||||
node-version: 22.21.x
|
||||
cache: yarn
|
||||
@@ -172,7 +176,7 @@ jobs:
|
||||
if: ${{ inputs.target-platform == 'linux' }}
|
||||
uses: ./src/electron/.github/actions/restore-cache-aks
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -216,6 +220,7 @@ jobs:
|
||||
generate-symbols: ${{ inputs.generate-symbols }}
|
||||
upload-to-storage: ${{ inputs.upload-to-storage }}
|
||||
is-asan: ${{ inputs.is-asan }}
|
||||
upload-out-gen-artifacts: ${{ inputs.upload-out-gen-artifacts }}
|
||||
- name: Set GN_EXTRA_ARGS for MAS Build
|
||||
if: ${{ inputs.target-platform == 'macos' && (inputs.target-variant == 'all' ||
|
||||
inputs.target-variant == 'mas') }}
|
||||
|
||||
@@ -72,7 +72,7 @@ jobs:
|
||||
cp $(which node) /mnt/runner-externals/node24/bin/
|
||||
- name: Setup Node.js/npm
|
||||
if: ${{ inputs.target-platform == 'win' }}
|
||||
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f
|
||||
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238
|
||||
with:
|
||||
node-version: 22.21.x
|
||||
- name: Add TCC permissions on macOS
|
||||
@@ -119,7 +119,7 @@ jobs:
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
run: sudo xcode-select --switch /Applications/Xcode_16.4.app
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -191,12 +191,18 @@ jobs:
|
||||
run: |
|
||||
cd src/out/Default
|
||||
unzip -:o dist.zip
|
||||
#- name: Import & Trust Self-Signed Codesigning Cert on MacOS
|
||||
# if: ${{ inputs.target-platform == 'macos' && inputs.target-arch == 'x64' }}
|
||||
# run: |
|
||||
# sudo security authorizationdb write com.apple.trust-settings.admin allow
|
||||
# cd src/electron
|
||||
# ./script/codesign/generate-identity.sh
|
||||
- name: Import & Trust Self-Signed Codesigning Cert on MacOS
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
run: |
|
||||
cd src/electron
|
||||
./script/codesign/generate-identity.sh
|
||||
- name: Sign Electron.app for macOS tests
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
run: |
|
||||
identity=$(src/electron/script/codesign/get-trusted-identity.sh)
|
||||
if [ -n "$identity" ]; then
|
||||
codesign -s "$identity" --deep --force src/out/Default/Electron.app
|
||||
fi
|
||||
|
||||
- name: Run Electron Tests
|
||||
shell: bash
|
||||
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
container: ${{ fromJSON(inputs.test-container) }}
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -106,7 +106,7 @@ jobs:
|
||||
container: ${{ fromJSON(inputs.test-container) }}
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
|
||||
34
.github/workflows/pull-request-labeled.yml
vendored
34
.github/workflows/pull-request-labeled.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.RELEASE_BOARD_GH_APP_CREDS }}
|
||||
@@ -44,3 +44,35 @@ jobs:
|
||||
project-number: 94
|
||||
field: Status
|
||||
field-value: ✅ Reviewed
|
||||
pull-request-labeled-ai-pr:
|
||||
name: ai-pr label added
|
||||
if: github.event.label.name == 'ai-pr'
|
||||
runs-on: ubuntu-latest
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
- name: Create comment
|
||||
uses: actions-cool/issues-helper@e2ff99831a4f13625d35064e2b3dfe65c07a0396 # v3.7.5
|
||||
with:
|
||||
actions: 'create-comment'
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
issue-number: ${{ github.event.pull_request.number }}
|
||||
body: |
|
||||
<!-- ai-pr -->
|
||||
|
||||
*AI PR Detected*
|
||||
|
||||
Hello @${{ github.event.pull_request.user.login }}. Due to the high amount of AI spam PRs we receive, if a PR is detected to be majority AI-generated without disclosure and untested, we will automatically close the PR.
|
||||
|
||||
We welcome the use of AI tools, as long as the PR meets our quality standards and has clearly been built and tested. If you believe your PR was closed in error, we welcome you to resubmit. However, please read our [CONTRIBUTING.md](http://contributing.md/) carefully before reopening. Thanks for your contribution.
|
||||
- name: Close the pull request
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
|
||||
GH_REPO: electron/electron
|
||||
PR_NUMBER: ${{ github.event.pull_request.number }}
|
||||
run: |
|
||||
gh pr close "$PR_NUMBER"
|
||||
|
||||
5
.github/workflows/scorecards.yml
vendored
5
.github/workflows/scorecards.yml
vendored
@@ -13,6 +13,7 @@ permissions: read-all
|
||||
jobs:
|
||||
analysis:
|
||||
name: Scorecards analysis
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
# Needed to upload the results to code-scanning dashboard.
|
||||
@@ -22,7 +23,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: "Checkout code"
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
@@ -50,6 +51,6 @@ jobs:
|
||||
|
||||
# Upload the results to GitHub's code scanning dashboard.
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3.29.5
|
||||
uses: github/codeql-action/upload-sarif@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
||||
3
.github/workflows/stable-prep-items.yml
vendored
3
.github/workflows/stable-prep-items.yml
vendored
@@ -10,11 +10,12 @@ permissions: {}
|
||||
jobs:
|
||||
check-stable-prep-items:
|
||||
name: Check Stable Prep Items
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: ubuntu-latest
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.RELEASE_BOARD_GH_APP_CREDS }}
|
||||
|
||||
7
.github/workflows/stale.yml
vendored
7
.github/workflows/stale.yml
vendored
@@ -9,11 +9,12 @@ permissions: {}
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: ubuntu-latest
|
||||
permissions: {}
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
@@ -33,11 +34,11 @@ jobs:
|
||||
pending-repro:
|
||||
runs-on: ubuntu-latest
|
||||
permissions: {}
|
||||
if: ${{ always() }}
|
||||
if: ${{ always() && github.repository == 'electron/electron' }}
|
||||
needs: stale
|
||||
steps:
|
||||
- name: Generate GitHub App token
|
||||
uses: electron/github-app-auth-action@384fd19694fe7b6dcc9a684746c6976ad78228ae # v1.1.1
|
||||
uses: electron/github-app-auth-action@e14e47722ed120360649d0789e25b9baece12725 # v2.0.0
|
||||
id: generate-token
|
||||
with:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
|
||||
2
.github/workflows/update-website-docs.yml
vendored
2
.github/workflows/update-website-docs.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
echo "isLatestRelease=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
- name: Trigger website docs update
|
||||
if: ${{ steps.check-if-latest-release.outputs.isLatestRelease == 'true' }}
|
||||
if: ${{ steps.check-if-latest-release.outputs.isLatestRelease }}
|
||||
env:
|
||||
GH_REPO: electron/website
|
||||
GH_TOKEN: ${{ fromJSON(steps.secret-service.outputs.secrets).WEBSITE_DOCS_UPDATER_APP_TOKEN }}
|
||||
|
||||
6
.github/workflows/windows-publish.yml
vendored
6
.github/workflows/windows-publish.yml
vendored
@@ -22,6 +22,7 @@ permissions: {}
|
||||
|
||||
jobs:
|
||||
checkout-windows:
|
||||
if: github.repository == 'electron/electron'
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -40,7 +41,7 @@ jobs:
|
||||
build-image-sha: ${{ inputs.build-image-sha }}
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
@@ -53,7 +54,6 @@ jobs:
|
||||
publish-x64-win:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-publish.yml
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
@@ -72,7 +72,6 @@ jobs:
|
||||
publish-arm64-win:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-publish.yml
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
@@ -91,7 +90,6 @@ jobs:
|
||||
publish-x86-win:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-publish.yml
|
||||
permissions:
|
||||
artifact-metadata: write
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
|
||||
23
BUILD.gn
23
BUILD.gn
@@ -321,12 +321,33 @@ grit("resources") {
|
||||
"grit/electron_resources.h",
|
||||
"electron_resources.pak",
|
||||
]
|
||||
if (translate_genders) {
|
||||
outputs += [
|
||||
"electron_resources_MASCULINE.pak",
|
||||
"electron_resources_FEMININE.pak",
|
||||
"electron_resources_NEUTER.pak",
|
||||
]
|
||||
}
|
||||
|
||||
foreach(locale, all_chrome_locales) {
|
||||
outputs += [ "electron_strings_$locale.pak" ]
|
||||
if (translate_genders) {
|
||||
outputs += [
|
||||
"electron_strings_${locale}_MASCULINE.pak",
|
||||
"electron_strings_${locale}_FEMININE.pak",
|
||||
"electron_strings_${locale}_NEUTER.pak",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
# Mojo manifest overlays are generated.
|
||||
grit_flags = [
|
||||
"-E",
|
||||
"target_gen_dir=" + rebase_path(target_gen_dir, root_build_dir),
|
||||
]
|
||||
if (translate_genders) {
|
||||
grit_flags += [ "--translate-genders" ]
|
||||
}
|
||||
|
||||
deps = [ ":copy_shell_devtools_discovery_page" ]
|
||||
|
||||
@@ -450,6 +471,7 @@ source_set("electron_lib") {
|
||||
"//chrome:strings",
|
||||
"//chrome/app:command_ids",
|
||||
"//chrome/app/resources:platform_locale_settings",
|
||||
"//chrome/common/notifications",
|
||||
"//components/autofill/core/common:features",
|
||||
"//components/certificate_transparency",
|
||||
"//components/compose:buildflags",
|
||||
@@ -618,6 +640,7 @@ source_set("electron_lib") {
|
||||
"SecurityInterface.framework",
|
||||
"ServiceManagement.framework",
|
||||
"StoreKit.framework",
|
||||
"UserNotifications.framework",
|
||||
]
|
||||
|
||||
weak_frameworks = [ "QuickLookThumbnailing.framework" ]
|
||||
|
||||
@@ -155,10 +155,6 @@ e test # Run full test suite
|
||||
|
||||
When working on the `roller/chromium/main` branch to upgrade Chromium activate the "Electron Chromium Upgrade" skill.
|
||||
|
||||
## Pull Requests
|
||||
|
||||
PR bodies must always include a `Notes:` section as the **last line** of the body. This is a consumer-facing release note for Electron app developers — describe the user-visible fix or change, not internal implementation details. Use `Notes: none` if there is no user-facing change.
|
||||
|
||||
## Code Style
|
||||
|
||||
**C++:** Follows Chromium style, enforced by clang-format
|
||||
|
||||
4
DEPS
4
DEPS
@@ -2,9 +2,9 @@ gclient_gn_args_from = 'src'
|
||||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'146.0.7680.16',
|
||||
'146.0.7650.0',
|
||||
'node_version':
|
||||
'v24.14.0',
|
||||
'v24.13.0',
|
||||
'nan_version':
|
||||
'675cefebca42410733da8a454c8d9391fcebfbc2',
|
||||
'squirrel.mac_version':
|
||||
|
||||
@@ -183,6 +183,7 @@ template("electron_paks") {
|
||||
"${root_gen_dir}/components/strings/components_locale_settings_",
|
||||
"${root_gen_dir}/components/strings/components_strings_",
|
||||
"${root_gen_dir}/device/bluetooth/strings/bluetooth_strings_",
|
||||
"${root_gen_dir}/electron/electron_strings_",
|
||||
"${root_gen_dir}/extensions/strings/extensions_strings_",
|
||||
"${root_gen_dir}/services/strings/services_strings_",
|
||||
"${root_gen_dir}/third_party/blink/public/strings/blink_strings_",
|
||||
@@ -199,6 +200,7 @@ template("electron_paks") {
|
||||
"//components/strings:components_locale_settings",
|
||||
"//components/strings:components_strings",
|
||||
"//device/bluetooth/strings",
|
||||
"//electron:resources",
|
||||
"//extensions/strings",
|
||||
"//services/strings",
|
||||
"//third_party/blink/public/strings",
|
||||
|
||||
@@ -9,10 +9,189 @@
|
||||
<emit emit_type='prepend'></emit>
|
||||
</output>
|
||||
<output filename="electron_resources.pak" type="data_package" />
|
||||
<output filename="electron_strings_af.pak" type="data_package" lang="af" />
|
||||
<output filename="electron_strings_am.pak" type="data_package" lang="am" />
|
||||
<output filename="electron_strings_ar.pak" type="data_package" lang="ar" />
|
||||
<output filename="electron_strings_as.pak" type="data_package" lang="as" />
|
||||
<output filename="electron_strings_az.pak" type="data_package" lang="az" />
|
||||
<output filename="electron_strings_be.pak" type="data_package" lang="be" />
|
||||
<output filename="electron_strings_bg.pak" type="data_package" lang="bg" />
|
||||
<output filename="electron_strings_bn.pak" type="data_package" lang="bn" />
|
||||
<output filename="electron_strings_bs.pak" type="data_package" lang="bs" />
|
||||
<output filename="electron_strings_ca.pak" type="data_package" lang="ca" />
|
||||
<output filename="electron_strings_cs.pak" type="data_package" lang="cs" />
|
||||
<output filename="electron_strings_cy.pak" type="data_package" lang="cy" />
|
||||
<output filename="electron_strings_da.pak" type="data_package" lang="da" />
|
||||
<output filename="electron_strings_de.pak" type="data_package" lang="de" />
|
||||
<output filename="electron_strings_el.pak" type="data_package" lang="el" />
|
||||
<output filename="electron_strings_en-GB.pak" type="data_package" lang="en-GB" />
|
||||
<output filename="electron_strings_en-US.pak" type="data_package" lang="en" />
|
||||
<output filename="electron_strings_es-419.pak" type="data_package" lang="es-419" />
|
||||
<output filename="electron_strings_es.pak" type="data_package" lang="es" />
|
||||
<output filename="electron_strings_et.pak" type="data_package" lang="et" />
|
||||
<output filename="electron_strings_eu.pak" type="data_package" lang="eu" />
|
||||
<output filename="electron_strings_fa.pak" type="data_package" lang="fa" />
|
||||
<output filename="electron_strings_fi.pak" type="data_package" lang="fi" />
|
||||
<output filename="electron_strings_fil.pak" type="data_package" lang="fil" />
|
||||
<output filename="electron_strings_fr-CA.pak" type="data_package" lang="fr-CA" />
|
||||
<output filename="electron_strings_fr.pak" type="data_package" lang="fr" />
|
||||
<output filename="electron_strings_gl.pak" type="data_package" lang="gl" />
|
||||
<output filename="electron_strings_gu.pak" type="data_package" lang="gu" />
|
||||
<output filename="electron_strings_hi.pak" type="data_package" lang="hi" />
|
||||
<output filename="electron_strings_hr.pak" type="data_package" lang="hr" />
|
||||
<output filename="electron_strings_hu.pak" type="data_package" lang="hu" />
|
||||
<output filename="electron_strings_hy.pak" type="data_package" lang="hy" />
|
||||
<output filename="electron_strings_id.pak" type="data_package" lang="id" />
|
||||
<output filename="electron_strings_is.pak" type="data_package" lang="is" />
|
||||
<output filename="electron_strings_it.pak" type="data_package" lang="it" />
|
||||
<output filename="electron_strings_he.pak" type="data_package" lang="he" />
|
||||
<output filename="electron_strings_ja.pak" type="data_package" lang="ja" />
|
||||
<output filename="electron_strings_ka.pak" type="data_package" lang="ka" />
|
||||
<output filename="electron_strings_kk.pak" type="data_package" lang="kk" />
|
||||
<output filename="electron_strings_km.pak" type="data_package" lang="km" />
|
||||
<output filename="electron_strings_kn.pak" type="data_package" lang="kn" />
|
||||
<output filename="electron_strings_ko.pak" type="data_package" lang="ko" />
|
||||
<output filename="electron_strings_ky.pak" type="data_package" lang="ky" />
|
||||
<output filename="electron_strings_lo.pak" type="data_package" lang="lo" />
|
||||
<output filename="electron_strings_lt.pak" type="data_package" lang="lt" />
|
||||
<output filename="electron_strings_lv.pak" type="data_package" lang="lv" />
|
||||
<output filename="electron_strings_mk.pak" type="data_package" lang="mk" />
|
||||
<output filename="electron_strings_ml.pak" type="data_package" lang="ml" />
|
||||
<output filename="electron_strings_mn.pak" type="data_package" lang="mn" />
|
||||
<output filename="electron_strings_mr.pak" type="data_package" lang="mr" />
|
||||
<output filename="electron_strings_ms.pak" type="data_package" lang="ms" />
|
||||
<output filename="electron_strings_my.pak" type="data_package" lang="my" />
|
||||
<output filename="electron_strings_ne.pak" type="data_package" lang="ne" />
|
||||
<output filename="electron_strings_nl.pak" type="data_package" lang="nl" />
|
||||
<!-- The translation console uses 'no' for Norwegian Bokmål. It should
|
||||
be 'nb'. -->
|
||||
<output filename="electron_strings_nb.pak" type="data_package" lang="no" />
|
||||
<output filename="electron_strings_or.pak" type="data_package" lang="or" />
|
||||
<output filename="electron_strings_pa.pak" type="data_package" lang="pa" />
|
||||
<output filename="electron_strings_pl.pak" type="data_package" lang="pl" />
|
||||
<output filename="electron_strings_pt-BR.pak" type="data_package" lang="pt-BR" />
|
||||
<output filename="electron_strings_pt-PT.pak" type="data_package" lang="pt-PT" />
|
||||
<output filename="electron_strings_ro.pak" type="data_package" lang="ro" />
|
||||
<output filename="electron_strings_ru.pak" type="data_package" lang="ru" />
|
||||
<output filename="electron_strings_si.pak" type="data_package" lang="si" />
|
||||
<output filename="electron_strings_sk.pak" type="data_package" lang="sk" />
|
||||
<output filename="electron_strings_sl.pak" type="data_package" lang="sl" />
|
||||
<output filename="electron_strings_sq.pak" type="data_package" lang="sq" />
|
||||
<output filename="electron_strings_sr-Latn.pak" type="data_package" lang="sr-Latn" />
|
||||
<output filename="electron_strings_sr.pak" type="data_package" lang="sr" />
|
||||
<output filename="electron_strings_sv.pak" type="data_package" lang="sv" />
|
||||
<output filename="electron_strings_sw.pak" type="data_package" lang="sw" />
|
||||
<output filename="electron_strings_ta.pak" type="data_package" lang="ta" />
|
||||
<output filename="electron_strings_te.pak" type="data_package" lang="te" />
|
||||
<output filename="electron_strings_th.pak" type="data_package" lang="th" />
|
||||
<output filename="electron_strings_tr.pak" type="data_package" lang="tr" />
|
||||
<output filename="electron_strings_uk.pak" type="data_package" lang="uk" />
|
||||
<output filename="electron_strings_ur.pak" type="data_package" lang="ur" />
|
||||
<output filename="electron_strings_uz.pak" type="data_package" lang="uz" />
|
||||
<output filename="electron_strings_vi.pak" type="data_package" lang="vi" />
|
||||
<output filename="electron_strings_zh-CN.pak" type="data_package" lang="zh-CN" />
|
||||
<output filename="electron_strings_zh-HK.pak" type="data_package" lang="zh-HK" />
|
||||
<output filename="electron_strings_zh-TW.pak" type="data_package" lang="zh-TW" />
|
||||
<output filename="electron_strings_zu.pak" type="data_package" lang="zu" />
|
||||
<!-- CARO TODO: Pseudolocales? -->
|
||||
<output filename="electron_strings_ar-XB.pak" type="data_package" lang="ar-XB" />
|
||||
<output filename="electron_strings_en-XA.pak" type="data_package" lang="en-XA" />
|
||||
</outputs>
|
||||
<release seq="1" allow_pseudo="false">
|
||||
<translations>
|
||||
<file path="translations/electron_strings_af.xtb" lang="af" />
|
||||
<file path="translations/electron_strings_am.xtb" lang="am" />
|
||||
<file path="translations/electron_strings_ar.xtb" lang="ar" />
|
||||
<file path="translations/electron_strings_as.xtb" lang="as" />
|
||||
<file path="translations/electron_strings_az.xtb" lang="az" />
|
||||
<file path="translations/electron_strings_be.xtb" lang="be" />
|
||||
<file path="translations/electron_strings_bg.xtb" lang="bg" />
|
||||
<file path="translations/electron_strings_bn.xtb" lang="bn" />
|
||||
<file path="translations/electron_strings_bs.xtb" lang="bs" />
|
||||
<file path="translations/electron_strings_ca.xtb" lang="ca" />
|
||||
<file path="translations/electron_strings_cs.xtb" lang="cs" />
|
||||
<file path="translations/electron_strings_cy.xtb" lang="cy" />
|
||||
<file path="translations/electron_strings_da.xtb" lang="da" />
|
||||
<file path="translations/electron_strings_de.xtb" lang="de" />
|
||||
<file path="translations/electron_strings_el.xtb" lang="el" />
|
||||
<file path="translations/electron_strings_en-GB.xtb" lang="en-GB" />
|
||||
<file path="translations/electron_strings_es-419.xtb" lang="es-419" />
|
||||
<file path="translations/electron_strings_es.xtb" lang="es" />
|
||||
<file path="translations/electron_strings_et.xtb" lang="et" />
|
||||
<file path="translations/electron_strings_eu.xtb" lang="eu" />
|
||||
<file path="translations/electron_strings_fa.xtb" lang="fa" />
|
||||
<file path="translations/electron_strings_fi.xtb" lang="fi" />
|
||||
<file path="translations/electron_strings_fil.xtb" lang="fil" />
|
||||
<file path="translations/electron_strings_fr-CA.xtb" lang="fr-CA" />
|
||||
<file path="translations/electron_strings_fr.xtb" lang="fr" />
|
||||
<file path="translations/electron_strings_gl.xtb" lang="gl" />
|
||||
<file path="translations/electron_strings_gu.xtb" lang="gu" />
|
||||
<file path="translations/electron_strings_hi.xtb" lang="hi" />
|
||||
<file path="translations/electron_strings_hr.xtb" lang="hr" />
|
||||
<file path="translations/electron_strings_hu.xtb" lang="hu" />
|
||||
<file path="translations/electron_strings_hy.xtb" lang="hy" />
|
||||
<file path="translations/electron_strings_id.xtb" lang="id" />
|
||||
<file path="translations/electron_strings_is.xtb" lang="is" />
|
||||
<file path="translations/electron_strings_it.xtb" lang="it" />
|
||||
<!-- The translation console uses 'iw' for Hebrew, but we use 'he'. -->
|
||||
<file path="translations/electron_strings_iw.xtb" lang="he" />
|
||||
<file path="translations/electron_strings_ja.xtb" lang="ja" />
|
||||
<file path="translations/electron_strings_ka.xtb" lang="ka" />
|
||||
<file path="translations/electron_strings_kk.xtb" lang="kk" />
|
||||
<file path="translations/electron_strings_km.xtb" lang="km" />
|
||||
<file path="translations/electron_strings_kn.xtb" lang="kn" />
|
||||
<file path="translations/electron_strings_ko.xtb" lang="ko" />
|
||||
<file path="translations/electron_strings_ky.xtb" lang="ky" />
|
||||
<file path="translations/electron_strings_lo.xtb" lang="lo" />
|
||||
<file path="translations/electron_strings_lt.xtb" lang="lt" />
|
||||
<file path="translations/electron_strings_lv.xtb" lang="lv" />
|
||||
<file path="translations/electron_strings_mk.xtb" lang="mk" />
|
||||
<file path="translations/electron_strings_ml.xtb" lang="ml" />
|
||||
<file path="translations/electron_strings_mn.xtb" lang="mn" />
|
||||
<file path="translations/electron_strings_mr.xtb" lang="mr" />
|
||||
<file path="translations/electron_strings_ms.xtb" lang="ms" />
|
||||
<file path="translations/electron_strings_my.xtb" lang="my" />
|
||||
<file path="translations/electron_strings_ne.xtb" lang="ne" />
|
||||
<file path="translations/electron_strings_nl.xtb" lang="nl" />
|
||||
<file path="translations/electron_strings_no.xtb" lang="no" />
|
||||
<file path="translations/electron_strings_or.xtb" lang="or" />
|
||||
<file path="translations/electron_strings_pa.xtb" lang="pa" />
|
||||
<file path="translations/electron_strings_pl.xtb" lang="pl" />
|
||||
<file path="translations/electron_strings_pt-BR.xtb" lang="pt-BR" />
|
||||
<file path="translations/electron_strings_pt-PT.xtb" lang="pt-PT" />
|
||||
<file path="translations/electron_strings_ro.xtb" lang="ro" />
|
||||
<file path="translations/electron_strings_ru.xtb" lang="ru" />
|
||||
<file path="translations/electron_strings_si.xtb" lang="si" />
|
||||
<file path="translations/electron_strings_sk.xtb" lang="sk" />
|
||||
<file path="translations/electron_strings_sl.xtb" lang="sl" />
|
||||
<file path="translations/electron_strings_sq.xtb" lang="sq" />
|
||||
<file path="translations/electron_strings_sr-Latn.xtb" lang="sr-Latn" />
|
||||
<file path="translations/electron_strings_sr.xtb" lang="sr" />
|
||||
<file path="translations/electron_strings_sv.xtb" lang="sv" />
|
||||
<file path="translations/electron_strings_sw.xtb" lang="sw" />
|
||||
<file path="translations/electron_strings_ta.xtb" lang="ta" />
|
||||
<file path="translations/electron_strings_te.xtb" lang="te" />
|
||||
<file path="translations/electron_strings_th.xtb" lang="th" />
|
||||
<file path="translations/electron_strings_tr.xtb" lang="tr" />
|
||||
<file path="translations/electron_strings_uk.xtb" lang="uk" />
|
||||
<file path="translations/electron_strings_ur.xtb" lang="ur" />
|
||||
<file path="translations/electron_strings_uz.xtb" lang="uz" />
|
||||
<file path="translations/electron_strings_vi.xtb" lang="vi" />
|
||||
<file path="translations/electron_strings_zh-CN.xtb" lang="zh-CN" />
|
||||
<file path="translations/electron_strings_zh-HK.xtb" lang="zh-HK" />
|
||||
<file path="translations/electron_strings_zh-TW.xtb" lang="zh-TW" />
|
||||
<file path="translations/electron_strings_zu.xtb" lang="zu" />
|
||||
</translations>
|
||||
<release seq="1">
|
||||
<messages fallback_to_english="true">
|
||||
<message name="IDS_MAC_NOTIFICATION_INLINE_REPLY_BUTTON" desc="Label for the inline reply button inside a macOS notification.">
|
||||
Reply
|
||||
</message>
|
||||
<message name="IDS_MAC_NOTIFICATION_SHOW_BUTTON" desc="Label for the default action button inside a macOS notification.">
|
||||
Show
|
||||
</message>
|
||||
</messages>
|
||||
<includes>
|
||||
<include name="IDR_CONTENT_SHELL_DEVTOOLS_DISCOVERY_PAGE" file="${target_gen_dir}/shell_devtools_discovery_page.html" use_base_dir="false" type="BINDATA" />
|
||||
</includes>
|
||||
</release>
|
||||
</grit>
|
||||
</grit>
|
||||
@@ -9,6 +9,5 @@
|
||||
"embedded_asar_integrity_validation": "0",
|
||||
"only_load_app_from_asar": "0",
|
||||
"load_browser_process_specific_v8_snapshot": "0",
|
||||
"grant_file_protocol_extra_privileges": "1",
|
||||
"wasm_trap_handlers": "1"
|
||||
"grant_file_protocol_extra_privileges": "1"
|
||||
}
|
||||
|
||||
6
build/translations/electron_strings_af.xtb
Normal file
6
build/translations/electron_strings_af.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="af">
|
||||
<translation id="2727175239389218057">Antwoord</translation>
|
||||
<translation id="5300589172476337783">Wys</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_am.xtb
Normal file
6
build/translations/electron_strings_am.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="am">
|
||||
<translation id="2727175239389218057">ምላሽ ስጥ</translation>
|
||||
<translation id="5300589172476337783">አሳይ</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_ar.xtb
Normal file
6
build/translations/electron_strings_ar.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="ar">
|
||||
<translation id="2727175239389218057">الرّد</translation>
|
||||
<translation id="5300589172476337783">عرض</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_as.xtb
Normal file
6
build/translations/electron_strings_as.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="as">
|
||||
<translation id="2727175239389218057">প্ৰত্যুত্তৰ দিয়ক</translation>
|
||||
<translation id="5300589172476337783">দেখুৱাওক</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_az.xtb
Normal file
6
build/translations/electron_strings_az.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="az">
|
||||
<translation id="2727175239389218057">Cavablayın</translation>
|
||||
<translation id="5300589172476337783">Göstərin</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_be.xtb
Normal file
6
build/translations/electron_strings_be.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="be">
|
||||
<translation id="2727175239389218057">Адказаць</translation>
|
||||
<translation id="5300589172476337783">Паказаць</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_bg.xtb
Normal file
6
build/translations/electron_strings_bg.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="bg">
|
||||
<translation id="2727175239389218057">Отговор</translation>
|
||||
<translation id="5300589172476337783">Показване</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_bn.xtb
Normal file
6
build/translations/electron_strings_bn.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="bn">
|
||||
<translation id="2727175239389218057">উত্তর দিন</translation>
|
||||
<translation id="5300589172476337783">দেখান</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_bs.xtb
Normal file
6
build/translations/electron_strings_bs.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="bs">
|
||||
<translation id="2727175239389218057">Odgovori</translation>
|
||||
<translation id="5300589172476337783">Prikaži</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_ca.xtb
Normal file
6
build/translations/electron_strings_ca.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="ca">
|
||||
<translation id="2727175239389218057">Respon</translation>
|
||||
<translation id="5300589172476337783">Mostra</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_cs.xtb
Normal file
6
build/translations/electron_strings_cs.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="cs">
|
||||
<translation id="2727175239389218057">Odpovědět</translation>
|
||||
<translation id="5300589172476337783">Zobrazit</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_cy.xtb
Normal file
6
build/translations/electron_strings_cy.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="cy">
|
||||
<translation id="2727175239389218057">Ateb</translation>
|
||||
<translation id="5300589172476337783">Arddangos</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_da.xtb
Normal file
6
build/translations/electron_strings_da.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="da">
|
||||
<translation id="2727175239389218057">Svar</translation>
|
||||
<translation id="5300589172476337783">Vis</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_de.xtb
Normal file
6
build/translations/electron_strings_de.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="de">
|
||||
<translation id="2727175239389218057">Antworten</translation>
|
||||
<translation id="5300589172476337783">Anzeigen</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_el.xtb
Normal file
6
build/translations/electron_strings_el.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="el">
|
||||
<translation id="2727175239389218057">Απάντηση</translation>
|
||||
<translation id="5300589172476337783">Εμφάνιση</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_en-GB.xtb
Normal file
6
build/translations/electron_strings_en-GB.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="en-GB">
|
||||
<translation id="2727175239389218057">Reply</translation>
|
||||
<translation id="5300589172476337783">Show</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_es-419.xtb
Normal file
6
build/translations/electron_strings_es-419.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="es-419">
|
||||
<translation id="2727175239389218057">Responder</translation>
|
||||
<translation id="5300589172476337783">Mostrar</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_es.xtb
Normal file
6
build/translations/electron_strings_es.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="es">
|
||||
<translation id="2727175239389218057">Responder</translation>
|
||||
<translation id="5300589172476337783">Mostrar</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_et.xtb
Normal file
6
build/translations/electron_strings_et.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="et">
|
||||
<translation id="2727175239389218057">Vasta</translation>
|
||||
<translation id="5300589172476337783">Kuva</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_eu.xtb
Normal file
6
build/translations/electron_strings_eu.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="eu">
|
||||
<translation id="2727175239389218057">Erantzun</translation>
|
||||
<translation id="5300589172476337783">Erakutsi</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_fa.xtb
Normal file
6
build/translations/electron_strings_fa.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="fa">
|
||||
<translation id="2727175239389218057">پاسخ دادن</translation>
|
||||
<translation id="5300589172476337783">نمایش</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_fi.xtb
Normal file
6
build/translations/electron_strings_fi.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="fi">
|
||||
<translation id="2727175239389218057">Vastaa</translation>
|
||||
<translation id="5300589172476337783">Näytä</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_fil.xtb
Normal file
6
build/translations/electron_strings_fil.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="fil">
|
||||
<translation id="2727175239389218057">Sumagot</translation>
|
||||
<translation id="5300589172476337783">Ipakita</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_fr-CA.xtb
Normal file
6
build/translations/electron_strings_fr-CA.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="fr-CA">
|
||||
<translation id="2727175239389218057">Répondre</translation>
|
||||
<translation id="5300589172476337783">Afficher</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_fr.xtb
Normal file
6
build/translations/electron_strings_fr.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="fr">
|
||||
<translation id="2727175239389218057">Répondre</translation>
|
||||
<translation id="5300589172476337783">Afficher</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_gl.xtb
Normal file
6
build/translations/electron_strings_gl.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="gl">
|
||||
<translation id="2727175239389218057">Responder</translation>
|
||||
<translation id="5300589172476337783">Mostrar</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_gu.xtb
Normal file
6
build/translations/electron_strings_gu.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="gu">
|
||||
<translation id="2727175239389218057">જવાબ આપો</translation>
|
||||
<translation id="5300589172476337783">બતાવો</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_hi.xtb
Normal file
6
build/translations/electron_strings_hi.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="hi">
|
||||
<translation id="2727175239389218057">जवाब दें</translation>
|
||||
<translation id="5300589172476337783">दिखाएं</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_hr.xtb
Normal file
6
build/translations/electron_strings_hr.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="hr">
|
||||
<translation id="2727175239389218057">Odgovori</translation>
|
||||
<translation id="5300589172476337783">Prikaži</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_hu.xtb
Normal file
6
build/translations/electron_strings_hu.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="hu">
|
||||
<translation id="2727175239389218057">Válasz</translation>
|
||||
<translation id="5300589172476337783">Megjelenítés</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_hy.xtb
Normal file
6
build/translations/electron_strings_hy.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="hy">
|
||||
<translation id="2727175239389218057">Պատասխանել</translation>
|
||||
<translation id="5300589172476337783">Ցույց տալ</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_id.xtb
Normal file
6
build/translations/electron_strings_id.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="id">
|
||||
<translation id="2727175239389218057">Balas</translation>
|
||||
<translation id="5300589172476337783">Tampilkan</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_is.xtb
Normal file
6
build/translations/electron_strings_is.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="is">
|
||||
<translation id="2727175239389218057">Svara</translation>
|
||||
<translation id="5300589172476337783">Sýna</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_it.xtb
Normal file
6
build/translations/electron_strings_it.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="it">
|
||||
<translation id="2727175239389218057">Rispondi</translation>
|
||||
<translation id="5300589172476337783">Mostra</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_iw.xtb
Normal file
6
build/translations/electron_strings_iw.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="iw">
|
||||
<translation id="2727175239389218057">מענה</translation>
|
||||
<translation id="5300589172476337783">הצגה</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_ja.xtb
Normal file
6
build/translations/electron_strings_ja.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="ja">
|
||||
<translation id="2727175239389218057">返信</translation>
|
||||
<translation id="5300589172476337783">表示</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_ka.xtb
Normal file
6
build/translations/electron_strings_ka.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="ka">
|
||||
<translation id="2727175239389218057">პასუხი</translation>
|
||||
<translation id="5300589172476337783">ჩვენება</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_kk.xtb
Normal file
6
build/translations/electron_strings_kk.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="kk">
|
||||
<translation id="2727175239389218057">Жауап беру</translation>
|
||||
<translation id="5300589172476337783">Көрсету</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_km.xtb
Normal file
6
build/translations/electron_strings_km.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="km">
|
||||
<translation id="2727175239389218057">ឆ្លើយតប</translation>
|
||||
<translation id="5300589172476337783">បង្ហាញ</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_kn.xtb
Normal file
6
build/translations/electron_strings_kn.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="kn">
|
||||
<translation id="2727175239389218057">ಪ್ರತ್ಯುತ್ತರಿಸಿ</translation>
|
||||
<translation id="5300589172476337783">ತೋರಿಸಿ</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_ko.xtb
Normal file
6
build/translations/electron_strings_ko.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="ko">
|
||||
<translation id="2727175239389218057">답장</translation>
|
||||
<translation id="5300589172476337783">표시</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_ky.xtb
Normal file
6
build/translations/electron_strings_ky.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="ky">
|
||||
<translation id="2727175239389218057">Жооп берүү</translation>
|
||||
<translation id="5300589172476337783">Көрсөтүү</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_lo.xtb
Normal file
6
build/translations/electron_strings_lo.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="lo">
|
||||
<translation id="2727175239389218057">ຕອບກັບ</translation>
|
||||
<translation id="5300589172476337783">ສະແດງ</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_lt.xtb
Normal file
6
build/translations/electron_strings_lt.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="lt">
|
||||
<translation id="2727175239389218057">Atsakyti</translation>
|
||||
<translation id="5300589172476337783">Rodyti</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_lv.xtb
Normal file
6
build/translations/electron_strings_lv.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="lv">
|
||||
<translation id="2727175239389218057">Atbildēt</translation>
|
||||
<translation id="5300589172476337783">Rādīt</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_mk.xtb
Normal file
6
build/translations/electron_strings_mk.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="mk">
|
||||
<translation id="2727175239389218057">Одговори</translation>
|
||||
<translation id="5300589172476337783">Прикажи</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_ml.xtb
Normal file
6
build/translations/electron_strings_ml.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="ml">
|
||||
<translation id="2727175239389218057">മറുപടി നൽകുക</translation>
|
||||
<translation id="5300589172476337783">കാണിക്കുക</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_mn.xtb
Normal file
6
build/translations/electron_strings_mn.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="mn">
|
||||
<translation id="2727175239389218057">Хариулах</translation>
|
||||
<translation id="5300589172476337783">Харуулах</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_mr.xtb
Normal file
6
build/translations/electron_strings_mr.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="mr">
|
||||
<translation id="2727175239389218057">उत्तर द्या</translation>
|
||||
<translation id="5300589172476337783">दर्शवा</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_ms.xtb
Normal file
6
build/translations/electron_strings_ms.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="ms">
|
||||
<translation id="2727175239389218057">Balas</translation>
|
||||
<translation id="5300589172476337783">Paparkan</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_my.xtb
Normal file
6
build/translations/electron_strings_my.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="my">
|
||||
<translation id="2727175239389218057">စာပြန်ရန်</translation>
|
||||
<translation id="5300589172476337783">ပြရန်</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_ne.xtb
Normal file
6
build/translations/electron_strings_ne.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="ne">
|
||||
<translation id="2727175239389218057">जवाफ दिनुहोस्</translation>
|
||||
<translation id="5300589172476337783">देखाउनुहोस्</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_nl.xtb
Normal file
6
build/translations/electron_strings_nl.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="nl">
|
||||
<translation id="2727175239389218057">Reageren</translation>
|
||||
<translation id="5300589172476337783">Tonen</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_no.xtb
Normal file
6
build/translations/electron_strings_no.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="no">
|
||||
<translation id="2727175239389218057">Svar</translation>
|
||||
<translation id="5300589172476337783">Vis</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_or.xtb
Normal file
6
build/translations/electron_strings_or.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="or">
|
||||
<translation id="2727175239389218057">ପ୍ରତ୍ୟୁତ୍ତର ଦିଅନ୍ତୁ</translation>
|
||||
<translation id="5300589172476337783">ପ୍ରଦର୍ଶନ କରନ୍ତୁ</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_pa.xtb
Normal file
6
build/translations/electron_strings_pa.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="pa">
|
||||
<translation id="2727175239389218057">ਜਵਾਬ ਦਿਓ</translation>
|
||||
<translation id="5300589172476337783">ਦਿਖਾਓ</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_pl.xtb
Normal file
6
build/translations/electron_strings_pl.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="pl">
|
||||
<translation id="2727175239389218057">Odpowiedz</translation>
|
||||
<translation id="5300589172476337783">Pokaż</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_pt-BR.xtb
Normal file
6
build/translations/electron_strings_pt-BR.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="pt-BR">
|
||||
<translation id="2727175239389218057">Responder</translation>
|
||||
<translation id="5300589172476337783">Mostrar</translation>
|
||||
</translationbundle>
|
||||
6
build/translations/electron_strings_pt-PT.xtb
Normal file
6
build/translations/electron_strings_pt-PT.xtb
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE translationbundle>
|
||||
<translationbundle lang="pt-PT">
|
||||
<translation id="2727175239389218057">Responder</translation>
|
||||
<translation id="5300589172476337783">Mostrar</translation>
|
||||
</translationbundle>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user