another round of stability / memory fixes #2400
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Navit Binaries | |
| on: [push, pull_request] | |
| jobs: | |
| sanity_check: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/navit-gps/sanity_check:master | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - name: run sanity check script | |
| run: bash scripts/ci_sanity_checks.sh ci_sanity_checks.diff | |
| - uses: actions/upload-artifact@v7 | |
| if: failure() | |
| with: | |
| name: Upload Patchset | |
| path: ci_sanity_checks.diff | |
| ##- uses: reviewdog/action-suggester@v1 | |
| ## with: | |
| ## github_token: ${{ secrets.github_token }} | |
| ## tool_name: Navit sanity Check | |
| ## level: error | |
| ## fail_on_error: false | |
| # FIXME: deactivated as somethings broken with it | |
| #- name: Run CheckStyle Test | |
| # run: ./gradlew checkstyleMain | |
| #- uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: Store checkstyle report | |
| # path: navit/android/checkstyle | |
| build_linux: | |
| runs-on: ubuntu-latest | |
| needs: sanity_check | |
| container: | |
| image: debian:latest | |
| steps: | |
| - run: | | |
| apt-get update && apt-get install -y git | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - run: git config --global --add safe.directory $GITHUB_WORKSPACE | |
| - name: Setup requirements | |
| run: | | |
| bash scripts/setup_common_requirements.sh | |
| apt-get install -y libpng-dev libfreetype6-dev libdbus-glib-1-dev libgtk2.0-dev curl | |
| - name: Build for Linux | |
| run: bash scripts/build_linux.sh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: Linux Artifacts | |
| path: linux/_CPack_Packages | |
| - name: Update Navit-Download-Center | |
| run: | | |
| bash scripts/update_download_center.sh | |
| build_fdroid: | |
| runs-on: ubuntu-latest | |
| needs: sanity_check | |
| container: | |
| image: registry.gitlab.com/fdroid/fdroidserver:buildserver-bookworm | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - run: git config --global --add safe.directory $GITHUB_WORKSPACE | |
| - run: bash -c 'if [ "X$UID" == X0 ]; then apt update && apt dist-upgrade && apt install -y sudo nodejs; fi' | |
| - name: Install requirements | |
| run: sudo bash scripts/setup_common_requirements.sh && bash scripts/setup_android.sh | |
| - name: sdkmanager installed | |
| run: | | |
| apt-get install sdkmanager | |
| rm -rf "$ANDROID_HOME/tools" | |
| - name: sdkmanager usage | |
| run: sdkmanager "tools" "platform-tools" "build-tools;31.0.0" | |
| - name: build | |
| run: scripts/build_fdroid.sh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: F-Droid APK | |
| path: unsigned | |
| #run_doxygen: | |
| # TODO: replace with pages Upload instead of gh-pages branch | |
| # runs-on: ubuntu-latest | |
| # needs: [build_android, build_wince, build_tomtom_minimal, build_linux, build_tomtom_plugin, build_win32] | |
| # container: | |
| # image: debian:latest | |
| # steps: | |
| # - uses: actions/checkout@v6 | |
| # - name: Install doxygen and other essentials | |
| # run: apt-get update && apt-get -y install doxygen ca-certificates git rsync | |
| # - name: Run doxygen | |
| # run: cd navit && doxygen | |
| # - name: Update results to Github | |
| # run: bash scripts/update_doxygen.sh | |
| # - uses: actions/upload-artifact@v4 | |
| # with: | |
| # path: /root/project/doc | |
| #build_sailfish: | |
| # runs-on: ubuntu-latest | |
| # needs: sanity_check | |
| # container: | |
| # image: coderus/sailfishos-platform-sdk:4.4.0.64 | |
| # steps: | |
| # - uses: actions/checkout@v6 | |
| # # TODO currently broken because of USER in Dockerimage and probably because of double containers as well | |
| # - name: run build | |
| # run: sudo -E bash contrib/sailfish/build_sailfish_ci.sh | |
| # env: | |
| # VERSION_ID: 4.4.0.64 | |
| # - uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: Store rpm | |
| # path: rpmbuild/RPMS/ | |
| build_android: | |
| runs-on: ubuntu-latest | |
| needs: sanity_check | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - run: git config --global --add safe.directory $GITHUB_WORKSPACE | |
| - run: if [ "X$UID" == X0 ]; then apt update && apt install -y sudo; fi | |
| - name: Install requirements | |
| run: sudo bash scripts/setup_common_requirements.sh && bash scripts/setup_android.sh | |
| - name: Setup Keystore and Playstore Keys | |
| run: scripts/setup_publish_keys.sh | |
| - name: Setup Android SDK | |
| uses: android-actions/setup-android@v4 | |
| - name: Build and upload Android | |
| run: fastlane github_actions | |
| #- name: Run Lint Test | |
| # run: | | |
| # ln -sf navit/navit.dtd navit.dtd | |
| # mkdir test-results | |
| # ./gradlew lint test | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: Store APK | |
| path: build/outputs/apk | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: Store logs | |
| path: build/outputs/logs | |
| #- uses: actions/upload-artifact@v4 | |
| # with: | |
| # name: Store Lint reports | |
| # path: build/reports | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: Android Test-results | |
| path: test-results | |
| - name: Update Navit-Download-Center | |
| run: | | |
| bash scripts/update_download_center.sh | |
| build_win32: | |
| runs-on: ubuntu-latest | |
| needs: sanity_check | |
| container: | |
| image: ubuntu:26.04 | |
| steps: | |
| - run: | | |
| apt-get update && apt-get install -y git | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - run: git config --global --add safe.directory $GITHUB_WORKSPACE | |
| - name: Prepare the Windows build environment | |
| run: bash scripts/setup_win32.sh | |
| - name: Build for Windows | |
| run: | | |
| bash scripts/build_win32.sh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: Win32 | |
| path: win32/navit.exe | |
| - name: Update Navit-Download-Center | |
| run: | | |
| bash scripts/update_download_center.sh | |
| build_wince: | |
| runs-on: ubuntu-latest | |
| needs: sanity_check | |
| container: | |
| image: ghcr.io/enlyze/windows-ce-build-environment-arm | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - run: git config --global --add safe.directory $GITHUB_WORKSPACE | |
| #- run: apt-get update && apt-get install -y git-core | |
| - name: Prepare the WinCE build environment | |
| run: bash scripts/setup_wince.sh | |
| - name: Build for Windows CE | |
| run: bash scripts/build_wince.sh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| path: wince/output/navit.cab | |
| name: WinCE CAB | |
| - run: | | |
| rm -rf wince/output/navit.cab | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| path: wince/output | |
| name: WinCE Archive | |
| - name: Update Navit-Download-Center | |
| run: bash scripts/update_download_center.sh | |
| build_tomtom_minimal: | |
| runs-on: ubuntu-latest | |
| needs: sanity_check | |
| container: | |
| image: ghcr.io/navit-gps/tomtom:master | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - run: git config --global --add safe.directory $GITHUB_WORKSPACE | |
| - name: Prepare the tomtom build environment | |
| run: | | |
| bash scripts/setup_common_requirements.sh | |
| apt-get install -y xsltproc | |
| - name: Build for Tomtom (minimal) | |
| run: bash scripts/build_tomtom_minimal.sh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: Tomtom Minimal | |
| path: /output | |
| - name: Update Navit-Download-Center | |
| run: | | |
| bash scripts/update_download_center.sh | |
| build_tomtom_plugin: | |
| runs-on: ubuntu-latest | |
| needs: sanity_check | |
| container: | |
| image: ghcr.io/navit-gps/tomtom:master | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - run: git config --global --add safe.directory $GITHUB_WORKSPACE | |
| - name: Prepare the tomtom build environment | |
| run: | | |
| bash scripts/setup_common_requirements.sh | |
| apt-get install -y xsltproc | |
| - name: Build for Tomtom (plugin) | |
| run: | | |
| bash scripts/build_tomtom_plugin.sh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: Tomtom Plugin | |
| path: /output | |
| - name: Update Navit-Download-Center | |
| run: | | |
| bash scripts/update_download_center.sh | |
| merge_trunk_in_master: | |
| runs-on: ubuntu-latest | |
| needs: [build_android, build_fdroid, build_wince, build_tomtom_minimal, build_linux, build_tomtom_plugin, build_win32] | |
| if: github.ref == 'refs/heads/trunk' | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Merge to master branch | |
| uses: devmasx/merge-branch@v1.4.0 | |
| with: | |
| type: now | |
| target_branch: 'master' | |
| github_token: ${{ github.token }} |