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/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
        }
    }
}