pipeline {
    agent {
        kubernetes {
			yaml '''
                apiVersion: v1
                kind: Pod
                spec:
                  containers:
                  - name: golang
                    image: golang:1.22.2-alpine3.19
                    tty: true
                  - name: node
                    image: node:24.0.0-alpine3.20
                    tty: true
            '''
		}
    }
    stages {
        stage('build/test') {
            steps {
                container('node') {
                    sh "apk update"
                    sh "apk add gcc g++ make musl-dev python3 py3-setuptools"
                    dir('apps/canvas/config') {
                        sh 'npm install'
                        sh 'npm run format-check'
                        sh 'npm run lint'
                    }
                    dir('apps/canvas/back') {
                        sh 'npm install'
                        sh 'npm run format-check'
                        sh 'npm run lint'
                    }
                    dir('apps/canvas/front') {
                        sh 'npm install'
                        sh 'npm run format-check'
                        sh 'npm run lint'
                    }
                }
				container('golang') {
                	dir('core/installer') {
                		sh 'go mod tidy'
                		sh 'go build cmd/*.go'
						sh 'go run cuelang.org/go/cmd/cue fmt app_configs/*.cue --check'
                		sh 'go test ./...'
					}
                    dir('core/auth/memberships') {
                        sh 'go mod tidy'
                		sh 'go build *.go'
                		sh 'go test ./...'
					}
                    dir('core/port-allocator') {
                        sh 'go mod tidy'
                		sh 'go build *.go'
                		sh 'go test ./...'
					}
				}
            }
        }
    }
	post {
        success {
            gerritReview labels: [Verified: 1], message: env.BUILD_URL
        }
        unstable {
		    gerritReview labels: [Verified: 0], message: env.BUILD_URL
		}
        failure {
            gerritReview labels: [Verified: -1], message: env.BUILD_URL
        }
    }
}