[tor-commits] [Git][tpo/applications/tor-browser][base-browser-128.3.0esr-14.0-1] 2 commits: fixup! Add CI for Base Browser

Pier Angelo Vendrame (@pierov) git at gitlab.torproject.org
Tue Oct 22 07:39:50 UTC 2024



Pier Angelo Vendrame pushed to branch base-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser


Commits:
2489123c by Beatriz Rizental at 2024-10-22T09:39:39+02:00
fixup! Add CI for Base Browser

Use tb-build dedicated runners for lint CI.

- - - - -
bfcc1f54 by Beatriz Rizental at 2024-10-22T09:39:41+02:00
fixup! Add CI for Base Browser

Re-enable lint jobs for default branches

- - - - -


3 changed files:

- .gitlab-ci.yml
- .gitlab/ci/lint.yml
- − .gitlab/ci/setup.yml


Changes:

=====================================
.gitlab-ci.yml
=====================================
@@ -1,10 +1,9 @@
 stages:
-  - setup
   - lint
 
 variables:
   IMAGE_PATH: containers.torproject.org/tpo/applications/tor-browser/base:latest
+  LOCAL_REPO_PATH: /srv/apps-repos/${CI_PROJECT_NAME}.git
 
 include:
-  - local: '.gitlab/ci/setup.yml'
   - local: '.gitlab/ci/lint.yml'


=====================================
.gitlab/ci/lint.yml
=====================================
@@ -2,13 +2,9 @@
   stage: lint
   image: $IMAGE_PATH
   interruptible: true
-  needs:
-    - job: setup-env
-      artifacts: true
-    - job: create-bundle
-      artifacts: true
   variables:
     MOZBUILD_STATE_PATH: "$CI_PROJECT_DIR/.cache/mozbuild"
+    # A copy of the repository already is available in the runner.
     GIT_STRATEGY: "none"
   cache:
     paths:
@@ -18,26 +14,21 @@
     when: 'always'
     # Share the cache throughout all pipelines running for a given branch
     key: $CI_COMMIT_REF_SLUG
+  tags:
+    # Run these jobs in the browser dedicated runners.
+    - firefox
   before_script:
-    # DEBUG: Are all artifacts here?
-    - ls -a
-    - mkdir app && cd app
-    # Initialize a fresh git repo
     - git init
-    # Add app.bundle as the remote. All operations that communicate with the remote will be local.
-    - git remote add origin ../app.bundle
-    # shallow.txt contains the SHA of the base commit of the bundle.
-    # The bundle is shallow, therefore it's base commit will not have a parent.
-    # Adding the SHA of the base commit to .git/shallow tells git that it doesn't need
-    # to crash when it realizes said base commit doesn't have a parent.
-    - cp ../shallow.txt .git/shallow
-    # Finally, unpack the bundle. Time it for debugging purposes.
-    - time git pull origin $BRANCH_NAME
+    - git remote add local "$LOCAL_REPO_PATH"
+    - git fetch --depth 500 local
+    - git remote add origin "$CI_REPOSITORY_URL"
+    - git fetch origin ${CI_COMMIT_BRANCH:-$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}
+    - git checkout ${CI_COMMIT_BRANCH:-$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}
 
 eslint:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l eslint
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l eslint
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -61,12 +52,12 @@ eslint:
         - 'tools/lint/eslint/eslint-plugin-mozilla/**'
         - 'tools/lint/eslint/eslint-plugin-spidermonkey-js/**'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 stylelint:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l stylelint
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l stylelint
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -79,12 +70,12 @@ stylelint:
         - '**/.stylelintignore'
         - '**/*stylelintrc*'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 py-black:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l black
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l black
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -98,12 +89,12 @@ py-black:
         - 'pyproject.toml'
         - 'tools/lint/black.yml'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 py-ruff:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l ruff
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l ruff
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -117,12 +108,12 @@ py-ruff:
         - 'tools/lint/python/ruff.py'
         - 'tools/lint/python/ruff_requirements.txt'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 yaml:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l yaml
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l yaml
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -132,12 +123,12 @@ yaml:
         - '**/*.yaml'
         - '**/.ymllint'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 shellcheck:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l shellcheck
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l shellcheck
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -146,13 +137,13 @@ shellcheck:
         - '**/*.sh'
         - 'tools/lint/shellcheck.yml'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 clang-format:
   extends: .base
   script:
     - ./mach configure --without-wasm-sandboxed-libraries --with-base-browser-version=0.0.0
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l clang-format
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l clang-format
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -166,12 +157,12 @@ clang-format:
         - '**/*.mm'
         - 'tools/lint/clang-format.yml'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 rustfmt:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l rustfmt
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l rustfmt
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -180,12 +171,12 @@ rustfmt:
         - '**/*.rs'
         - 'tools/lint/rustfmt.yml'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 fluent-lint:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l fluent-lint
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l fluent-lint
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -195,12 +186,12 @@ fluent-lint:
         - 'tools/lint/fluent-lint.yml'
         - 'tools/lint/fluent-lint/exclusions.yml'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 localization:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l l10n
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l l10n
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -212,12 +203,12 @@ localization:
         - 'third_party/python/fluent/**'
         - 'tools/lint/l10n.yml'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 mingw-capitalization:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l mingw-capitalization
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l mingw-capitalization
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -229,12 +220,12 @@ mingw-capitalization:
         - '**/*.h'
         - 'tools/lint/mingw-capitalization.yml'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 mscom-init:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l mscom-init
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l mscom-init
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -246,12 +237,12 @@ mscom-init:
         - '**/*.h'
         - 'tools/lint/mscom-init.yml'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 file-whitespace:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l file-whitespace
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l file-whitespace
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -275,12 +266,12 @@ file-whitespace:
         - '**/*.xhtml'
         - 'tools/lint/file-whitespace.yml'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 test-manifest:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l test-manifest-alpha -l test-manifest-disable -l test-manifest-skip-if
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l test-manifest-alpha -l test-manifest-disable -l test-manifest-skip-if
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -290,12 +281,12 @@ test-manifest:
         - 'python/mozlint/**'
         - 'tools/lint/**'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'
 
 trojan-source:
   extends: .base
   script:
-    - cat ../changedfiles.txt | xargs -d '\n' ./mach lint -l trojan-source
+    - .gitlab/ci/scripts/helpers.py --get-changed-files | xargs -d '\n' ./mach lint -l trojan-source
   rules:
     - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
       changes:
@@ -309,4 +300,4 @@ trojan-source:
         - '**/*.rs'
         - 'tools/lint/trojan-source.yml'
     # Run job whenever a commit is merged to a protected branch
-    # - if: $CI_COMMIT_REF_PROTECTED == 'true'
+    - if: $CI_COMMIT_REF_PROTECTED == 'true'


=====================================
.gitlab/ci/setup.yml deleted
=====================================
@@ -1,56 +0,0 @@
-setup-env:
-  stage: setup
-  interruptible: true
-  variables:
-    GIT_STRATEGY: "none"
-  rules:
-    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' || $CI_COMMIT_REF_PROTECTED == 'true'
-  script:
-    - |
-      if [ -n "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" ]; then
-        echo "BRANCH_NAME=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" > build.env
-      else
-        echo "BRANCH_NAME=$CI_COMMIT_REF_NAME" > build.env
-      fi
-  artifacts:
-    reports:
-      dotenv:
-        - build.env
-
-create-bundle:
-  stage: setup
-  # TODO: Find a better suited image, this one just has git.
-  image: python
-  needs:
-    - job: setup-env
-      artifacts: true
-  rules:
-    - if: $CI_PIPELINE_SOURCE == 'merge_request_event' || $CI_COMMIT_REF_PROTECTED == 'true'
-  variables:
-    GIT_DEPTH: "1"
-  interruptible: true
-  script:
-    # DEBUG: Check repository status.
-    - git status
-    # DEBUG: Check branches in repository
-    - git branch
-    # Force switch to a named branch. We force it in case there is already
-    # a branch with the same name from previous runs.
-    - git switch -C $BRANCH_NAME
-    # Create a git bundle -- this will generate the app.bundle file,
-    # which can be used as a git remote for offline fetching.
-    - git bundle create app.bundle $BRANCH_NAME
-    # Retain the SHA of the base of this shallow repository.
-    - cat .git/shallow > shallow.txt
-    # DEBUG: Check sizes.
-    - du -sh .git
-    - du -sh app.bundle
-    # Since this is the only job we have access to the Gitlab remote,
-    # let's get a list of changed files to use in the next jobs.
-    - .gitlab/ci/scripts/helpers.py --get-changed-files > changedfiles.txt
-  artifacts:
-    paths:
-      - app.bundle
-      - shallow.txt
-      - changedfiles.txt
-    expire_in: 1 hour



View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8f7307ac6ac1331926446597f8a3b1f3093b9c60...bfcc1f54e38efd0f1558c990853b849172078cd0

-- 
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8f7307ac6ac1331926446597f8a3b1f3093b9c60...bfcc1f54e38efd0f1558c990853b849172078cd0
You're receiving this email because of your account on gitlab.torproject.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20241022/3e567e6c/attachment-0001.htm>


More information about the tor-commits mailing list