Commit 538253e5 authored by brizental's avatar brizental Committed by Pier Angelo Vendrame
Browse files

fixup! Add CI for Tor Browser

Bug 44860: Add a container with Android toolchains
parent 68172070
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ stages:
  - update-translations

variables:
  IMAGE_PATH: containers.torproject.org/tpo/applications/tor-browser/base:latest
  IMAGE_PATH: containers.torproject.org/tpo/applications/tor-browser/desktop:latest
  LOCAL_REPO_PATH: /srv/apps-repos/tor-browser.git

include:
+24 −8
Original line number Diff line number Diff line
# This image is published in containers.torproject.org/tpo/applications/tor-browser/base
# This image is published in containers.torproject.org/tpo/applications/tor-browser/{android,desktop}
#
# Whenever there are changes to this file,
# they are autopublished on merge to the tpo/applications/tor-browser repository.
#
# The image is updated roughly once a month when the tor-browser repository is rebased.
# This image is built and published on CI. The CI job that does this is manual,
# therefore it's up to the developer or reviewer to trigger this CI job when necessary
# e.g. after a RR rebase or big changes to this file.

FROM containers.torproject.org/tpo/tpa/base-images/python:trixie

ARG APPLICATION_CHOICE

RUN apt-get update && apt-get install -y \
        curl \
        git \
        xvfb
        libc6-dev \
        xvfb \
        zlib1g-dev

RUN git clone --single-branch --depth 1 https://gitlab.torproject.org/tpo/applications/tor-browser.git

# Bootstrap will download and install all dependencies required for building / linting / etc.
RUN cd tor-browser && \
    yes | MOZBUILD_STATE_PATH=/var/tmp/mozbuild ./mach bootstrap --application-choice "Tor Browser for Desktop" && \
    yes | MOZBUILD_STATE_PATH=/var/tmp/mozbuild ./mach bootstrap --application-choice "$APPLICATION_CHOICE" && \
    cd ..

ENV PATH="/var/tmp/mozbuild/clang/bin:/root/.cargo/bin:$PATH"

RUN echo "$APPLICATION_CHOICE" | grep -qi android && \
    rustup target add armv7-linux-androideabi \
        aarch64-linux-android \
        i686-linux-android \
        x86_64-linux-android \
    || true

RUN rm -rf tor-browser && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
    rm -rf /var/lib/apt/lists/* && \
    rm -rf /var/tmp/mozbuild/toolchains && \
    rm -rf /var/tmp/mozbuild/indices && \
    rm -rf /var/tmp/mozbuild/android-device
+9 −3
Original line number Diff line number Diff line
build-base-image:
build-image:
  stage: update-container-images
  interruptible: true
  image: containers.torproject.org/tpo/tpa/base-images/podman:bookworm
  parallel:
    matrix:
      - PLATFORM: desktop
        APPLICATION_CHOICE: "Tor Browser for Desktop"
      - PLATFORM: android
        APPLICATION_CHOICE: "GeckoView/Tor Browser for Android"
  script:
    - export TAG="${CI_REGISTRY_IMAGE}/base:latest"
    - export TAG="${CI_REGISTRY_IMAGE}/${PLATFORM}:latest"
    - podman login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - podman build --layers=false $IMAGE -t ${TAG} -f .gitlab/ci/containers/base/Containerfile .
    - podman build --layers=false $IMAGE -t ${TAG} --build-arg APPLICATION_CHOICE="${APPLICATION_CHOICE}" -f .gitlab/ci/containers/base/Containerfile .
    - |
      echo -e "\e[33mPushing new image to registry as ${TAG}\e[0m"
      podman push ${TAG}