pipeline{
  agent { node{ label'workstation' }}
  options {
    // Limit build history with buildDiscarder option:
    // daysToKeepStr: history is only kept up to this many days.
    // numToKeepStr: only this many build logs are kept.
    // artifactDaysToKeepStr: artifacts are only kept up to this many days.
    // artifactNumToKeepStr: only this many builds have their artifacts kept.
    buildDiscarder(logRotator(numToKeepStr: "1"))
    // Enable timestamps in build log console
    timestamps()
    // Maximum time to run the whole pipeline before canceling it
    timeout(time: 1, unit: 'HOURS')
    // Use Jenkins ANSI Color Plugin for log console
    ansiColor('xterm')
    // Limit build concurrency to 1 per branch
    disableConcurrentBuilds()
  }
  stages
  {
    stage('Build all') {
      steps {
        copyArtifacts(projectName: 'gitea-sync/antos-appimage/master', target: 'antos-release');
        sh'''#! /bin/bash
        set -e
        cd $WORKSPACE
        tree antos-release
        # docker run --rm --privileged docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64
        for dir in antos-release/build/* ; do
          tag=$(basename $dir)
          echo  "BUILD TAG $tag"
          docker buildx build \
            --push \
            --build-arg tag=$tag \
            --platform linux/arm/v7,linux/arm64/v8,linux/amd64 \
            --tag xsangle/antosaio:$tag .
        done
        '''
      }
    }
  }
}
