From 23e33ff9c416c638d42538fc31f772f8acbeab96 Mon Sep 17 00:00:00 2001 From: everydayseries <124288046+everydayseries@users.noreply.github.com> Date: Fri, 7 Feb 2025 18:13:16 +0530 Subject: [PATCH] Initial commit with Gitea Actions setup --- .gitea/workflows/ci.yml | 16 ++++++++++++++++ Dockerfile | 6 ++++++ package.json | 17 +++++++++++++++++ src/app.js | 8 ++++++++ src/index.js | 6 ++++++ tests/app.test.js | 8 ++++++++ 6 files changed, 61 insertions(+) create mode 100644 .gitea/workflows/ci.yml create mode 100644 Dockerfile create mode 100644 package.json create mode 100644 src/app.js create mode 100644 src/index.js create mode 100644 tests/app.test.js diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..3d4e99a --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,16 @@ +name: CI Pipeline + +on: [push, pull_request] + +jobs: + build: + runs-on: self-hosted + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Install dependencies + run: npm install + + - name: Run tests + run: npm test diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..a4107e3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +FROM node:16 +WORKDIR /app +COPY package.json . +RUN npm install +COPY . . +CMD ["npm", "start"] diff --git a/package.json b/package.json new file mode 100644 index 0000000..8105ae9 --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "gitea-actions-demo", + "version": "1.0.0", + "description": "Demo for Gitea Actions", + "main": "src/index.js", + "scripts": { + "start": "node src/index.js", + "test": "jest" + }, + "dependencies": { + "express": "^4.18.2" + }, + "devDependencies": { + "jest": "^29.0.0", + "supertest": "^6.3.0" + } +} diff --git a/src/app.js b/src/app.js new file mode 100644 index 0000000..6ed3ddf --- /dev/null +++ b/src/app.js @@ -0,0 +1,8 @@ +const express = require("express"); +const app = express(); + +app.get("/", (req, res) => { + res.json({ message: "Hello from Gitea Actions!" }); +}); + +module.exports = app; diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..253902f --- /dev/null +++ b/src/index.js @@ -0,0 +1,6 @@ +const app = require("./app"); + +const PORT = process.env.PORT || 3000; +app.listen(PORT, () => { + console.log(`Server running on port ${PORT}`); +}); diff --git a/tests/app.test.js b/tests/app.test.js new file mode 100644 index 0000000..2d74124 --- /dev/null +++ b/tests/app.test.js @@ -0,0 +1,8 @@ +const request = require("supertest"); +const app = require("../src/app"); + +test("GET / should return a welcome message", async () => { + const res = await request(app).get("/"); + expect(res.statusCode).toBe(200); + expect(res.body.message).toBe("Hello from Gitea Actions!"); +});