Родитель
232717a473
Коммит
e77d7b96de
|
@ -1,8 +1,242 @@
|
|||
version: 2.0
|
||||
jobs:
|
||||
build:
|
||||
libchromiumcontent-linux-x64:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.1
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: x64
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/cibuild
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- run: script/update --clean -t $TARGET_ARCH
|
||||
- run: script/build -t $TARGET_ARCH -c static_library
|
||||
- run: script/build -t $TARGET_ARCH -c shared_library
|
||||
- run: script/build -t $TARGET_ARCH -c ffmpeg
|
||||
- run: script/create-dist -t $TARGET_ARCH
|
||||
- run: script/upload -t $TARGET_ARCH
|
||||
|
||||
libchromiumcontent-linux-x64-static-build:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: x64
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- run: script/update --clean -t $TARGET_ARCH
|
||||
- run: script/build -t $TARGET_ARCH -c static_library
|
||||
- run: script/build -t $TARGET_ARCH -c ffmpeg
|
||||
- run: mkdir -p "/tmp/workspace/out-${TARGET_ARCH}/static_library"
|
||||
- run: mkdir -p "/tmp/workspace/out-${TARGET_ARCH}/ffmpeg"
|
||||
- run: cp -r "src/out-${TARGET_ARCH}/static_library" "/tmp/workspace/out-${TARGET_ARCH}"
|
||||
- run: cp -r "src/out-${TARGET_ARCH}/ffmpeg" "/tmp/workspace/out-${TARGET_ARCH}"
|
||||
- persist_to_workspace:
|
||||
root: /tmp/workspace
|
||||
paths:
|
||||
- out-x64/static_library
|
||||
- out-x64/ffmpeg
|
||||
|
||||
libchromiumcontent-linux-x64-shared-build:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: x64
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- run: script/update --clean -t $TARGET_ARCH
|
||||
- run: script/build -t $TARGET_ARCH -c shared_library
|
||||
- run: mkdir -p "/tmp/workspace/out-${TARGET_ARCH}/shared_library"
|
||||
- run: cp -r "src/out-${TARGET_ARCH}/shared_library" "/tmp/workspace/out-${TARGET_ARCH}"
|
||||
- persist_to_workspace:
|
||||
root: /tmp/workspace
|
||||
paths:
|
||||
- out-x64/shared_library
|
||||
|
||||
libchromiumcontent-linux-x64-upload:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: x64
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- attach_workspace:
|
||||
at: /home/builduser/project/src
|
||||
- run: script/create-dist -t $TARGET_ARCH
|
||||
- run: script/upload -t $TARGET_ARCH
|
||||
|
||||
libchromiumcontent-linux-ia32:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: ia32
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- run: script/update --clean -t $TARGET_ARCH
|
||||
- run: script/build -t $TARGET_ARCH -c static_library
|
||||
- run: script/build -t $TARGET_ARCH -c shared_library
|
||||
- run: script/build -t $TARGET_ARCH -c ffmpeg
|
||||
- run: script/create-dist -t $TARGET_ARCH
|
||||
- run: script/upload -t $TARGET_ARCH
|
||||
|
||||
libchromiumcontent-linux-ia32-static-build:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: ia32
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- run: script/update --clean -t $TARGET_ARCH
|
||||
- run: script/build -t $TARGET_ARCH -c static_library
|
||||
- run: script/build -t $TARGET_ARCH -c ffmpeg
|
||||
- run: mkdir -p "/tmp/workspace/out-${TARGET_ARCH}/static_library"
|
||||
- run: mkdir -p "/tmp/workspace/out-${TARGET_ARCH}/ffmpeg"
|
||||
- run: cp -r "src/out-${TARGET_ARCH}/static_library" "/tmp/workspace/out-${TARGET_ARCH}"
|
||||
- run: cp -r "src/out-${TARGET_ARCH}/ffmpeg" "/tmp/workspace/out-${TARGET_ARCH}"
|
||||
- persist_to_workspace:
|
||||
root: /tmp/workspace
|
||||
paths:
|
||||
- out-ia32/static_library
|
||||
- out-ia32/ffmpeg
|
||||
|
||||
libchromiumcontent-linux-ia32-shared-build:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: ia32
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- run: script/update --clean -t $TARGET_ARCH
|
||||
- run: script/build -t $TARGET_ARCH -c shared_library
|
||||
- run: mkdir -p "/tmp/workspace/out-${TARGET_ARCH}/shared_library"
|
||||
- run: cp -r "src/out-${TARGET_ARCH}/shared_library" "/tmp/workspace/out-${TARGET_ARCH}"
|
||||
- persist_to_workspace:
|
||||
root: /tmp/workspace
|
||||
paths:
|
||||
- out-ia32/shared_library
|
||||
|
||||
libchromiumcontent-linux-ia32-upload:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: ia32
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- attach_workspace:
|
||||
at: /home/builduser/project/src
|
||||
- run: script/create-dist -t $TARGET_ARCH
|
||||
- run: script/upload -t $TARGET_ARCH
|
||||
|
||||
libchromiumcontent-linux-arm:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: arm
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- run: script/update --clean -t $TARGET_ARCH
|
||||
- run: script/build -t $TARGET_ARCH -c static_library
|
||||
- run: script/build -t $TARGET_ARCH -c shared_library
|
||||
- run: script/build -t $TARGET_ARCH -c ffmpeg
|
||||
- run: script/create-dist -t $TARGET_ARCH
|
||||
- run: script/upload -t $TARGET_ARCH
|
||||
|
||||
libchromiumcontent-linux-arm-static-build:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: arm
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- run: script/update --clean -t $TARGET_ARCH
|
||||
- run: script/build -t $TARGET_ARCH -c static_library
|
||||
- run: script/build -t $TARGET_ARCH -c ffmpeg
|
||||
- run: mkdir -p "/tmp/workspace/out-${TARGET_ARCH}/static_library"
|
||||
- run: mkdir -p "/tmp/workspace/out-${TARGET_ARCH}/ffmpeg"
|
||||
- run: cp -r "src/out-${TARGET_ARCH}/static_library" "/tmp/workspace/out-${TARGET_ARCH}"
|
||||
- run: cp -r "src/out-${TARGET_ARCH}/ffmpeg" "/tmp/workspace/out-${TARGET_ARCH}"
|
||||
- persist_to_workspace:
|
||||
root: /tmp/workspace
|
||||
paths:
|
||||
- out-arm/static_library
|
||||
- out-arm/ffmpeg
|
||||
|
||||
libchromiumcontent-linux-arm-shared-build:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: arm
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- run: script/update --clean -t $TARGET_ARCH
|
||||
- run: script/build -t $TARGET_ARCH -c shared_library
|
||||
- run: mkdir -p "/tmp/workspace/out-${TARGET_ARCH}/shared_library"
|
||||
- run: cp -r "src/out-${TARGET_ARCH}/shared_library" "/tmp/workspace/out-${TARGET_ARCH}"
|
||||
- persist_to_workspace:
|
||||
root: /tmp/workspace
|
||||
paths:
|
||||
- out-arm/shared_library
|
||||
|
||||
libchromiumcontent-linux-arm-upload:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: arm
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- attach_workspace:
|
||||
at: /home/builduser/project/src
|
||||
- run: script/create-dist -t $TARGET_ARCH
|
||||
- run: script/upload -t $TARGET_ARCH
|
||||
|
||||
libchromiumcontent-linux-arm64:
|
||||
docker:
|
||||
- image: electronbuilds/libchromiumcontent:0.0.4
|
||||
environment:
|
||||
TARGET_ARCH: arm64
|
||||
resource_class: xlarge
|
||||
steps:
|
||||
- checkout
|
||||
- run: script/bootstrap
|
||||
- run: script/update --clean -t $TARGET_ARCH
|
||||
- run: script/build -t $TARGET_ARCH -c static_library
|
||||
- run: script/build -t $TARGET_ARCH -c shared_library
|
||||
- run: script/build -t $TARGET_ARCH -c ffmpeg
|
||||
- run: script/create-dist -t $TARGET_ARCH
|
||||
- run: script/upload -t $TARGET_ARCH
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build-x64:
|
||||
jobs:
|
||||
- libchromiumcontent-linux-x64
|
||||
build-ia32:
|
||||
jobs:
|
||||
- libchromiumcontent-linux-ia32
|
||||
build-arm:
|
||||
jobs:
|
||||
- libchromiumcontent-linux-arm
|
||||
build-arm64:
|
||||
jobs:
|
||||
- libchromiumcontent-linux-arm64
|
||||
|
|
29
Dockerfile
29
Dockerfile
|
@ -1,14 +1,35 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
RUN groupadd --gid 1000 builduser \
|
||||
&& useradd --uid 1000 --gid builduser --shell /bin/bash --create-home builduser
|
||||
|
||||
# Set up TEMP directory
|
||||
ENV TEMP=/tmp
|
||||
RUN chmod a+rwx /tmp
|
||||
|
||||
# Set up HOME directory
|
||||
ENV HOME=/home
|
||||
RUN chmod a+rwx /home
|
||||
|
||||
# Install Linux packages
|
||||
ADD script/docker-install-build-deps.sh /setup/install-build-deps.sh
|
||||
RUN apt-get update && apt-get -y --force-yes install lsb-release locales
|
||||
RUN /setup/install-build-deps.sh --syms --no-prompt --no-chromeos-fonts
|
||||
|
||||
RUN apt-get install -y python-setuptools
|
||||
RUN easy_install -U pip
|
||||
RUN pip install -U crcmod
|
||||
|
||||
RUN mkdir /tmp/workspace
|
||||
RUN chown builduser:builduser /tmp/workspace
|
||||
|
||||
USER builduser
|
||||
WORKDIR /home/builduser
|
||||
|
||||
# Prime the LIBCHROMIUMCONTENT_GIT_CACHE and src dirs
|
||||
RUN mkdir /tmp/libcc_cache
|
||||
RUN chown builduser:builduser /tmp/libcc_cache
|
||||
RUN git clone https://github.com/electron/libchromiumcontent.git project
|
||||
WORKDIR /home/builduser/project
|
||||
RUN git checkout circleci_test
|
||||
RUN script/bootstrap
|
||||
RUN export LIBCHROMIUMCONTENT_GIT_CACHE=/tmp/libcc_cache
|
||||
RUN script/update --source_only
|
||||
|
||||
WORKDIR /home/builduser
|
||||
|
|
|
@ -15,9 +15,13 @@ S3_CREDENTIALS_FILE = os.path.join(JENKINS_ROOT, 'config', 's3credentials')
|
|||
|
||||
|
||||
def main():
|
||||
if not os.path.isfile(S3_CREDENTIALS_FILE):
|
||||
return 'Error: Can\'t find {0}'.format(S3_CREDENTIALS_FILE)
|
||||
copy_to_environment(S3_CREDENTIALS_FILE)
|
||||
|
||||
if (not 'LIBCHROMIUMCONTENT_S3_ACCESS_KEY' in os.environ and
|
||||
not 'LIBCHROMIUMCONTENT_S3_BUCKET' in os.environ and
|
||||
not 'LIBCHROMIUMCONTENT_S3_SECRET_KEY' in os.environ):
|
||||
if not os.path.isfile(S3_CREDENTIALS_FILE):
|
||||
return 'Error: Can\'t find {0}'.format(S3_CREDENTIALS_FILE)
|
||||
copy_to_environment(S3_CREDENTIALS_FILE)
|
||||
|
||||
# Use by gclient to distinguish bot builds
|
||||
os.environ['CHROME_HEADLESS'] = '1'
|
||||
|
|
|
@ -57,7 +57,10 @@ def main():
|
|||
# More information: https://stackoverflow.com/a/9935126
|
||||
git_cache = args.git_cache or os.getenv('LIBCHROMIUMCONTENT_GIT_CACHE', '')
|
||||
if not args.skip_gclient:
|
||||
gclient_sync(chromium_version(), args.clean, git_cache)
|
||||
if (args.source_only):
|
||||
return gclient_sync(chromium_version(), args.clean, git_cache)
|
||||
else:
|
||||
gclient_sync(chromium_version(), args.clean, git_cache)
|
||||
|
||||
if sys.platform == 'linux2':
|
||||
install_sysroot()
|
||||
|
@ -89,6 +92,8 @@ def parse_args():
|
|||
help='Skips syncing repo, easier to build locally')
|
||||
parser.add_argument('--skip_depot_tools_update', action='store_true',
|
||||
help='Skips update depot tools on windows, easier to build locally')
|
||||
parser.add_argument('--source_only', action='store_true',
|
||||
help='Only sync the chromium source code')
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 4b73b02b36238fe6c8e71b647b0e1367c9ead9cc
|
||||
Subproject commit c55eecf76bdb96b904aaaee93fe4c67bbbb102d9
|
Загрузка…
Ссылка в новой задаче