From 0353c180e775d68947042c05ab6b6722c7494426 Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Fri, 18 Jul 2025 23:00:24 +0700 Subject: [PATCH] :construction_worker: create CI script for gitlab --- .gitlab-ci.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..6abeb5c --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,40 @@ +stages: + - build + - release + +variables: + BUN_VERSION: "1.2.17" + +build_app: + stage: build + image: oven/bun:${BUN_VERSION} + script: + - bun i + - bun build --compile --minify-whitespace --minify-syntax --target bun --outfile "server-compiled" ./src/index.ts + artifacts: + paths: + - server-compiled + expire_in: 1 hour + rules: + - if: '$CI_COMMIT_BRANCH == "main"' + - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"' + +create_release: + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + needs: + - job: build_app + artifacts: true + script: + - echo "Creating release and uploading server-compiled..." + release: + name: "Release $CI_COMMIT_TAG" + tag_name: "$CI_COMMIT_TAG" + description: "Automated release for commit $CI_COMMIT_SHA" + assets: + links: + - name: "server-compiled" + url: "${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/server-compiled" + rules: + - if: '$CI_COMMIT_BRANCH == "main"' + - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'