summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-29minor fix: avoid multi catch oneliners for API < 19cyBerta
2017-09-29update README due to new supported Android APIs, updated SDK, NDK and new ↵cyBerta
docker image references
2017-09-29Revert "gitlab ci: change reference to image for build task"developcyBerta
This reverts commit 9c963b3bc34fac9e5a51b753cf7aba624680307a.
2017-09-29gitlab ci: change reference to image for build taskcyBerta
2017-09-29fix typo in DockerfilecyBerta
2017-09-29fix gitlab ci scriptcyBerta
2017-09-29update ics-openvpn: update Dockerfiles, add new api level 26 and update ndkcyBerta
2017-09-29Build docker images from CIVarac
2017-09-29disable breakpadcyBerta
2017-09-29update ics-openvpn: fix submodule urlscyBerta
2017-09-21update ics-openvpn: cleanup build.gradlecyBerta
2017-09-21update ics-openvpn: add and fix testscyBerta
2017-09-21update ics-openvpn: update classes, manifest, resources and build scriptcyBerta
2017-09-21update ics-openvpn: move ics-openvpn submodule remote to leap.secyBerta
2017-09-21update ics-openvpn: add textual changescyBerta
2017-09-21update ics-openvpn: add new aidl interface definitionscyBerta
2017-09-21update ics-openvpn: add plurals to bitmask resourcescyBerta
2017-09-18change expiration offset to 15 days before actual certificate expirescyBerta
2017-09-15vpn certificate gets renewed 3 month before current certificate expirescyBerta
2017-09-14minor changes: replace depr. img and change xml identifier to follow android ↵cyBerta
code guidelines
2017-09-14improves comparison of images - reduces complexity and more reliablecyBerta
2017-09-14fixes tests that fail to login & some more assertions for showing causes of ↵cyBerta
failure earlier
2017-09-14avoid dependencies between different test classes extending ↵cyBerta
ActivityInstrumentationTestCase2
2017-09-14refactor failing certification validation testcyBerta
2017-09-14rename test classes - starting with a capital lettercyBerta
2017-05-31Merge branch 'add-caa' into 'master'aguestuser
Add CAA See merge request !4
2017-05-30[ag] add aguestuser's CAA signatureaguestuser
2017-05-30[ag] add copyright assignment agreementaguestuser
2017-05-17Merge branch 'develop' move to 'master-'based developmentkwadronaut
2017-05-04Update README, Dockerfile to build, smoothing on-boardingaguestuser
Closes https://0xacab.org/leap/bitmask_android/merge_requests/1 README: add detailed instructions on installing and compiling provide workarounds for gotchas setting up emulator on 64-bit debian provide updated dockerfile & offer instructions for building in docker Docker: move dockerfiles to registry contained w/in bitmask_android repo provide separate dockerfiles for sdk (base), ndk, and emulator images resolve issues causing containerized build to fail, including: upstream ics-openvpn conflict with clang (:. transitively with ndk > r12b) (subtle!) missing dependency of ndk r12b on file (message: "missing file" meant a missing program called "file" not an actual missing file) missing locales causing errors in copyIcsOpenVPNFiles build step (resolved by generating all locales in dockerfile) silent failure in sdknmanager's isntallation of platforms;android-23 during image build causing install failure in remote (but not local!) containers Signed-off-by: kwadronaut <kwadronaut@leap.se>
2017-04-30[ag] change issues link in readme to point to 0xacab not githubaguestuser
2017-04-30[ag] update README to reflect correct versions, install processaguestuser
2017-04-30[ag] modify sdk dockerfile to ensure android-23 platform installsaguestuser
* on remote builds, failure of Android SDK Platform 23 to properly install was causing build failures undetected in local container. see: <https://0xacab.org/aguestuser/bitmask_android/builds/9906> * to fix this, tweak order of `sdkmanager` calls and remove `echo -y` flags to ensure platform installation completes successfully and build step never tries to install Platform 23
2017-04-30[ag] use ndk container from repo registry in buildaguestuser
2017-04-30[ag] extract sdk, ndk, emulator configs to separate dockerfilesaguestuser
2017-04-30[ag] generate all locales in android-sdk dockerfile to pass buildaguestuser
2017-04-30[ag] use external docker registry to demonstrate state of buildaguestuser
2017-04-30[ag] clean up READMEaguestuser
2017-04-30[ag] use canonical format for 0xacab docker registry imagesaguestuser
* this change was necessitated by prior format failing a whitelisted images check here: https://0xacab.org/aguestuser/bitmask_android/builds/9406 * NOTE: this format means we can't label `android-sdk` images by version because the tag is reserved for the image name, not the version :( * ie: the whitelist forces us to specify `bimtask_android:android-sdk` rather than `bitmask_android/android-sdk:0.0.1` -- is there a reason for this?
2017-04-30[ag] use self-contained docker registry in ci buildaguestuser
* for greater compartmentalization and self-documentation, use docker registry in this repo to host image used in its build rather than registry in `leap/gitlab-buildpackage` as before
2017-04-30[ag] eliminate hacky workaround for 64-bit buildsaguestuser
* HACK: replace all toolchain references to `linux-x86_64` with `linux-x86` * FIX: provide dependency on `file` package that will allow `ndk-build` to detect 32-bit userland, making this * side-effects: * group sdk/env vars with installation code that uses them * add explanatory note about why we use outdated version of `android-ndk` ------------------ *Explanation:* More careful analysis of the meaning of the word `file` in this (subtle!) error message: ```shell /opt/android-sdk-linux/android-ndk-r12b/build/ndk-build: 143: /opt/android-sdk-linux/android-ndk-r12b/build/ndk-build: file: not found ``` led to inspecting line 143 of `ndk-build`, revealing an undefined variable called `file` that would allow `ndk-build` to detect a 32-bit userland: ```shell file -L "$SHELL" | grep -q "x86[_-]64" ``` Thus the error messsage was *not* trying to tell us that a file could not be found, but that the program called `file` could not be found. FUN! :)
2017-04-30[ag] Fix native build step with revised dockerfileaguestuser
* PROBLEM: * most recent version (r14b) of `android-ndk` uses `clang` for cross-compilation * BUT: `openssl` cannot compile successfully w/ `clang` * AND: we depend on `openssl` transitively through `ics-openvpn` while trying to use `android-ndk` r14b * FIX: * downgrade to `android-ndk` (12b) (most recent versoin that still uses `gcc` instead of `clang`) * modify some of the default * REMAINING PROBLEMS: * some string translations for Jamaica now break the build (unclear why -- outdated country abbreviation? ja for jm???) * we are now using a version of ndk that is 2 versions old and a version of ics-openvpn (pinned to a 3.1.2016 commit via submodule) that depends on an outdated version of `openssl`, which raises security concerns. updating to the most recent version will force us to wade into all the dependency problems amongst `ics-openvpn`/`openssl`/`ndk` * REFERENCES: * on `openssl` incompatibility w/ clang: https://github.com/openssl/openssl/pull/2229 * on `ics-openvpn` problems with `ndk`: https://github.com/android-ndk/ndk/issues/144
2017-04-30[ag] Update dockerfile to match config in passing local buildaguestuser
* PROBLEM: the build fails on gitlab in a debian-based docker container * BUT: i (@aguestuser) have a recently-achieved passing build on a debian laptop * ATTEMPTED SOLUTION: construct a dockerfile that matches my local configuration as precisely as possible * PROGRESS: the build gets further than it did before -- getting part of the way through the `buildNative` gradle script before failing * REMAINING FAILURE: several arm64 cross-compile steps in the `ndk-build` step fail because they depend on [neon](https://developer.android.com/ndk/guides/cpu-arm-neon.html): ```shell [arm64-v8a] Compile : crypto_static <= aesv8-armx-64.S openssl/crypto/aes/asm/aesv8-armx-64.S:35:2: error: instruction requires: neon eor v0.16b,v0.16b,v0.16b ^ openssl/crypto/aes/asm/aesv8-armx-64.S:36:2: error: instruction requires: neon ld1 {v3.16b},[x0],#16 ^ openssl/crypto/aes/asm/aesv8-armx-64.S:38:2: error: instruction requires: neon ld1 {v1.4s,v2.4s},[x3],#32 ``` * PROPOSED NEXT STEPS: * consult team to see if there's any collective wisdom about `neon` * look for ways to analyze diff of c dependencies in local machine v. docker instance * consider using ubuntu or debian:sid as the base image for the android container?
2017-04-17[ag] Update README to promote smoother on-boardingaguestuser
* add detailed instructions on installing and compiling * provide workarounds for gotchas setting up emulator on debian * offer instructions for building in docker side-effects: * update build tools & gradle version * fix indentation in build.gradle * comment out tests in `TestLogFileHandler` causing `build` to break (and provide justification)
2017-03-15Try with explicit git submodule cloningvarac
2017-03-14try our own docker image for buildingkwadronaut
2017-03-14sync submodules (ics-ovpn) when buildingkwadronaut
2017-03-14gitlab ci with jdk8 dockerkwadronaut
2017-03-14give gitlab builds a try with foreign docker imagekwadronaut
2017-03-14add .gitlab-ci config for CI buildingkwadronaut