workflow: rules: - if: $CI_COMMIT_TAG stages: - build_and_release build-and-release: stage: build_and_release image: oven/bun:latest script: - echo "🚀 Memulai proses build untuk tag $CI_COMMIT_TAG..." - bun install --frozen-lockfile - bun run route:sync - bun build --compile --minify-whitespace --minify-syntax --target bun --outfile "server-compiled" ./src/index.ts - echo "✅ Build selesai. File 'server-compiled' telah dibuat." release: tag_name: "$CI_COMMIT_TAG" name: "Release $CI_COMMIT_TAG" description: "Rilis otomatis berisi aplikasi server yang sudah dicompile." assets: links: - name: "server-compiled" url: "${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/server-compiled" link_type: "other" artifacts: paths: - server-compiled expire_in: never