Files
fast_reader/Jenkinsfile
2026-11-05 22:23:01 +01:00

87 lines
2.3 KiB
Groovy

pipeline {
agent any
options {
timestamps()
disableConcurrentBuilds()
}
stages {
stage('Verify source checkout') {
steps {
echo 'FlashRead source checkout succeeded.'
sh 'pwd && git log -1 --oneline'
}
}
stage('Build FlashRead CI image') {
steps {
script {
def ciImage = docker.build(
'fast_reader-ci:latest',
'-f Dockerfile.ci .'
)
echo "Built CI image: ${ciImage.id}"
}
}
}
stage('Inspect build environment') {
steps {
sh '''
echo "=== Build environment ==="
echo
for tool in git go node npm wails syft grype docker; do
if command -v "$tool" >/dev/null 2>&1; then
echo "[FOUND] $tool"
"$tool" --version 2>&1 | head -n 1 || true
else
echo "[MISSING] $tool"
fi
done
'''
}
}
stage('Build FlashRead') {
agent {
docker {
image 'fast_reader-ci:latest'
reuseNode true
}
}
steps {
sh '''
mkdir -p frontend/dist
touch frontend/dist/.keep
wails generate module
echo "=== Frontend dependencies ==="
cd frontend
npm ci
echo "=== Frontend build ==="
npm run build
cd ..
echo "=== Go tests ==="
go test ./...
echo "=== Wails build ==="
wails build -tags webkit2_41
'''
}
}
}
post {
success {
echo 'FlashRead CI environment check completed successfully.'
}
failure {
echo 'FlashRead CI environment check failed.'
}
}
}