diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 0000000..4dab3bd --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,27 @@ +name: CD + +on: + push: + branches: + - main + - next + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + + - run: npm install + - run: npm run lint + - run: npm run build + + - name: Release of Gladdis + run: npx semantic-release + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..791a8ec --- /dev/null +++ b/.npmignore @@ -0,0 +1,3 @@ +/.github/ +/.eslintignore +/.prettierignore diff --git a/.prettierignore b/.prettierignore index eda9ac1..050ebe9 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,4 @@ /DATA/ /dist/ +/CHANGELOG.md /pnpm-lock.yaml diff --git a/package.json b/package.json index 33ed841..2b9cf38 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,18 @@ { "name": "gladdis", - "version": "0.3.2", + "version": "0.3.3", "description": "Gladdis (Generative Language Artificial Dedicated & Diligent Intelligence System)", "keywords": [ - "gladdis" + "gladdis", + "generative", + "language", + "artificial", + "intelligence", + "system" ], + "homepage": "https://github.com/AurelienStebe/Gladdis", "repository": "github:AurelienStebe/Gladdis", + "bugs": "https://github.com/AurelienStebe/Gladdis/issues", "author": { "name": "Aurélien Stébé", "email": "aurelien.stebe@gmail.com" @@ -21,6 +28,15 @@ "start": "node --no-warnings ./dist/service.js", "live": "nodemon --exec ts-node-esm ./src/service.ts" }, + "engines": { + "npm": ">=6.14", + "node": ">=16.0" + }, + "os": [ + "darwin", + "linux", + "win32" + ], "prettier": { "semi": false, "tabWidth": 4, @@ -42,6 +58,30 @@ ], "reportUnusedDisableDirectives": true }, + "release": { + "tagFormat": "Gladdis-v${version}", + "branches": [ + "main", + "next" + ], + "plugins": [ + "@semantic-release/commit-analyzer", + "@semantic-release/release-notes-generator", + "@semantic-release/changelog", + "@semantic-release/npm", + [ + "@semantic-release/git", + { + "assets": [ + "CHANGELOG.md", + "package.json" + ], + "message": "chore: Gladdis release version ${nextRelease.version} :tada: " + } + ], + "@semantic-release/github" + ] + }, "dependencies": { "@dqbd/tiktoken": "^1.0.7", "@fern-api/openai": "^0.0.24", @@ -53,9 +93,15 @@ "yaml": "^2.2.2" }, "devDependencies": { + "@semantic-release/changelog": "^6.0.3", + "@semantic-release/commit-analyzer": "^9.0.2", + "@semantic-release/git": "^10.0.1", + "@semantic-release/github": "^8.0.7", + "@semantic-release/npm": "^10.0.3", + "@semantic-release/release-notes-generator": "^11.0.1", "@types/express": "^4.17.17", "@types/fs-extra": "^11.0.1", - "@types/node": "^18.16.2", + "@types/node": "^18.16.3", "@typescript-eslint/eslint-plugin": "^5.59.1", "@typescript-eslint/parser": "^5.59.1", "eslint": "^8.39.0", @@ -67,6 +113,7 @@ "nodemon": "^2.0.22", "prettier": "^2.8.8", "rimraf": "^5.0.0", + "semantic-release": "^21.0.2", "ts-node": "^10.9.1", "typescript": "^5.0.4" }