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