# Auto generated by ./tcwg/generate-yamlfiles.sh from tcwg-dev-build.yaml.in and tcwg-dev-build/tcwg-gnu-build.def. Do not edit.
#BEGIN: tcwg/default.yaml.inc
# -*- mode: Yaml -*-

- property:
    name: default-properties
    properties:
      - authorization:
          anonymous:
            - job-read
            - job-extended-read
          everyone-flat:
            - job-build
            - job-cancel
      - build-discarder:
          days-to-keep: 20

- scm:
    name: jenkins-scripts
    scm:
      - git:
          url: https://gitlab.com/LinaroLtd/tcwg/jenkins-scripts.git
          refspec: +refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*
          branches:
            - $scripts_branch
          basedir: jenkins-scripts
          skip-tag: true
          reference-repo: /home/tcwg-buildslave/snapshots-ref/jenkins-scripts.git
          wipe-workspace: false
          clean:
            before: true
          prune: true

#END:   tcwg/default.yaml.inc

- job:
    name: tcwg-gnu-build
    project-type: freestyle
    defaults: global
    properties:
      - default-properties
    parameters:
        - string:
            name: release_name
            default: default
            description: 'Name of release series; default is "date +%Y%m%d-%H_%M_%S"'
        - string:
            name: buildnumber
            default: 0
            description: 'Build number in release series'
        - choice:
            name: target
            choices:
              - aarch64-linux-gnu
              - aarch64-elf
              - aarch64-linux-gnu_ilp32
              - aarch64_be-elf
              - aarch64_be-linux-gnu
              - arm-eabi
              - arm-linux-gnueabi
              - arm-linux-gnueabihf
              - armeb-eabi
              - armeb-linux-gnueabi
              - armeb-linux-gnueabihf
              - armv8l-linux-gnueabihf
              - native
            description: 'Target'
        - choice:
            name: version
            choices:
              - default
              - latest-rel
              - master
              - gcc8
              - gcc7
              - gcc6
              - gcc5
              - gcc4_9
            description: 'Toolchain version; should match a supported ABE config'
        - choice:
            name: distro
            choices:
              - lts_1
              - lts
            description: 'Ubuntu distro to use for build environment'
        - label:
            name: builder
            default: tcwg-x86_64-build
            description: 'Jenkins label to build on; determines host of the toolchain'
        - file:
            name: manifest.txt
            description: 'Use provided manifest file (which may override above settings)'
        - bool:
            name: verbose
            default: false
            description: 'Whether to be verbose'
        - string:
            name: scripts_branch
            default: master
            description: 'Scripts revision to use'
        - text:
            name: extra_options
            default:
            description: 'Extra options to pass to docker-run'
    disabled: false
    concurrent: true
    display-name: 'TCWG AAA gnu linux Build'
    scm:
      - jenkins-scripts
    wrappers:
        - timeout:
            timeout: 300
        - timestamps
        - ssh-agent-credentials:
            # tcwg-buildslave user id
            users:
                - 'e0958a95-204f-4c14-a66c-5e2be6c5d50a'
        - build-name:
            name: '#$BUILD_NUMBER-$version-$release_name-$buildnumber/$builder-$target'
        - workspace-cleanup
    builders:
        - shell: |
            #!/bin/bash
            set -ex
            abe_branch=tested
            eval $extra_options
            ./jenkins-scripts/docker-run.sh --distro "$distro" \
            -- \
            ./jenkins-scripts/tcwg-dev-build.sh \
            --abe_branch "$abe_branch" \
            --release_name "$release_name" \
            --buildnumber "$buildnumber" \
            --target "$target" \
            --version "$version" \
            --manifest "$(pwd)/manifest.txt" \
            --verbose "$verbose"
    publishers:
        - archive:
            artifacts: 'artifacts/**'
            latest-only: false
# checksum: 4f3a43b826ae651284f11d54870d8628
