Skip to content

Commit

Permalink
Add hbbtv test vectors gh action
Browse files Browse the repository at this point in the history
  • Loading branch information
aldafu committed Aug 29, 2022
1 parent 99096f9 commit 1119a5a
Showing 1 changed file with 126 additions and 0 deletions.
126 changes: 126 additions & 0 deletions .github/workflows/run-hbbtv-test-vectors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
name: run-hbbtv-test-vectors

on:
push:
branches:
- 'development'
- 'parallelize'

env:
TESTS_URL: https://conformance.dashif.org/static/hbbtv-test-suite-mpds-for-motionspell.zip.gpg
TESTS_FILENAME_GPG: hbbtv-test-suite-mpds-for-motionspell.zip.gpg
TESTS_FILENAME: hbbtv-test-suite-mpds-for-motionspell.zip
RESULT_DIR: /var/www/html/jccp-dashboard/production-data/hbbtv/

jobs:
go-get-matrix:
runs-on: ubuntu-latest
steps:
- name: Generate matrix
id: set-matrix
run: |
curl -v -sko ${{ env.TESTS_FILENAME_GPG }} ${{ env.TESTS_URL }}
echo ${{ secrets.GPG_KEY }} > secret
gpg --batch --passphrase-file secret --decrypt ${{ env.TESTS_FILENAME_GPG }} > ${{env.TESTS_FILENAME }}
mkdir hbbtv
unzip ${{env.TESTS_FILENAME }} -d hbbtv
cd hbbtv
echo "::set-output name=matrix::$(ls -1d * | sed "s/\([^_]*_..\).*/\1/" | uniq | jq -R -n -c '[inputs]')"
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
run-test-vectors:
runs-on: ubuntu-latest
needs: go-get-matrix
continue-on-error: true
strategy:
fail-fast: false
matrix:
submenu: ${{ fromJson(needs.go-get-matrix.outputs.matrix) }}
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: curl, xdebug, xml
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '8'
- name: Checkout out repository
uses: actions/checkout@v3
- name: Run CLI
run: |
mkdir Conformance-Frontend/temp
cd Utils
mkdir results
curl -v -sko ${{ env.TESTS_FILENAME_GPG }} ${{ env.TESTS_URL }}
echo ${{ secrets.GPG_KEY }} > secret
gpg --batch --passphrase-file secret --decrypt ${{ env.TESTS_FILENAME_GPG }} > ${{env.TESTS_FILENAME }}
mkdir hbbtv
unzip ${{env.TESTS_FILENAME }} -d hbbtv
python3 -m http.server --bind 127.0.0.1 8080 --directory hbbtv &
cd hbbtv
export vectors=$(ls -d1 ${{ matrix.submenu }}*/* | sed "s/\(.*\)/http:\/\/localhost:8080\/\1/")
cd ..
for url in $(echo $vectors)
do
outfile=results/${url//[\/:]/_}
php Process_cli.php -H -i $url > $outfile
if [ $(stat --format %s $outfile) -eq 31 ]
then
rm $outfile
fi
done
id: run_cli
- uses: actions/upload-artifact@v3
with:
name: cli-results
path: Utils/results/
get-result:
runs-on: ubuntu-latest
needs: run-test-vectors
steps:
- uses: actions/download-artifact@v3
with:
name: cli-results
- name: create joined result
id: mangle
run: |
export JCCP_RUN_ID=$(uuidgen)
export JCCP_RUN_TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
export JCCP_RUN_FILENAME=$(date +"%Y%m%d%H%M%S%3N").json
cat > "$JCCP_RUN_FILENAME" << EOF
{
"id": "$JCCP_RUN_ID",
"timestamp": "$JCCP_RUN_TIMESTAMP",
"source": "HBBTV",
"type": "hbbtv",
"results": [
EOF
ls -1 http*|head -n1|xargs cat >> "$JCCP_RUN_FILENAME"
for i in $(ls -1 http*|tail -n+2)
do
echo , >> "$JCCP_RUN_FILENAME"
cat $i >> "$JCCP_RUN_FILENAME"
done
echo "]}" >> "$JCCP_RUN_FILENAME"
cat "$JCCP_RUN_FILENAME"
echo "::set-output name=result-file::$JCCP_RUN_FILENAME"
- name: scp results to dashboard
uses: appleboy/scp-action@v0.1.3
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USER }}
key: ${{ secrets.PRIVATE_KEY }}
source: ${{ steps.mangle.outputs.result-file }}
target: ${{ env.RESULT_DIR }}
- name: add results to index
uses: fifsky/ssh-action@v0.0.6
with:
host: ${{ secrets.HOST }}
user: ${{ secrets.USER }}
key: ${{ secrets.PRIVATE_KEY }}
command: |
cd ${{ env.RESULT_DIR }}
echo ${{ steps.mangle.outputs.result-file }} >> index

0 comments on commit 1119a5a

Please sign in to comment.