Commit 59e657a8 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'use_script_for_pages_job' into 'main'

CI maintenance - use python script for gitlab pages setup

See merge request !348
parents 7fc164af 3ed5ad0d
Loading
Loading
Loading
Loading
Loading
+1 −68
Original line number Diff line number Diff line
@@ -1080,82 +1080,15 @@ complexity-StereoDmxEVS-stereo-in-mono-out:
# Other jobs
# ---------------------------------------------------------------


# helper for pages job
.unzip-or-cat: &unzip-or-cat
  - unzip -t $ARTIFACTS >> /dev/null
  - if [ $? -eq 0 ]; then unzip -o $ARTIFACTS; rm $ARTIFACTS; else cat $ARTIFACTS; rm $ARTIFACTS; fi

# job that sets up gitlab pages website
# is run on a separate schedule and collects artifacts from other jobs (currently
# only the complexity measurements) multiple times a day
pages:
  stage: deploy
  tags:
    - ivas-linux
  rules:
    - if: $UPDATE_PAGES
    # TODO: add coverage job
  script:

    - API_URL_BASE=https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs
    - branch=$CI_COMMIT_REF_NAME

    - mkdir public
    - ARTIFACTS=artifacts.zip

    ### fetch artifacts from latest run of complexity jobs
    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-stereo-in-stereo-out)
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-stereo-in-stereo-out-public ./public/

    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-ism-in-binaural-out)
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-ism-in-binaural-out-public ./public/

    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-sba-hoa3-in-hoa3-out)
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-sba-hoa3-in-hoa3-out-public ./public/

    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-mc-in-7_1_4-out)
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-mc-in-7_1_4-out-public ./public/

    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-masa-in-7_1_4-out)
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-masa-in-7_1_4-out-public ./public/

    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-StereoDmxEVS-stereo-in-mono-out)
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv complexity-StereoDmxEVS-stereo-in-mono-out-public ./public/

    ### collect artifacts from coverage job
    - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch coverage-test-on-main-scheduled)
    - echo $job_id
    - echo "$API_URL_BASE/$job_id/artifacts"
    - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS
    - *unzip-or-cat
    - mv coverage ./public

    - cp ci/index-pages.html public/index.html
    - python3 ci/setup_pages.py
  artifacts:
    paths:
      - public

ci/setup_pages.py

100644 → 100755
+4 −0
Original line number Diff line number Diff line
#!/usr/bin/env python3
import os
import sys
import pathlib
@@ -36,6 +37,9 @@ def main():
    if failed_count == len(JOBS):
        sys.exit(1)

    pathlib.Path("ci/index-pages.html").rename(public_folder.joinpath("index.html"))
    sys.exit(0)


def curl_for_artifacts(job_id):
    cmd = [