From 3bf001ca1e51cfa4fcb2aa9d3be6ab3cb6bf5089 Mon Sep 17 00:00:00 2001 From: Inho Oh Date: Wed, 25 Mar 2020 11:29:18 +0900 Subject: [PATCH 1/3] add tizen deploy scripts Signed-off-by: Inho Oh --- .travis.yml | 40 ++++++++++++++++++++++++++++++++ README.md | 3 +-- check.sh | 52 +++++++++++++++++++++++++++++++++++++++++ tizen.sh | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 160 insertions(+), 2 deletions(-) create mode 100644 .travis.yml create mode 100755 check.sh create mode 100755 tizen.sh diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..150c85a4c4 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,40 @@ +language: shell +dist: xenial +services: +- docker +env: + global: + - UPLOAD=0 + - REPO=nugu-linux + - REPOSLUG=nugu-developers/nugu-linux + matrix: + - TARGET=emulator + - TARGET=device +addons: + apt: + packages: + - jq + +script: | + export CURL_AUTH="Authorization: token ${GITHUB_TOKEN}" + export SHA=$(curl -s -H "$CURL_AUTH" -X GET https://api.github.com/repos/${REPOSLUG}/commits/master | jq '.sha' -r) + export SHORTSHA=$(echo ${SHA} | cut -c -7) + export TRAVIS_TAG=${SHORTSHA} + ./check.sh /tmp/check + echo "Script result = $?" + if [ -f /tmp/check ]; then + UPLOAD=1 + ./tizen.sh + fi + echo "Upload flag = $UPLOAD" +deploy: + provider: releases + api_key: + secure: n+T33vCZNGTLlISJw/olUQHWXmAL4WvSyeiSKR6iamVb49axHcsBdHtMHnagTWCcwDRhJrKokmgn8pzjXnChANaTwp9ySxCmWhxYt1sOKQwHV3exl+5ilY3EqbEJxNRauckuT5w3kLTa6206Dh+ah+sLm8e42mAWuZJiAUQUKFOuOA7kdsWqCo9vNScd+7gFs/7EnMapsvWD43Jzo568VnyNXZK04GTmaUwoei2YV/aB4fe/stW+adCK7SmWCzeeY5a1fq7bgzJzKR8EpAJMOyoU5GaNdY1bxUsAguYEyS8l9I9t+RaP3OExXKYbxAxeh26cvpGSM1m9bYXK9Tt+AdDU1OmsGNULqzieLixH0BCByMqV7v+gGGqOQISGSWbWDQPoFZRY4YLODkVgL6wt4vMCLhvOevX790mWF8oDCE+aZwqvBOGfmUnZKoX0omTUwLHqLf+p+FZKsh4gzkbtY9QzDhrqyjTVFt5h83sZRe9qR/llxKfsP3k4b4ukAzVrRkqO2mtTjwMd9zmosOFxQH5XZqqqwiTtRf7aGcS92TaZvqHkhcXDpZTjp8/Uk/VfompKHzYkcyfO+WeYI37mLhye4HdMvWvl09D2Fp7do3ZjzYp352hnG4PG+yhiW/NAk2jNh9vYIpzniMVBcNRk0dYDGuY9OOgrJQ6QN4eO2e0= + file_glob: true + file: /tmp/result/* + on: + repo: nugulinux/sdk-unstable + condition: $UPLOAD = 1 + all_branches: true + overwrite: true diff --git a/README.md b/README.md index 50e00438e2..b41a6412d6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1 @@ -# sdk-unstable -SDK Unstable release +# Tizen diff --git a/check.sh b/check.sh new file mode 100755 index 0000000000..68728b3bb2 --- /dev/null +++ b/check.sh @@ -0,0 +1,52 @@ +#!/bin/bash +set -e + +if [ $# != 1 ]; then + echo "Usage: $0 {flag-file-name}" + exit 1 +fi + +echo "> output flag file: $1" + +echo "> TARGET = tizen" +echo "> SHA = ${SHA}" +echo "> SHORTSHA = ${SHORTSHA}" +echo "> TRAVIS_REPO_SLUG = ${TRAVIS_REPO_SLUG}" +echo "> CURL_AUTH = ${CURL_AUTH}" + +# Check for releases +ID=$(curl -s -H "$CURL_AUTH" -X GET https://api.github.com/repos/${TRAVIS_REPO_SLUG}/releases/tags/${SHORTSHA} | jq '.id' -r) +echo "> Release ID = ${ID}" +if [[ ${ID} == "null" ]]; then + echo "Release ${ID} not exist." + exit +fi + +# Check for duplicated files +COUNT=0 +MATCH_COUNT=2 +RESULT=$(curl -s -H "$CURL_AUTH" -X GET https://api.github.com/repos/${TRAVIS_REPO_SLUG}/releases/${ID}/assets?per_page=50) +FILES=$(echo $RESULT | jq '.[].name' -r) + +for item in $FILES +do + # Check ARCH or ARCH2 + if [[ $item == *"tizen"* ]]; then + : + else + continue; + fi + + declare -i COUNT; COUNT+=1 + echo "> Found build artifacts: [${COUNT}/${MATCH_COUNT}] ${item}" +done + +# Mark to flag file to trigger the build +if [[ $COUNT == $MATCH_COUNT ]]; then + echo "> There is no need to rebuild." +else + echo "> Rebuild required" + echo 1 > $1 +fi + +echo "> Check completed" diff --git a/tizen.sh b/tizen.sh new file mode 100755 index 0000000000..947a2a545f --- /dev/null +++ b/tizen.sh @@ -0,0 +1,67 @@ +#!/bin/bash +set -e + +echo "> Repository slug = ${REPOSLUG}" +echo "> SHA = ${SHA}" +echo "> Short SHA = ${SHORTSHA}" + +echo "> Clone the repository" +git clone https://github.com/${REPOSLUG} --recursive +cd ${REPO} +git checkout ${SHA} +git reset --hard +rm -rf .git + +# Fix permissions for docker +chmod 777 $PWD -R + +SDKPATH=$PWD/SDK +echo "> SDK Install PATH=$SDKPATH" + +cat < sdkbuild.sh +#!/bin/bash +set -e +set -x + +source ~/${TARGET}.env + +echo $PWD + +rm -rf SDK +mkdir SDK + +rm -rf build +mkdir build + +cd build +cmake .. \ + -DCMAKE_INSTALL_PREFIX=/ \ + -DCMAKE_TOOLCHAIN_FILE=~/Toolchain.cmake \ + -DENABLE_LOG_ANSICOLOR=OFF \ + -DENABLE_OPUS_PLUGIN=ON \ + -DENABLE_GSTREAMER_PLUGIN=OFF \ + -DENABLE_PORTAUDIO_PLUGIN=OFF \ + -DENABLE_VENDOR_LIBRARY=ON \ + -DENABLE_OPUS_LIBRARY=ON + +make -j6 + +DESTDIR=$SDKPATH make install + +cd .. +tar cvfz files_tizen_${TARGET}_${SHORTSHA}.tgz SDK +EOF + +chmod 755 sdkbuild.sh + +echo "> Build ${TARGET}" +docker run -t --rm -v $PWD:$PWD -w $PWD \ + nugulinux/devenv:tizen ./sdkbuild.sh + +mkdir /tmp/result +cp files_*.tgz /tmp/result/ + +cd .. +rm -rf ${REPO} + +echo "> Completed" From 9b880f60855327f92ea81918b006221f190e55bf Mon Sep 17 00:00:00 2001 From: Inho Oh Date: Thu, 2 Apr 2020 14:38:55 +0900 Subject: [PATCH 2/3] add build result check Signed-off-by: Inho Oh --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 150c85a4c4..8c8b1e6870 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,8 +23,8 @@ script: | ./check.sh /tmp/check echo "Script result = $?" if [ -f /tmp/check ]; then + ./tizen.sh || exit 1 UPLOAD=1 - ./tizen.sh fi echo "Upload flag = $UPLOAD" deploy: From b410dcbb42586a20ac9396e602d6d143c466797c Mon Sep 17 00:00:00 2001 From: Inho Oh Date: Thu, 2 Apr 2020 17:34:41 +0900 Subject: [PATCH 3/3] fix permission issue Signed-off-by: Inho Oh --- .travis.yml | 1 + tizen.sh | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8c8b1e6870..4b86effacf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,7 @@ addons: apt: packages: - jq +sudo: required script: | export CURL_AUTH="Authorization: token ${GITHUB_TOKEN}" diff --git a/tizen.sh b/tizen.sh index 947a2a545f..1e9b8aeb1d 100755 --- a/tizen.sh +++ b/tizen.sh @@ -62,6 +62,9 @@ mkdir /tmp/result cp files_*.tgz /tmp/result/ cd .. -rm -rf ${REPO} +whoami +ls -l + +sudo rm -rf ${REPO} echo "> Completed"