Skip to content

Commit

Permalink
Minor CI fixes (#1488)
Browse files Browse the repository at this point in the history
Fix minor CI jobs

switch to latest Ubuntu and macOS in FV jobs
remove hardcoded git plugin version.
update minor npm tool version:  `follow-redirects`
run FV only on master.
Resolves: MINOR-CI-FIXES

Signed-off-by: Yaroslav Stefinko <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • Loading branch information
ystefinko and dependabot[bot] committed Mar 22, 2024
1 parent 55b7000 commit 80f5dcc
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 44 deletions.
33 changes: 16 additions & 17 deletions .github/workflows/fv_pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,40 @@
name: FV_Pipelines

on:
schedule:
# temporary run job only once a month.
push:
branches:
- master
schedule:
# FV Android and iOS only once a month besides the master merges runs
- cron: '* 5 1 * *'

env:
LD_PRELOAD: /lib/x86_64-linux-gnu/libSegFault.so
SEGFAULT_SIGNALS: all

jobs:
fv-build-ios-network-test:
name: FV / iOS clang / Network tests
runs-on: macos-10.15
runs-on: macos-latest
env:
BUILD_TYPE: RelWithDebInfo
steps:
- name: Check out repository
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Build with tests
run: ./scripts/ios/fv/gh-actions-build-with-tests-fv.sh
shell: bash
- name: Test FV Network
- name: Test iOS FV Network
run: ./scripts/ios/fv/gh-actions-functional-network-test.sh
shell: bash

fv-android-amulator-build-test:
name: MV.Android.Emulator.Build.Test.API21.ABIx86_64.NDK-Latest.
runs-on: ubuntu-20.04
fv-android-emulator-build-test:
name: FV.Android.Emulator.Build.Test.API21.ABIx86_64.NDK-22.
runs-on: ubuntu-latest
env:
ANDROID_NDK_HOME: $(ANDROID_HOME)/ndk-bundle
SEGFAULT_SIGNALS: all
BUILD_TYPE: RelWithDebInfo
steps:
- name: Check out repository
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Verification of cmake script
run: ls -la $(ANDROID_NDK_HOME)/build/cmake/android.toolchain.cmake
shell: bash
run: ls -la ${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake && ls -la ${ANDROID_NDK_HOME}/prebuilt && ls -la ${ANDROID_NDK_HOME}/ndk-build
- name: Android Emulator Test
run: ANDROID_NDK_HOME=$(ANDROID_NDK_HOME) && scripts/android/build-test-emulator.sh
run: scripts/android/build-test-emulator.sh
shell: bash
35 changes: 24 additions & 11 deletions scripts/android/build-test-emulator.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash -ex
#
# Copyright (C) 2020-2021 HERE Europe B.V.
# Copyright (C) 2020-2024 HERE Europe B.V.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -17,24 +17,37 @@
# SPDX-License-Identifier: Apache-2.0
# License-Filename: LICENSE

${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --list
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "ndk;22.1.7171670" --sdk_root=${ANDROID_HOME} >/dev/null
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "platforms;android-21"
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "platform-tools"
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "ndk-bundle"
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --list

#
# API and ABI are hardcoded there
# API / ABI / NDK are hardcoded below
#
# Android Only Variables
# Variables
export ANDROID_ABI="x86_64"
export ANDROID_API=21

export NDK_ROOT=$ANDROID_HOME/ndk-bundle # This var is not exist on Azure MacOS image, step can be skipped on GitLab
export ANDROID_NDK_ROOT="/usr/local/lib/android/sdk/ndk/22.1.7171670"
export ANDROID_NDK="/usr/local/lib/android/sdk/ndk/22.1.7171670"
export ANDROID_NDK_HOME="/usr/local/lib/android/sdk/ndk/22.1.7171670"
ls -la android-ndk-r22b-linux || true
ls -la /usr/local/lib/android/sdk/ndk/22.1.7171670 || true
ls -la /usr/local/lib/android/sdk/ndk/22.1.7171670/android-ndk-r22b-linux || true
export NDK_ROOT=$ANDROID_NDK_ROOT/ndk-bundle # This var is not exist on Azure MacOS image, step can be skipped on other CI
echo "NDK_ROOT is ${NDK_ROOT} , ANDROID_HOME is ${ANDROID_HOME} " # as we already set this var inside docker image.
ls -la $ANDROID_HOME
export PATH=$PATH:$ANDROID_HOME/tools/bin/:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/tools/bin/:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin/

# Start compilation
mkdir -p build && cd build

echo ""
echo ""
echo "*************** $VARIANT Build SDK for C++ ********** Start ***************"
CMAKE_COMMAND="cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=$NDK_ROOT/build/cmake/android.toolchain.cmake \
CMAKE_COMMAND="cmake .. -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_TYPE=${BUILD_TYPE} -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_ROOT/build/cmake/android.toolchain.cmake \
-DANDROID_PLATFORM=android-$ANDROID_API -DANDROID_STL=c++_static -DANDROID_ABI=$ANDROID_ABI"
BUILD_COMMAND="cmake --build . -- -j4"

Expand All @@ -51,16 +64,16 @@ echo " ---- Calling ${BUILD_COMMAND}"
${BUILD_COMMAND}
cd -

sdkmanager --list
${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --list

# Add emulator if not already added. Needed for docker.
echo "y" | sdkmanager "emulator" "platforms;android-$ANDROID_API"
echo "y" | ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager "emulator" "platforms;android-$ANDROID_API"

# Install AVD files
echo "y" | sdkmanager --install "system-images;android-$ANDROID_API;google_apis;$ANDROID_ABI"
echo "y" | ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager --install "system-images;android-$ANDROID_API;google_apis;$ANDROID_ABI"

# Create emulator
echo "no" | avdmanager create avd -n android_emulator -k "system-images;android-$ANDROID_API;google_apis;$ANDROID_ABI" --force
echo "no" | ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/avdmanager create avd -n android_emulator -k "system-images;android-$ANDROID_API;google_apis;$ANDROID_ABI" --force
echo "AVD created"
emulator -list-avds

Expand Down
16 changes: 7 additions & 9 deletions scripts/ios/fv/gh-actions-build-with-tests-fv.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash -e
#
# Copyright (C) 2021 HERE Europe B.V.
# Copyright (C) 2021-2024 HERE Europe B.V.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -17,19 +17,17 @@
# SPDX-License-Identifier: Apache-2.0
# License-Filename: LICENSE

mkdir -p build && cd build
# Getting rid of boost installed to the CI image (not clear when it appeared)
# asciidoc and source-highlight are using it so dependencies are ignored.
# Sometimes there is no boost and there is no need to fail in this case.
brew uninstall --ignore-dependencies boost || true

xcode-select -p
if [[ ${GITHUB_RUN_ID} != "" ]]; then
# Run on GH Actions CI
# Using Xcode_11 pre-installed on node. Otherwise, compilation may fail.
sudo xcode-select -s /Applications/Xcode_11.2.1.app
fi
xcode-select -p
mkdir -p build && cd build

cmake ../ -GXcode \
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/iOS.cmake \
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DBUILD_TYPE=${BUILD_TYPE} \
-DPLATFORM=iphoneos \
-DOLP_SDK_ENABLE_TESTING=ON \
-DSIMULATOR=YES \
Expand Down
2 changes: 1 addition & 1 deletion scripts/ios/fv/gh-actions-functional-network-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ else
echo ">>> Installing mock server SSL certificate into OS... >>>"
# Import and Make trusted
sudo security import mock-server-cert.pem
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain mock-server-cert.pem
sudo security authorizationdb write com.apple.trust-settings.admin allow; sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain mock-server-cert.pem ; sudo security authorizationdb remove com.apple.trust-settings.admin || true
# Validate cert: if trusted - succeeded , if not trusted - fails
sudo security verify-cert -c mock-server-cert.pem
echo ">>> Starting Mock Server... >>>"
Expand Down
12 changes: 6 additions & 6 deletions tests/utils/mock-server/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 80f5dcc

Please sign in to comment.