mirror of
https://github.com/cheveguerra/bot-whatsapp.git
synced 2026-04-20 12:39:24 +00:00
fix(ci): ⚡ github action
fix(ci): ⚡ github action
This commit is contained in:
51
.github/workflows/ci.yml
vendored
51
.github/workflows/ci.yml
vendored
@@ -1,4 +1,4 @@
|
|||||||
name: BotWhatsapp CI
|
name: BotWhatsapp Build-Test
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@@ -34,55 +34,6 @@ jobs:
|
|||||||
- name: Build Eslint rules
|
- name: Build Eslint rules
|
||||||
run: yarn lint:fix
|
run: yarn lint:fix
|
||||||
|
|
||||||
############ RELEASE ############
|
|
||||||
release:
|
|
||||||
name: Release
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs:
|
|
||||||
- build-package
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
ref: ${{ github.head_ref }}
|
|
||||||
|
|
||||||
- name: Setup Node
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 16.x
|
|
||||||
cache: 'yarn'
|
|
||||||
registry-url: https://registry.npmjs.org/
|
|
||||||
|
|
||||||
- run: corepack enable
|
|
||||||
|
|
||||||
- name: Install NPM Dependencies
|
|
||||||
run: yarn install --immutable --network-timeout 300000
|
|
||||||
|
|
||||||
- name: Build Package
|
|
||||||
run: yarn build
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/bot
|
|
||||||
run: yarn node ./scripts/release.js --name=bot --version= --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/cli
|
|
||||||
run: yarn node ./scripts/release.js --name=cli --version= --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/create-bot-whatsapp
|
|
||||||
run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version= --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/database
|
|
||||||
run: yarn node ./scripts/release.js --name=database --version= --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Release @bot-whatsapp/provider
|
|
||||||
run: yarn node ./scripts/release.js --name=provider --version= --token="${{ secrets.NPM_TOKEN }}"
|
|
||||||
|
|
||||||
- name: Commit Versioning & Push changes
|
|
||||||
uses: actions-js/push@master
|
|
||||||
with:
|
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
message: 'ci(version): :zap: automatic - ${date} updated versions every packages'
|
|
||||||
branch: 'dev'
|
|
||||||
|
|
||||||
############ UNIT TEST ############
|
############ UNIT TEST ############
|
||||||
test-unit:
|
test-unit:
|
||||||
name: Unit Tests
|
name: Unit Tests
|
||||||
|
|||||||
58
.github/workflows/releases.yml
vendored
Normal file
58
.github/workflows/releases.yml
vendored
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
name: BotWhatsapp Releases
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [closed]
|
||||||
|
branches:
|
||||||
|
- next-release
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
############ RELEASE ############
|
||||||
|
release:
|
||||||
|
name: Release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event.pull_request.merged == 'true'
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: ${{ github.head_ref }}
|
||||||
|
persist-credentials: false
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16.x
|
||||||
|
cache: 'yarn'
|
||||||
|
registry-url: https://registry.npmjs.org/
|
||||||
|
|
||||||
|
- run: corepack enable
|
||||||
|
|
||||||
|
- name: Install NPM Dependencies
|
||||||
|
run: yarn install --immutable --network-timeout 300000
|
||||||
|
|
||||||
|
- name: Build Package
|
||||||
|
run: yarn build
|
||||||
|
|
||||||
|
- name: Release @bot-whatsapp/bot
|
||||||
|
run: yarn node ./scripts/release.js --name=bot --version= --token="${{ secrets.NPM_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Release @bot-whatsapp/cli
|
||||||
|
run: yarn node ./scripts/release.js --name=cli --version= --token="${{ secrets.NPM_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Release @bot-whatsapp/create-bot-whatsapp
|
||||||
|
run: yarn node ./scripts/release.js --name=create-bot-whatsapp --version= --token="${{ secrets.NPM_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Release @bot-whatsapp/database
|
||||||
|
run: yarn node ./scripts/release.js --name=database --version= --token="${{ secrets.NPM_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Release @bot-whatsapp/provider
|
||||||
|
run: yarn node ./scripts/release.js --name=provider --version= --token="${{ secrets.NPM_TOKEN }}"
|
||||||
|
|
||||||
|
- name: Commit Versioning & Push changes
|
||||||
|
uses: actions-js/push@master
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
message: 'ci(version): :zap: automatic - ${date} updated versions every packages'
|
||||||
|
branch: 'next-release'
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/bot",
|
"name": "@bot-whatsapp/bot",
|
||||||
"version": "0.0.13-alpha.0",
|
"version": "0.0.15-alpha.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "./lib/bundle.bot.cjs",
|
"main": "./lib/bundle.bot.cjs",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/cli",
|
"name": "@bot-whatsapp/cli",
|
||||||
"version": "0.0.20-alpha.0",
|
"version": "0.0.22-alpha.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "create-bot-whatsapp",
|
"name": "create-bot-whatsapp",
|
||||||
"version": "0.0.26-alpha.0",
|
"version": "0.0.28-alpha.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "./lib/bundle.create-bot-whatsapp.cjs",
|
"main": "./lib/bundle.create-bot-whatsapp.cjs",
|
||||||
"files": [
|
"files": [
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/database",
|
"name": "@bot-whatsapp/database",
|
||||||
"version": "0.0.12-alpha.0",
|
"version": "0.0.14-alpha.0",
|
||||||
"description": "Esto es el conector a mysql, pg, mongo",
|
"description": "Esto es el conector a mysql, pg, mongo",
|
||||||
"main": "./lib/mock/index.cjs",
|
"main": "./lib/mock/index.cjs",
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bot-whatsapp/provider",
|
"name": "@bot-whatsapp/provider",
|
||||||
"version": "0.0.18-alpha.0",
|
"version": "0.0.19-alpha.0",
|
||||||
"description": "Esto es el conector a Twilio, Meta, etc...",
|
"description": "Esto es el conector a Twilio, Meta, etc...",
|
||||||
"main": "./lib/mock/index.cjs",
|
"main": "./lib/mock/index.cjs",
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
|
|||||||
@@ -82,6 +82,24 @@ const updateVersion = async (packageName = null, number = null) => {
|
|||||||
return { version: newVersion }
|
return { version: newVersion }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const checkExistVersion = async (packageName = null, version = null) => {
|
||||||
|
try {
|
||||||
|
const pkgJson = join(PATH_PACKAGES, packageName)
|
||||||
|
const pkgJsonObject = readPackage(packageName)
|
||||||
|
const { stdout } = await cmd(
|
||||||
|
NPM_COMMAND,
|
||||||
|
['view', `${pkgJsonObject.name}@${version}`],
|
||||||
|
{
|
||||||
|
stdio: 'inherit',
|
||||||
|
cwd: pkgJson,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
return true
|
||||||
|
} catch (e) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const packRelease = async (packageName) => {
|
const packRelease = async (packageName) => {
|
||||||
const pkgJson = join(PATH_PACKAGES, packageName)
|
const pkgJson = join(PATH_PACKAGES, packageName)
|
||||||
const { stdout } = await cmd(NPM_COMMAND, ['pack'], {
|
const { stdout } = await cmd(NPM_COMMAND, ['pack'], {
|
||||||
@@ -108,14 +126,19 @@ const publishRelease = async (packageName, latest = null) => {
|
|||||||
|
|
||||||
const main = async () => {
|
const main = async () => {
|
||||||
if (PKG_ARG) {
|
if (PKG_ARG) {
|
||||||
|
let EXIST_VERSION = true
|
||||||
const tokenNpm = NPM_TOKEN ? NPM_TOKEN.split('=').at(1) : null
|
const tokenNpm = NPM_TOKEN ? NPM_TOKEN.split('=').at(1) : null
|
||||||
const pkgName = PKG_ARG ? PKG_ARG.split('=').at(1) : null
|
const pkgName = PKG_ARG ? PKG_ARG.split('=').at(1) : null
|
||||||
const pkgNumber = PKG_ARG_VERSION
|
const pkgNumber = PKG_ARG_VERSION
|
||||||
? PKG_ARG_VERSION.split('=').at(1)
|
? PKG_ARG_VERSION.split('=').at(1)
|
||||||
: null
|
: null
|
||||||
if (tokenNpm) await npmToken(tokenNpm)
|
if (tokenNpm) await npmToken(tokenNpm)
|
||||||
await updateVersion(pkgName, pkgNumber)
|
|
||||||
await packRelease(pkgName)
|
while (EXIST_VERSION) {
|
||||||
|
const { version } = await updateVersion(pkgName, pkgNumber)
|
||||||
|
EXIST_VERSION = await checkExistVersion(pkgName, version)
|
||||||
|
console.log(`[${pkgName} - Version]: `, version, EXIST_VERSION)
|
||||||
|
}
|
||||||
await publishRelease(pkgName, pkgNumber)
|
await publishRelease(pkgName, pkgNumber)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user