tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

.taskcluster.yml (7725B)


      1 # This file specifies the configuration needed to test WebRender using the
      2 # Taskcluster infrastructure. Most of this should be relatively
      3 # self-explanatory; this file was originally generated by using the
      4 # Taskcluster-GitHub integration quickstart tool which no longer exists.
      5 #
      6 # See https://community-tc.services.mozilla.com/docs
      7 version: 1
      8 policy:
      9  pullRequests: public
     10 
     11 # This file triggers a set of tasks; the ones targeting Linux are run in a docker
     12 # container using docker-worker (which is a worker type provided by TaskCluster).
     13 # The OS X ones are run in a custom worker type, for which we have worker
     14 # instances configured and running.
     15 tasks:
     16  $if: 'tasks_for in ["github-push", "github-pull-request"]'
     17  then:
     18    $let:
     19      should_run:
     20        $if: 'tasks_for == "github-push"'
     21        # for pushes, run on any branch but master
     22        then: {$eval: 'event.ref != "refs/heads/master"'}
     23        # for PRs, run for opened and synchronized events
     24        else: {$eval: 'event.action in ["opened", "synchronize"]'}
     25      repo_url:
     26        $if: 'tasks_for == "github-push"'
     27        then: ${event.repository.clone_url}
     28        else: ${event.pull_request.head.repo.clone_url}
     29      sha:
     30        $if: 'tasks_for == "github-push"'
     31        then: ${event.after}
     32        else: ${event.pull_request.head.sha}
     33      login: ${event.sender.login}
     34      branch:
     35        $if: 'tasks_for == "github-push"'
     36        then:
     37          $if: 'event.ref[:11] == "refs/heads/"'
     38          then: ${event.ref[11:]}
     39          else: ${event.ref}
     40        else: ${event.pull_request.head.ref}
     41    in:
     42      $if: should_run
     43      then:
     44        # For the docker-worker tasks, the Docker image used
     45        # (staktrace/webrender-test:debian-v10) was created using the Dockerfile in
     46        # ci-scripts/docker-image.
     47        #
     48        # The docker image may need to be updated over time if the set of required
     49        # packages increases. Note in particular that rust/cargo are not part of the
     50        # docker image, and are re-installed using rustup on each CI run. This ensures
     51        # the latest stable rust compiler is always used.
     52        # CI runs will be triggered on opening PRs, updating PRs, and pushes to the
     53        # repository.
     54        - metadata:
     55            name: Linux release tests
     56            description: Runs release-mode WebRender CI stuff on a Linux TC worker
     57            owner: noreply@mozilla.com
     58            source: ${repo_url}
     59          provisionerId: proj-webrender
     60          workerType: ci-linux
     61          deadline: {$fromNow: '1 day'}
     62          payload:
     63            maxRunTime: 7200
     64            image: 'staktrace/webrender-test:debian-v10'
     65            env:
     66              RUST_BACKTRACE: 'full'
     67              RUSTFLAGS: '--deny warnings'
     68            command:
     69              - /bin/bash
     70              - '--login'
     71              - '-c'
     72              - >-
     73                curl https://sh.rustup.rs -sSf | sh -s -- -y &&
     74                source $HOME/.cargo/env &&
     75                git clone ${repo_url} webrender && cd webrender &&
     76                git checkout ${sha} &&
     77                servo-tidy &&
     78                ci-scripts/install-meson.sh &&
     79                export PATH=$PATH:$PWD/meson &&
     80                ci-scripts/linux-release-tests.sh
     81          routes:
     82            - "index.project.webrender.ci.${login}.${branch}.linux-release"
     83        - metadata:
     84            name: Linux debug tests
     85            description: Runs debug-mode WebRender CI stuff on a Linux TC worker
     86            owner: noreply@mozilla.com
     87            source: ${repo_url}
     88          provisionerId: proj-webrender
     89          workerType: ci-linux
     90          deadline: {$fromNow: '1 day'}
     91          payload:
     92            maxRunTime: 7200
     93            image: 'staktrace/webrender-test:debian-v10'
     94            env:
     95              RUST_BACKTRACE: 'full'
     96              RUSTFLAGS: '--deny warnings'
     97            command:
     98              - /bin/bash
     99              - '--login'
    100              - '-c'
    101              - >-
    102                curl https://sh.rustup.rs -sSf | sh -s -- -y &&
    103                source $HOME/.cargo/env &&
    104                git clone ${repo_url} webrender && cd webrender &&
    105                git checkout ${sha} &&
    106                servo-tidy &&
    107                ci-scripts/install-meson.sh &&
    108                export PATH=$PATH:$PWD/meson &&
    109                ci-scripts/linux-debug-tests.sh
    110          routes:
    111            - "index.project.webrender.ci.${login}.${branch}.linux-debug"
    112        # For the OS X jobs we use a pool of machines that we are managing, because
    113        # Mozilla releng doesn't have any spare OS X machines for us at this time.
    114        # Talk to :kats or :jrmuizel if you need more details about this. The machines
    115        # are hooked up to taskcluster using taskcluster-worker; they use a workerpool
    116        # of proj-webrender/ci-macos. They are set up with all the dependencies needed
    117        # to build and test webrender, including Rust (currently 1.41.1), servo-tidy,
    118        # mako, zlib, etc. Note that unlike the docker-worker used for Linux, these
    119        # machines WILL persist state from one run to the next, so any cleanup needs
    120        # to be handled explicitly.
    121 
    122        # macOS tasks currently disabled, see bug 1639217.
    123        # - metadata:
    124        #     name: OS X release tests
    125        #     description: Runs release-mode WebRender CI stuff on a OS X TC worker
    126        #     owner: noreply@mozilla.com
    127        #     source: ${repo_url}
    128        #   provisionerId: 'proj-webrender'
    129        #   workerType: 'ci-macos'
    130        #   deadline: {$fromNow: '1 day'}
    131        #   payload:
    132        #     maxRunTime: 3600
    133        #     command:
    134        #       - - /bin/bash
    135        #         - '--login'
    136        #         - '-vec'
    137        #         - |
    138        #           git clone ${repo_url} webrender
    139        #           cd webrender
    140        #           git checkout ${sha}
    141        #           source $HOME/servotidy-venv/bin/activate
    142        #           servo-tidy
    143        #           export RUST_BACKTRACE=full
    144        #           export RUSTFLAGS='--deny warnings'
    145        #           export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig:$PKG_CONFIG_PATH"
    146        #           echo 'exec make -j1 "$@"' > $HOME/make # See #2638
    147        #           chmod +x $HOME/make
    148        #           export MAKE="$HOME/make"
    149        #           ci-scripts/macos-release-tests.sh
    150        #   routes:
    151        #     - "index.project.webrender.ci.${login}.${branch}.osx-release"
    152        # - metadata:
    153        #     name: OS X debug tests
    154        #     description: Runs debug-mode WebRender CI stuff on a OS X TC worker
    155        #     owner: noreply@mozilla.com
    156        #     source: ${repo_url}
    157        #   provisionerId: 'proj-webrender'
    158        #   workerType: 'ci-macos'
    159        #   deadline: {$fromNow: '1 day'}
    160        #   payload:
    161        #     maxRunTime: 3600
    162        #     command:
    163        #       - - /bin/bash
    164        #         - '--login'
    165        #         - '-vec'
    166        #         - |
    167        #           git clone ${repo_url} webrender
    168        #           cd webrender
    169        #           git checkout ${sha}
    170        #           source $HOME/servotidy-venv/bin/activate
    171        #           servo-tidy
    172        #           export RUST_BACKTRACE=full
    173        #           export RUSTFLAGS='--deny warnings'
    174        #           export PKG_CONFIG_PATH="/usr/local/opt/zlib/lib/pkgconfig:$PKG_CONFIG_PATH"
    175        #           echo 'exec make -j1 "$@"' > $HOME/make # See #2638
    176        #           chmod +x $HOME/make
    177        #           export MAKE="$HOME/make"
    178        #           ci-scripts/macos-debug-tests.sh
    179        #   routes:
    180        #     - "index.project.webrender.ci.${login}.${branch}.osx-debug"