#include tcwg/default.yaml.inc

- job:
    name: tcwg-cleanup-stale-results
    project-type: freestyle
    defaults: global
    properties:
        - default-properties
    parameters:
        - choice:
            name: cleanup_gc
            choices:
              - 'true'
              - 'dryrun'
              - 'false'
            description: 'Cleanup the git repositories'
        - choice:
            name: cleanup_annex
            choices:
              - 'dryrun'
              - 'true'
              - 'false'
            description: 'Cleanup the annex results files'
        - bool:
            name: verbose
            default: 'false'
            description: 'Whether to be verbose'
    disabled: false
    node: tcwg-bkp-01
    concurrent: false
    display-name: 'TCWG CCC Cleanup stale results'
    workspace: workspace/tcwg-cleanup-stale-results
    triggers:
        - timed: '@daily'
    scm:
        - jenkins-scripts-master
    wrappers:
        - timeout:
            timeout: 600
        - timestamps
        - build-name:
            name: '#${BUILD_NUMBER}'
    builders:
        - shell: |
            #!/bin/bash
            set -ex

            rm -rf artifacts
            mkdir artifacts

            ./jenkins-scripts/tcwg-cleanup-stale-results.sh \
            --cleanup_gc $cleanup_gc \
            --cleanup_annex $cleanup_annex \
            --verbose $verbose

            if [ x"$(cat list_annex.exist_but_not_referenced.txt | wc -l)" != x"0" ]; then
              (
                if [ "$cleanup_annex" = "dryrun" ]; then
                  echo "# Cleanup-stale-results was run in DRYRUN mode."
                  echo "# Please double check and run this script manually."
                else
                  echo "# Cleanup-stale-results executed the following"
                fi
                echo "#"
                echo "# List of missing results :"
                sed -e 's|^|#     |' list_annex.referenced_but_not_exist.txt
                echo "#"
                echo "# List of useless results :"
                sed -e 's|^|rm -f |' list_annex.exist_but_not_referenced.txt
                echo ""
              )
              exit 1
            fi > artifacts/email-body.txt

    publishers:
        - archive:
            artifacts: 'artifacts/**'
            latest-only: false
        - email-ext:
            recipients: 'maxim.kuvyrkov@linaro.org, laurent.alfonsi@linaro.org'
            content-type: text
            body: |
              ${FILE,path="artifacts/email-body.txt"}
            failure: true
            aborted: true
