diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..7a647eb --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,37 @@ +name: build + +on: + push: + branches: ["main"] + pull_request: + branches: ["main"] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install Bun + uses: oven-sh/setup-bun@v1 + + - name: Start docker compose + run: | + docker compose down --volumes --remove-orphans || true + docker compose up -d + sleep 3 + + - name: Install dependencies + run: bun install + + - name: Run tests + run: bun test + + - name: Build project + run: bun run build + + - name: Stop docker compose + if: always() + run: docker compose down --volumes --remove-orphans diff --git a/package.json b/package.json index 5c5913a..db8c4fa 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "scripts": { "dev": "bun --hot run index.ts", "start": "bun index.ts", - "test": "bun test" + "test": "bun test", + "build": "bun build index.ts --outdir dist --minify --target bun" }, "devDependencies": { "@types/bun": "latest",