#!/usr/bin/env groovy /* * Copyright (C) 2019 - present Instructure, Inc. * * This file is part of Canvas. * * Canvas is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, version 3 of the License. * * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License along * with this program. If not, see . */ library "canvas-builds-library@${env.CANVAS_BUILDS_REFSPEC}" loadLocalLibrary('local-lib', 'build/new-jenkins/library') pipeline { agent none options { ansiColor('xterm') timeout(time: 15) timestamps() } environment { BUILD_REGISTRY_FQDN = configuration.buildRegistryFQDN() DISABLE_SPRING = 'true' COMPOSE_FILE = 'docker-compose.new-jenkins.yml:docker-compose.new-jenkins.vendored-gems.yml' POSTGRES_PASSWORD = 'sekret' } stages { stage('Environment') { steps { script { def stageHooks = [ onNodeAcquired: vendoredGemsStage.setupNode(), ] extendedStage('Runner').hooks(stageHooks).nodeRequirements(label: 'canvas-docker').obeysAllowStages(false).execute { extendedStage('Vendored Gems').obeysAllowStages(false).timeout(10).execute { sh 'build/new-jenkins/test-gems.sh' } extendedStage('Engines').obeysAllowStages(false).timeout(10).execute { sh 'build/new-jenkins/test-engines.sh' } } } } } } }