diff --git a/.taskcluster.yml b/.taskcluster.yml index 24848ffb..ba36df3c 100644 --- a/.taskcluster.yml +++ b/.taskcluster.yml @@ -25,7 +25,7 @@ tasks: payload: maxRunTime: 3600 deadline: "{{ '2 hours' | $fromNow }}" - image: 'mozillamobile/mentat:1.1' + image: 'mozillamobile/android-components:1.4' command: - /bin/bash - '--login' @@ -57,7 +57,7 @@ tasks: payload: maxRunTime: 3600 deadline: "{{ '2 hours' | $fromNow }}" - image: 'mozillamobile/mentat:1.1' + image: 'mozillamobile/mentat:1.2' command: - /bin/bash - '--login' diff --git a/automation/docker/Dockerfile b/automation/docker/Dockerfile new file mode 100644 index 00000000..818436d2 --- /dev/null +++ b/automation/docker/Dockerfile @@ -0,0 +1,36 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +FROM mozillamobile/rust-component:buildtools-27.0.3-ndk-r17b-ndk-version-26-rust-stable-rust-beta + +MAINTAINER Nick Alexander "nalexander@mozilla.com" + +#---------------------------------------------------------------------------------------------------------------------- +#-- Project ----------------------------------------------------------------------------------------------------------- +#---------------------------------------------------------------------------------------------------------------------- + +ENV PROJECT_REPOSITORY "https://github.com/mozilla/mentat.git" + +RUN git clone $PROJECT_REPOSITORY + +WORKDIR /build/mentat + +# Temporary. +RUN git fetch origin master && git checkout origin/generic-automation-images && git show-ref HEAD + +# Populate dependencies. +RUN ./sdks/android/Mentat/gradlew --no-daemon -p sdks/android/Mentat tasks + +# Build Rust. +RUN ./sdks/android/Mentat/gradlew --no-daemon -p sdks/android/Mentat cargoBuild + +# Actually build. In the future, we might also lint (to cache additional dependencies). +RUN ./sdks/android/Mentat/gradlew --no-daemon -p sdks/android/Mentat assemble test + +#---------------------------------------------------------------------------------------------------------------------- +# -- Cleanup ---------------------------------------------------------------------------------------------------------- +#---------------------------------------------------------------------------------------------------------------------- + +# Drop built Rust artifacts. +RUN cargo clean diff --git a/automation/taskcluster/decision_task_pull_request.py b/automation/taskcluster/decision_task_pull_request.py index 69e4e98c..4ef09da5 100644 --- a/automation/taskcluster/decision_task_pull_request.py +++ b/automation/taskcluster/decision_task_pull_request.py @@ -63,7 +63,7 @@ def create_task(name, description, command): "payload": { "features": {}, "maxRunTime": 7200, - "image": "mozillamobile/mentat:1.1", + "image": "mozillamobile/mentat:1.2", "command": [ "/bin/bash", "--login", diff --git a/sdks/android/Mentat/build.gradle b/sdks/android/Mentat/build.gradle index 26397c48..1407553b 100644 --- a/sdks/android/Mentat/build.gradle +++ b/sdks/android/Mentat/build.gradle @@ -29,13 +29,14 @@ buildscript { classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' - classpath 'gradle.plugin.org.mozilla.rust-android-gradle:plugin:0.1.0' - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files + classpath 'gradle.plugin.org.mozilla.rust-android-gradle:plugin:0.2.0' // Yes, this is unusual. We want to access some host-specific // computation at build time. classpath 'net.java.dev.jna:jna:4.5.2' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files } }