The beginning of public history
This commit is contained in:
		
							
								
								
									
										103
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,103 @@
 | 
			
		||||
pipeline {
 | 
			
		||||
  options { timestamps() }
 | 
			
		||||
  agent any
 | 
			
		||||
  environment {
 | 
			
		||||
    PROJECT = "GlitchInTheSystem"
 | 
			
		||||
    EXPORT = "export"
 | 
			
		||||
    BUCKET_NAME = "sumu-games-pkg-us-east-1"
 | 
			
		||||
    ITCH_ADDRESS = "joebmanley/glitchinthesystem"
 | 
			
		||||
  }
 | 
			
		||||
  stages {
 | 
			
		||||
    stage('Test')
 | 
			
		||||
    {
 | 
			
		||||
        when
 | 
			
		||||
        {
 | 
			
		||||
            expression
 | 
			
		||||
            {
 | 
			
		||||
                fileExists 'Scripts/testing.gd'
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        steps{
 | 
			
		||||
            sh("godot -s Scripts/testing.gd")
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    stage('Build') {
 | 
			
		||||
      steps {
 | 
			
		||||
          script
 | 
			
		||||
          {
 | 
			
		||||
              sh("mkdir Builds")
 | 
			
		||||
              if(env.BRANCH_NAME != "develop")
 | 
			
		||||
              {
 | 
			
		||||
                  env.EXPORT = "export_debug"
 | 
			
		||||
              }
 | 
			
		||||
            sh("""
 | 
			
		||||
            mkdir Builds/Linux
 | 
			
		||||
            mkdir Builds/Linux/${PROJECT}
 | 
			
		||||
            godot --${export} Linux/X11 Builds/Linux/${PROJECT}/${PROJECT}
 | 
			
		||||
            """)
 | 
			
		||||
            sh("""
 | 
			
		||||
            mkdir Builds/Windows
 | 
			
		||||
            mkdir Builds/Windows/${PROJECT}
 | 
			
		||||
            godot --${export} "Windows Desktop" Builds/Windows/${PROJECT}/${PROJECT}.exe
 | 
			
		||||
            """)
 | 
			
		||||
            sh("""
 | 
			
		||||
            mkdir Builds/Mac
 | 
			
		||||
            mkdir Builds/Mac/${PROJECT}
 | 
			
		||||
            godot --${export} "Mac OSX" Builds/Mac/${PROJECT}/${PROJECT}
 | 
			
		||||
            """)
 | 
			
		||||
            sh("""
 | 
			
		||||
            mkdir Builds/html5
 | 
			
		||||
            mkdir Builds/html5/${PROJECT}
 | 
			
		||||
            godot --${export} "HTML5" Builds/html5/index.html
 | 
			
		||||
            """)
 | 
			
		||||
          }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    stage('Package Artifacts')
 | 
			
		||||
    {
 | 
			
		||||
        steps
 | 
			
		||||
        {
 | 
			
		||||
            dir ("Builds/Linux/") {
 | 
			
		||||
                sh("zip ../${PROJECT}-linux.zip ${PROJECT} -r")
 | 
			
		||||
            }
 | 
			
		||||
            dir ("Builds/Windows/") {
 | 
			
		||||
                sh("zip ../${PROJECT}-windows.zip ${PROJECT} -r")
 | 
			
		||||
            }
 | 
			
		||||
            dir ("Builds/Mac/") {
 | 
			
		||||
                sh("zip ../${PROJECT}-mac.zip ${PROJECT} -r")
 | 
			
		||||
            }
 | 
			
		||||
            dir ("Builds/html5/") {
 | 
			
		||||
                sh("zip ../${PROJECT}-html5.zip * -r")
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    stage('Ship to S3')
 | 
			
		||||
    {
 | 
			
		||||
      steps {
 | 
			
		||||
          sh("aws s3 cp Builds/${PROJECT}-linux.zip s3://${BUCKET_NAME}/${PROJECT}/${env.BRANCH_NAME}/${PROJECT}-linux.zip")
 | 
			
		||||
          sh("aws s3 cp Builds/${PROJECT}-windows.zip s3://${BUCKET_NAME}/${PROJECT}/${env.BRANCH_NAME}/${PROJECT}-windows.zip")
 | 
			
		||||
          sh("aws s3 cp Builds/${PROJECT}-mac.zip s3://${BUCKET_NAME}/${PROJECT}/${env.BRANCH_NAME}/${PROJECT}-mac.zip")
 | 
			
		||||
          sh("aws s3 cp Builds/${PROJECT}-html5.zip s3://${BUCKET_NAME}/${PROJECT}/${env.BRANCH_NAME}/${PROJECT}-html5.zip")
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    stage('Ship to Itch.io')
 | 
			
		||||
    {
 | 
			
		||||
     when {
 | 
			
		||||
          expression {
 | 
			
		||||
              env.BRANCH_NAME == 'develop'
 | 
			
		||||
          }
 | 
			
		||||
      }
 | 
			
		||||
      steps {
 | 
			
		||||
          sh("butler push Builds/${PROJECT}-linux.zip ${ITCH_ADDRESS}:linux --userversion ${env.BRANCH_NAME}")
 | 
			
		||||
          sh("butler push Builds/${PROJECT}-windows.zip ${ITCH_ADDRESS}:windows --userversion ${env.BRANCH_NAME}")
 | 
			
		||||
          sh("butler push Builds/${PROJECT}-mac.zip ${ITCH_ADDRESS}:osx --userversion ${env.BRANCH_NAME}")
 | 
			
		||||
          sh("butler push Builds/${PROJECT}-html5.zip ${ITCH_ADDRESS}:html5 --userversion ${env.BRANCH_NAME}")
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  post {
 | 
			
		||||
    always {
 | 
			
		||||
      cleanWs()
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user