#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.8.12'

pipeline {
  agent { label 'macos' }

  environment {
    LANG     = 'en_US.UTF-8'
    LANGUAGE = 'en_US.UTF-8'
    LC_ALL   = 'en_US.UTF-8'
    PLATFORM = 'ios'
    FASTLANE_DISABLE_COLORS = 1
    /* avoid writing to r/o /nix */
    GEM_HOME  = '~/.rubygems'
  }

  options {
    timestamps()
    /* Disable concurrent jobs */
    disableConcurrentBuilds()
    /* Prevent Jenkins jobs from running forever */
    timeout(time: 45, unit: 'MINUTES')
    /* Don't keep more than 50 builds */
    buildDiscarder(logRotator(numToKeepStr: '50'))
  }

  stages {
    stage('Prep') {
      steps { script {
        nix.shell(
          'bundle install --gemfile=fastlane/Gemfile',
          attr: 'shells.fastlane',
        )
      } }
    }
    stage('Clean Users'){
      steps { script {
        withCredentials([
          usernamePassword(
            credentialsId:  'fastlane-match-apple-id',
            usernameVariable: 'FASTLANE_APPLE_ID',
            passwordVariable: 'FASTLANE_PASSWORD'
          ),
        ]) {
          nix.shell(
            'bundle exec --gemfile=fastlane/Gemfile fastlane ios clean',
            keepEnv: ['FASTLANE_APPLE_ID', 'FASTLANE_PASSWORD'],
            attr: 'shells.fastlane',
          )
        }
      } }
    }
  }
}