Skip to content

Commit dd0b8cd

Browse files
authored
Merge branch 'main' into fullscreen
2 parents 201d2c9 + 5dd4c64 commit dd0b8cd

File tree

128 files changed

+4718
-2347
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+4718
-2347
lines changed

.circleci/config.yml

Lines changed: 0 additions & 132 deletions
This file was deleted.

.devcontainer/devcontainer.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"name": "Firefox Profiler",
3+
"image": "mcr.microsoft.com/devcontainers/javascript-node:22",
4+
"features": {
5+
"ghcr.io/devcontainers/features/node:1": {
6+
"version": "22"
7+
}
8+
},
9+
"forwardPorts": [4242],
10+
"portsAttributes": {
11+
"4242": {
12+
"label": "Firefox Profiler",
13+
"onAutoForward": "openBrowser"
14+
}
15+
},
16+
"postCreateCommand": "yarn install",
17+
"postStartCommand": "FX_PROFILER_HOST=\"0.0.0.0\" yarn start",
18+
"customizations": {
19+
"vscode": {
20+
"extensions": [
21+
"dbaeumer.vscode-eslint",
22+
"esbenp.prettier-vscode",
23+
"stylelint.vscode-stylelint"
24+
],
25+
"settings": {
26+
"editor.formatOnSave": true,
27+
"editor.defaultFormatter": "esbenp.prettier-vscode"
28+
}
29+
}
30+
}
31+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: 'Setup Node.js and Install Dependencies'
2+
description: 'Setup Node.js with caching and install dependencies'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Setup Node.js
7+
uses: actions/setup-node@v6
8+
with:
9+
node-version: '22.14'
10+
cache: 'yarn'
11+
12+
- name: Install dependencies
13+
shell: bash
14+
run: yarn install --frozen-lockfile

.github/fluent/linter-config.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# This Source Code Form is subject to the terms of the Mozilla Public
2+
# License, v. 2.0. If a copy of the MPL was not distributed with this
3+
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
4+
5+
# See https://github.com/mozilla-l10n/moz-fluent-linter/blob/main/src/fluent_linter/config.yml
6+
# for details
7+
8+
---
9+
# Check brand names
10+
CO01:
11+
enabled: true
12+
brands:
13+
- Firefox
14+
- Mozilla
15+
- Profiler
16+
exclusions:
17+
files: []
18+
messages: []
19+
# Enforce variable comments
20+
VC:
21+
disabled: false
22+
# Enforce placeholder style, e.g. { $variable }
23+
PS01:
24+
disabled: false

.github/fluent/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
moz-fluent-linter~=0.4.9

.github/workflows/ci.yml

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- production
8+
pull_request:
9+
10+
jobs:
11+
lint:
12+
runs-on: ${{ matrix.os }}
13+
strategy:
14+
matrix:
15+
os: [ubuntu-latest, windows-latest]
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v5
19+
20+
- name: Setup Node.js and install dependencies
21+
uses: ./.github/actions/setup-node-and-install
22+
23+
- name: Run lint
24+
run: yarn lint
25+
26+
tests:
27+
runs-on: ${{ matrix.os }}
28+
strategy:
29+
matrix:
30+
os: [ubuntu-latest, windows-latest]
31+
steps:
32+
- name: Checkout code
33+
uses: actions/checkout@v5
34+
35+
- name: Setup Node.js and install dependencies
36+
uses: ./.github/actions/setup-node-and-install
37+
38+
- name: Run tests
39+
# We use workerIdleMemoryLimit to work around a memory issue with node.
40+
# See https://github.com/facebook/jest/issues/11956
41+
run: yarn test --coverage --logHeapUsage -w=4 --workerIdleMemoryLimit=1.5G
42+
43+
- name: Upload coverage to Codecov
44+
if: matrix.os == 'ubuntu-latest'
45+
uses: codecov/codecov-action@v5
46+
with:
47+
fail_ci_if_error: false
48+
49+
build-prod:
50+
runs-on: ${{ matrix.os }}
51+
strategy:
52+
matrix:
53+
os: [ubuntu-latest, windows-latest]
54+
steps:
55+
- name: Checkout code
56+
uses: actions/checkout@v5
57+
58+
- name: Setup Node.js and install dependencies
59+
uses: ./.github/actions/setup-node-and-install
60+
61+
- name: Build production
62+
run: yarn build-prod:quiet
63+
64+
- name: Build symbolicator CLI
65+
run: yarn build-symbolicator-cli:quiet
66+
67+
licence-check:
68+
runs-on: ${{ matrix.os }}
69+
strategy:
70+
matrix:
71+
os: [ubuntu-latest, windows-latest]
72+
steps:
73+
- name: Checkout code
74+
uses: actions/checkout@v5
75+
76+
- name: Setup Node.js and install dependencies
77+
uses: ./.github/actions/setup-node-and-install
78+
79+
- name: Run license check
80+
run: yarn license-check
81+
82+
typecheck:
83+
runs-on: ${{ matrix.os }}
84+
strategy:
85+
matrix:
86+
os: [ubuntu-latest, windows-latest]
87+
steps:
88+
- name: Checkout code
89+
uses: actions/checkout@v5
90+
91+
- name: Setup Node.js and install dependencies
92+
uses: ./.github/actions/setup-node-and-install
93+
94+
- name: Run TypeScript check
95+
run: yarn ts
96+
97+
alex:
98+
runs-on: ${{ matrix.os }}
99+
strategy:
100+
matrix:
101+
os: [ubuntu-latest, windows-latest]
102+
steps:
103+
- name: Checkout code
104+
uses: actions/checkout@v5
105+
106+
- name: Setup Node.js and install dependencies
107+
uses: ./.github/actions/setup-node-and-install
108+
109+
- name: Run alex
110+
run: yarn test-alex
111+
112+
yarn-lock:
113+
runs-on: ${{ matrix.os }}
114+
strategy:
115+
matrix:
116+
os: [ubuntu-latest, windows-latest]
117+
steps:
118+
- name: Checkout code
119+
uses: actions/checkout@v5
120+
121+
- name: Setup Node.js and install dependencies
122+
uses: ./.github/actions/setup-node-and-install
123+
124+
- name: Check yarn.lock
125+
run: yarn test-lockfile
126+
127+
shellcheck:
128+
runs-on: ubuntu-latest
129+
steps:
130+
- name: Checkout code
131+
uses: actions/checkout@v5
132+
133+
- name: Run ShellCheck
134+
uses: ludeeus/action-shellcheck@master
135+
with:
136+
scandir: './bin'
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Lint Reference Files
2+
on:
3+
push:
4+
paths:
5+
- 'locales/en-US/*.ftl'
6+
- '.github/workflows/fluent-linter.yml'
7+
- '.github/fluent/*'
8+
branches:
9+
- main
10+
pull_request:
11+
paths:
12+
- 'locales/en-US/*.ftl'
13+
- '.github/workflows/fluent_linter.yml'
14+
- '.github/fluent/*'
15+
branches:
16+
- main
17+
workflow_dispatch:
18+
jobs:
19+
linter:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Clone repository
23+
uses: actions/checkout@v5
24+
- name: Set up Python 3
25+
uses: actions/setup-python@v6
26+
with:
27+
python-version: '3.11'
28+
cache: 'pip'
29+
cache-dependency-path: '.github/fluent/requirements.txt'
30+
- name: Install Python dependencies
31+
run: |
32+
pip install -r .github/fluent/requirements.txt
33+
- name: Lint reference
34+
run: |
35+
moz-fluent-lint ./locales/en-US --config .github/fluent/linter-config.yml

0 commit comments

Comments
 (0)