Pier Angelo Vendrame pushed to branch base-browser-128.0esr-14.0-1 at The Tor Project / Applications / Tor Browser
Commits:
-
ac54df57
by Beatriz Rizental at 2024-07-18T11:34:23+02:00
-
fa88a433
by Beatriz Rizental at 2024-07-18T11:34:24+02:00
4 changed files:
- .gitlab-ci.yml
- + .gitlab/ci/docker/base/Dockerfile
- .gitlab/ci/lint.yml
- .gitlab/ci/scripts/run_linters.py
Changes:
1 | 1 | stages:
|
2 | 2 | - lint
|
3 | 3 | |
4 | +variables:
|
|
5 | + IMAGE_PATH: containers.torproject.org/tpo/applications/tor-browser/base:latest
|
|
6 | + |
|
4 | 7 | include:
|
5 | 8 | - local: '.gitlab/ci/lint.yml' |
1 | +FROM debian:latest
|
|
2 | + |
|
3 | +# Base image which includes all* dependencies checked by ./mach configure.
|
|
4 | +#
|
|
5 | +# * Actually not all dependencies. WASM sandboxed depencies were left out for now.
|
|
6 | +# This installs all dependencies checked by `./mach configure --without-wasm-sandboxed-libraries`.
|
|
7 | +#
|
|
8 | +# # Building and publishing
|
|
9 | +#
|
|
10 | +# Whenever this file changes, the updated Docker image must be built and published _manually_ to
|
|
11 | +# the tor-browser container registry (https://gitlab.torproject.org/tpo/applications/tor-browser/container_registry/185).
|
|
12 | +#
|
|
13 | +# This image copies a script from the taskcluster/ folder, which requires it
|
|
14 | +# to be built from a folder which is a parent of the taskcluster/ folder.
|
|
15 | +#
|
|
16 | +# To build, run:
|
|
17 | +#
|
|
18 | +# ```bash
|
|
19 | +# docker build \
|
|
20 | +# -f <PATH_TO_DOCKERFILE> \
|
|
21 | +# -t <REGISTRY_URL>/<IMAGE_NAME>:<IMAGE_TAG>
|
|
22 | +# .
|
|
23 | +# ```
|
|
24 | +#
|
|
25 | +# For example, when building from the root of this repository to the main tor-browser repository
|
|
26 | +# and assuming image name to be "base" and tag "latest" -- which is the current terminology:
|
|
27 | +#
|
|
28 | +# ```bash
|
|
29 | +# docker build \
|
|
30 | +# -f .gitlab/ci/docker/Dockerfile \
|
|
31 | +# -t containers.torproject.org/tpo/applications/tor-browser/base:latest
|
|
32 | +# .
|
|
33 | +# ```
|
|
34 | + |
|
35 | +RUN apt-get update && apt-get install -y \
|
|
36 | + clang \
|
|
37 | + curl \
|
|
38 | + git \
|
|
39 | + libasound2-dev \
|
|
40 | + libdbus-glib-1-dev \
|
|
41 | + libgtk-3-dev \
|
|
42 | + libpango1.0-dev \
|
|
43 | + libpulse-dev \
|
|
44 | + libx11-xcb-dev \
|
|
45 | + libxcomposite-dev \
|
|
46 | + libxcursor-dev \
|
|
47 | + libxdamage-dev \
|
|
48 | + libxi-dev \
|
|
49 | + libxrandr-dev \
|
|
50 | + libxtst-dev \
|
|
51 | + m4 \
|
|
52 | + mercurial \
|
|
53 | + nasm \
|
|
54 | + pkg-config \
|
|
55 | + python3 \
|
|
56 | + python3-pip \
|
|
57 | + unzip \
|
|
58 | + wget
|
|
59 | + |
|
60 | +COPY taskcluster/docker/recipes/install-node.sh /scripts/install-node.sh
|
|
61 | +RUN chmod +x /scripts/install-node.sh
|
|
62 | +RUN /scripts/install-node.sh
|
|
63 | + |
|
64 | +RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
|
|
65 | +RUN $HOME/.cargo/bin/cargo install cbindgen
|
|
66 | + |
|
67 | +WORKDIR /app
|
|
68 | + |
|
69 | +CMD ["/bin/bash"] |
1 | -variables:
|
|
2 | - # This needs to be kept in sync with the max Python version accepted by ./mach
|
|
3 | - PYTHON_VERSION: "3.11.7"
|
|
4 | - |
|
5 | 1 | .base:
|
6 | 2 | stage: lint
|
7 | 3 | interruptible: true
|
8 | 4 | variables:
|
9 | - PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
|
|
5 | + MOZBUILD_STATE_PATH: "$CI_PROJECT_DIR/.cache/mozbuild"
|
|
10 | 6 | cache:
|
11 | 7 | paths:
|
12 | 8 | - node_modules
|
13 | - - .cache/pip
|
|
9 | + - .cache/mozbuild
|
|
10 | + # Store the cache regardless on job outcome
|
|
11 | + when: 'always'
|
|
12 | + # Share the cache throughout all pipelines running for a given branch
|
|
13 | + key: $CI_COMMIT_REF_SLUG
|
|
14 | 14 | |
15 | 15 | eslint:
|
16 | 16 | extends: .base
|
17 | - image: cimg/python:$PYTHON_VERSION-node
|
|
17 | + image: $IMAGE_PATH
|
|
18 | 18 | script:
|
19 | 19 | - .gitlab/ci/scripts/run_linters.py eslint
|
20 | 20 | rules:
|
... | ... | @@ -45,7 +45,7 @@ eslint: |
45 | 45 | |
46 | 46 | stylelint:
|
47 | 47 | extends: .base
|
48 | - image: cimg/python:$PYTHON_VERSION-node
|
|
48 | + image: $IMAGE_PATH
|
|
49 | 49 | script:
|
50 | 50 | - .gitlab/ci/scripts/run_linters.py stylelint
|
51 | 51 | rules:
|
... | ... | @@ -65,7 +65,7 @@ stylelint: |
65 | 65 | |
66 | 66 | py-black:
|
67 | 67 | extends: .base
|
68 | - image: cimg/python:$PYTHON_VERSION
|
|
68 | + image: $IMAGE_PATH
|
|
69 | 69 | script:
|
70 | 70 | - .gitlab/ci/scripts/run_linters.py black
|
71 | 71 | rules:
|
... | ... | @@ -86,7 +86,7 @@ py-black: |
86 | 86 | |
87 | 87 | py-ruff:
|
88 | 88 | extends: .base
|
89 | - image: cimg/python:$PYTHON_VERSION
|
|
89 | + image: $IMAGE_PATH
|
|
90 | 90 | script:
|
91 | 91 | - .gitlab/ci/scripts/run_linters.py ruff
|
92 | 92 | rules:
|
... | ... | @@ -107,7 +107,7 @@ py-ruff: |
107 | 107 | |
108 | 108 | yaml:
|
109 | 109 | extends: .base
|
110 | - image: cimg/python:$PYTHON_VERSION
|
|
110 | + image: $IMAGE_PATH
|
|
111 | 111 | script:
|
112 | 112 | - .gitlab/ci/scripts/run_linters.py yaml
|
113 | 113 | rules:
|
... | ... | @@ -124,7 +124,7 @@ yaml: |
124 | 124 | |
125 | 125 | shellcheck:
|
126 | 126 | extends: .base
|
127 | - image: cimg/python:$PYTHON_VERSION
|
|
127 | + image: $IMAGE_PATH
|
|
128 | 128 | script:
|
129 | 129 | - .gitlab/ci/scripts/run_linters.py shellcheck
|
130 | 130 | rules:
|
... | ... | @@ -140,8 +140,9 @@ shellcheck: |
140 | 140 | |
141 | 141 | clang-format:
|
142 | 142 | extends: .base
|
143 | - image: cimg/python:$PYTHON_VERSION
|
|
143 | + image: $IMAGE_PATH
|
|
144 | 144 | script:
|
145 | + - ./mach configure --without-wasm-sandboxed-libraries --with-base-browser-version=0.0.0
|
|
145 | 146 | - .gitlab/ci/scripts/run_linters.py clang-format
|
146 | 147 | rules:
|
147 | 148 | - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
... | ... | @@ -161,7 +162,7 @@ clang-format: |
161 | 162 | |
162 | 163 | rustfmt:
|
163 | 164 | extends: .base
|
164 | - image: cimg/python:$PYTHON_VERSION
|
|
165 | + image: $IMAGE_PATH
|
|
165 | 166 | script:
|
166 | 167 | - .gitlab/ci/scripts/run_linters.py rustfmt
|
167 | 168 | rules:
|
... | ... | @@ -177,7 +178,7 @@ rustfmt: |
177 | 178 | |
178 | 179 | fluent-lint:
|
179 | 180 | extends: .base
|
180 | - image: cimg/python:$PYTHON_VERSION
|
|
181 | + image: $IMAGE_PATH
|
|
181 | 182 | script:
|
182 | 183 | - .gitlab/ci/scripts/run_linters.py fluent-lint
|
183 | 184 | rules:
|
... | ... | @@ -194,7 +195,7 @@ fluent-lint: |
194 | 195 | |
195 | 196 | localization:
|
196 | 197 | extends: .base
|
197 | - image: cimg/python:$PYTHON_VERSION
|
|
198 | + image: $IMAGE_PATH
|
|
198 | 199 | script:
|
199 | 200 | - .gitlab/ci/scripts/run_linters.py l10n
|
200 | 201 | rules:
|
... | ... | @@ -213,7 +214,7 @@ localization: |
213 | 214 | |
214 | 215 | mingw-capitalization:
|
215 | 216 | extends: .base
|
216 | - image: cimg/python:$PYTHON_VERSION
|
|
217 | + image: $IMAGE_PATH
|
|
217 | 218 | script:
|
218 | 219 | - .gitlab/ci/scripts/run_linters.py mingw-capitalization
|
219 | 220 | rules:
|
... | ... | @@ -232,7 +233,7 @@ mingw-capitalization: |
232 | 233 | |
233 | 234 | mscom-init:
|
234 | 235 | extends: .base
|
235 | - image: cimg/python:$PYTHON_VERSION
|
|
236 | + image: $IMAGE_PATH
|
|
236 | 237 | script:
|
237 | 238 | - .gitlab/ci/scripts/run_linters.py mscom-init
|
238 | 239 | rules:
|
... | ... | @@ -251,7 +252,7 @@ mscom-init: |
251 | 252 | |
252 | 253 | file-whitespace:
|
253 | 254 | extends: .base
|
254 | - image: cimg/python:$PYTHON_VERSION
|
|
255 | + image: $IMAGE_PATH
|
|
255 | 256 | script:
|
256 | 257 | - .gitlab/ci/scripts/run_linters.py file-whitespace
|
257 | 258 | rules:
|
... | ... | @@ -282,7 +283,7 @@ file-whitespace: |
282 | 283 | |
283 | 284 | test-manifest:
|
284 | 285 | extends: .base
|
285 | - image: cimg/python:$PYTHON_VERSION
|
|
286 | + image: $IMAGE_PATH
|
|
286 | 287 | script:
|
287 | 288 | - .gitlab/ci/scripts/run_linters.py test-manifest-alpha test-manifest-disable test-manifest-skip-if
|
288 | 289 | rules:
|
... | ... | @@ -299,7 +300,7 @@ test-manifest: |
299 | 300 | |
300 | 301 | trojan-source:
|
301 | 302 | extends: .base
|
302 | - image: cimg/python:$PYTHON_VERSION
|
|
303 | + image: $IMAGE_PATH
|
|
303 | 304 | script:
|
304 | 305 | - .gitlab/ci/scripts/run_linters.py trojan-source
|
305 | 306 | rules:
|
... | ... | @@ -54,7 +54,7 @@ def get_firefox_tag_from_branch_name(branch_name): |
54 | 54 | return match.group(0).split()[0]
|
55 | 55 | else:
|
56 | 56 | raise ValueError(
|
57 | - f"Failed to find reference specifier for Firefox tag in branch '{branch_name}'."
|
|
57 | + f"Failed to find reference specifier for Firefox tag '{tag}' in branch '{branch_name}'."
|
|
58 | 58 | )
|
59 | 59 | |
60 | 60 | |
... | ... | @@ -98,13 +98,13 @@ if __name__ == "__main__": |
98 | 98 | )
|
99 | 99 | args = parser.parse_args()
|
100 | 100 | |
101 | - command = [
|
|
102 | - "./mach",
|
|
103 | - "lint",
|
|
104 | - "-v",
|
|
105 | - *(s for l in args.linters for s in ("-l", l)),
|
|
106 | - *get_list_of_changed_files(),
|
|
107 | - ]
|
|
108 | - result = subprocess.run(command, text=True)
|
|
109 | - |
|
110 | - sys.exit(result.returncode) |
|
101 | + changed_files = get_list_of_changed_files()
|
|
102 | + if changed_files:
|
|
103 | + command = ["./mach", "lint", "-v"]
|
|
104 | + for linter in args.linters:
|
|
105 | + command.extend(["-l", linter])
|
|
106 | + command.extend(changed_files)
|
|
107 | + result = subprocess.run(command, text=True)
|
|
108 | + sys.exit(result.returncode)
|
|
109 | + else:
|
|
110 | + print("No files changed, skipping linting.") |