diff options
author | Pierre Grandin <grandinp@gmail.com> | 2019-06-04 10:14:17 -0600 |
---|---|---|
committer | Pierre Grandin <grandinp@gmail.com> | 2019-06-04 10:14:17 -0600 |
commit | 92a5169423e470e4d1a5f4237cb2112266998d28 (patch) | |
tree | bee5f13203e0a0d99c8f6962c82deef9fe772b6e /.circleci/config.yml | |
parent | 5304cda121782db8e1e5e4685ae10780cce36394 (diff) | |
parent | da3e1e0c186dfd6c6566f798811a27d001a7fb1d (diff) | |
download | navit-audio.tar.gz |
Merge branch 'trunk' into audioaudio
Diffstat (limited to '.circleci/config.yml')
-rw-r--r-- | .circleci/config.yml | 260 |
1 files changed, 195 insertions, 65 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml index 19cb6286d..57e2f4c68 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,147 +1,277 @@ version: 2 defaults: &defaults docker: - - image: ubuntu:14.04 - + - image: ubuntu:18.04 jobs: + sanity_check: + <<: *defaults + steps: + - checkout + - run: + name: Setup requirements + command: bash scripts/setup_common_requirements.sh + - run: + name: run sanity check script + command: bash scripts/ci_sanity_checks.sh build_linux: <<: *defaults steps: - checkout - run: + name: Id + command: cat /etc/*release + - run: + name: Setup requirements + command: | + bash scripts/setup_common_requirements.sh + apt-get install -y libpng-dev libfreetype6-dev libdbus-glib-1-dev libgtk2.0-dev curl + - run: name: Build for Linux + command: bash scripts/build_linux.sh + - store_artifacts: + path: linux/_CPack_Packages + - run: + name: Update Navit-Download-Center command: | - bash ci/setup_common_requirements.sh - bash ci/build_linux.sh + bash scripts/update_download_center.sh run_doxygen: <<: *defaults steps: - checkout - run: - name: Install doxygen - command: apt-get update && apt-get -y install doxygen ca-certificates git + name: Install doxygen and other essentials + command: apt-get update && apt-get -y install doxygen ca-certificates git rsync - run: name: Run doxygen command: cd navit && doxygen - run: name: Update results to Github - command: | - mkdir /root/.ssh - chmod 0600 /root/.ssh - echo 'github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==' >> ~/.ssh/known_hosts - git clone -b gh-pages git@github.com:navit-gps/navit.git /root/navit-doc - cd /root/navit-doc - git config --global push.default simple - git config user.name "Circle CI" - git config user.email "circleci@navit-project.org" - rsync -vrtza --exclude '.git' --delete /root/project/doc/html/ /root/navit-doc/ - echo "" > .nojekyll - echo "doxygen.navit-project.org" > CNAME - git add . - git commit -am "update:doc:Doxygen update for commit ${CIRCLE_SHA1} [ci skip]" || true - git push + command: bash scripts/update_doxygen.sh - store_artifacts: path: /root/project/doc - build_android_arm: - <<: *defaults + build_sailfish: + machine: true steps: - checkout - run: - name: Setup common requirements - command: | - bash ci/setup_common_requirements.sh + name: install docker + command: circleci-install docker - run: - name: Prepare the Android build environment - command: | - bash ci/setup_android.sh + name: make build dir + command: mkdir ../rpmbuild - run: - name: Build for Android ARM - command: | - bash ci/build_android.sh + name: run build + command: ls -lah ../rpmbuild && docker run -e VERSION_ID=2.2.1.18 -v `pwd`/../rpmbuild:/home/nemo/rpmbuild:rw -v `pwd`:/home/nemo/navit hoehnp/sailfishos-platform-sdk:2.2.1.18-r1 /bin/bash -x /home/nemo/navit/contrib/sailfish/build_sailfish_ci.sh - store_artifacts: - path: android-arm/navit - build_android_x86: - <<: *defaults + name: Store rpm + path: ../rpmbuild/RPMS/ + build_android: + working_directory: ~/code + docker: + - image: circleci/android:api-28-ndk + environment: + JVM_OPTS: -Xmx3200m + GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"' steps: - checkout - run: - name: Setup common requirements - command: | - bash ci/setup_common_requirements.sh + name: Id + command: cat /etc/*release - run: - name: Prepare the Android build environment + name: Install cmake gettext libsaxonb-java librsvg2-bin pkg-config libprotobuf-c-dev protobuf-c-compiler command: | - bash ci/setup_android.sh + sudo apt-get update + sudo apt-get install -y cmake gettext libsaxonb-java librsvg2-bin pkg-config libprotobuf-c-dev protobuf-c-compiler - run: - name: Build for Android X86 + name: Install Android SDK components + command: sdkmanager "cmake;3.6.4111459" + - run: + name: Build for Android + command: bash scripts/build_android.sh + - run: + name: Run Lint Test command: | - bash ci/build_android_x86.sh + ln -s navit/navit.dtd navit.dtd + mkdir /home/circleci/code/test-results + ./gradlew lint test + - run: + name: Run CheckStyle Test + command: ./gradlew checkstyleMain + - run: + name: Run Javadoc + command: ./gradlew generateDebugJavadoc - store_artifacts: - path: android-x86/navit + name: Store APK + path: navit/android/build/outputs/apk + destination: apk + - store_artifacts: + name: Store translations + path: po + destination: translations + - store_artifacts: + name: Store logs + path: navit/android/build/outputs/logs + destination: logs + - store_artifacts: + name: Store Javadoc + path: navit/android/build/outputs/docs/javadoc + destination: doc + - store_artifacts: + name: Store Lint reports + path: navit/android/build/reports + destination: reports + - store_artifacts: + name: Store checkstyle report + path: /home/circleci/code/navit/android/checkstyle + destination: reports + - store_test_results: + path: test-results + - run: + name: Update Navit-Download-Center + command: | + bash scripts/update_download_center.sh build_win32: - <<: *defaults + docker: + - image: ubuntu:14.04 steps: - checkout - run: + name: Prepare the Windows build environment + command: | + apt-get update && xargs -a scripts/setup_14.04_requirements.list apt-get install -y + apt-get install -y software-properties-common + add-apt-repository -y ppa:george-edison55/cmake-3.x + apt-get remove -y cmake + apt-get install -y cmake3 mingw-w64 mingw-w64-tools default-jdk nsis libsaxonb-java curl + - run: name: Build for Windows command: | - bash ci/setup_common_requirements.sh - bash ci/build_win32.sh + bash scripts/build_win32.sh + - store_artifacts: + path: win32/navit.exe + - run: + name: Update Navit-Download-Center + command: | + bash scripts/update_download_center.sh build_wince: - <<: *defaults + docker: + - image: navit/dockerfiles:wince steps: - checkout - run: + name: Prepare the WinCE build environment + command: | + bash scripts/setup_wince.sh + - run: name: Build for Windows CE + command: bash scripts/build_wince.sh + - store_artifacts: + path: wince/output + - run: + name: Update Navit-Download-Center command: | - bash ci/setup_common_requirements.sh - bash ci/build_wince.sh + bash scripts/update_download_center.sh build_tomtom_minimal: <<: *defaults docker: - - image: navit/tomtom-build-image + - image: navit/tomtom-ng steps: - checkout - run: name: Setup common requirements command: | - bash ci/setup_common_requirements.sh + bash scripts/setup_common_requirements.sh - run: name: Build for Tomtom (minimal) command: | - bash ci/build_tomtom_minimal.sh + bash scripts/build_tomtom_minimal.sh - store_artifacts: path: /output + - run: + name: Update Navit-Download-Center + command: | + bash scripts/update_download_center.sh build_tomtom_plugin: <<: *defaults docker: - - image: navit/tomtom-build-image + - image: navit/tomtom-ng steps: - checkout - run: name: Setup common requirements command: | - bash ci/setup_common_requirements.sh + bash scripts/setup_common_requirements.sh - run: name: Build for Tomtom (plugin) command: | - bash ci/build_tomtom_plugin.sh + bash scripts/build_tomtom_plugin.sh - store_artifacts: path: /output - + - run: + name: Update Navit-Download-Center + command: | + bash scripts/update_download_center.sh + merge_trunk_in_master: + <<: *defaults + steps: + - checkout + - run: + name: Install git + command: apt-get update && apt-get -y install ca-certificates git + - run: + name: configure ssh git + command: mkdir -p ~/.ssh/ && ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts + - add_ssh_keys: + fingerprints: + - "58:42:73:90:cc:68:f7:34:7e:37:37:fa:b3:26:1f:a5" + - run: + name: Update results to Github + command: export GIT_TERMINAL_PROMPT=0 && git push origin $CIRCLE_SHA1:refs/heads/master workflows: version: 2 - doxygen: + build_all: jobs: + - sanity_check + - build_linux: + requires: + - sanity_check + - build_android: + requires: + - sanity_check + - build_sailfish: + requires: + - sanity_check + - build_win32: + requires: + - sanity_check + - build_wince: + requires: + - sanity_check + - build_tomtom_minimal: + requires: + - sanity_check + - build_tomtom_plugin: + requires: + - sanity_check - run_doxygen: + requires: + - build_linux + - build_android + - build_win32 + - build_wince + - build_tomtom_minimal + - build_tomtom_plugin + filters: + branches: + only: /^trunk$/ + - merge_trunk_in_master: + requires: + - build_linux + - build_android + - build_win32 + - build_wince + - build_tomtom_minimal + - build_tomtom_plugin filters: branches: only: /^trunk$/ - build_all: - jobs: - - build_linux - - build_android_arm - - build_android_x86 - - build_win32 - - build_tomtom_minimal - - build_tomtom_plugin |