diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000000..157dbd60a9 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: Apache-2.0 +// +// Copyright (c) 2021 The Linux Foundation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +loadGlobalLibrary() + +pipeline { + agent { + node { + // This label should match an agent available on the target system + label "centos7-docker-4c-2g" + } + } + + options { + timestamps() + timeout(360) + } + + stages { + stage("NodeJS Verify") { + steps { + lfNode() + } + } + } + + post { + always { + // The default logSettingsFile is "jenkins-log-archives-settings". + // If this file isn't present, a different value for logSettingsFile + // will need to be passed to lfInfraShipLogs. + lfInfraShipLogs() + } + } +} + +// This loadGlobalLibrary call is only required if the library is not defined +// in the Jenkins global or job settings. Otherwise, a simple "@Library" call +// will suffice. +def loadGlobalLibrary(branch = "*/node-workflow") { + library(identifier: "pipelines@master", + retriever: legacySCM([ + $class: "GitSCM", + userRemoteConfigs: [[url: "https://github.com/MightyNerdEric/releng-pipelines"]], + branches: [[name: branch]], + doGenerateSubmoduleConfigurations: false, + extensions: [[ + $class: "SubmoduleOption", + recursiveSubmodules: true, + ]]] + ) + ) _ +}