Skip to content

2.2.7

2.2.7 #28

Workflow file for this run

name: Release
on:
push:
tags:
- v*
jobs:
build:
name: Build
runs-on: ubuntu-latest
env:
RUNNER: github
NODE_ENV: dev
steps:
- name: Cache dependencies
uses: actions/cache@v2
with:
path: '**/node_modules'
key: node-modules-${{ hashfiles('**/package-lock.json') }}
- name: Github checkout
uses: actions/checkout@v4
- name: Setup node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.19.0'
- name: Install NPM dependencies
run: npm i typescript@5.3.3 -g && npm i
- name: Create .env file
run: |
touch .env
echo BREVO_API_KEY = "${{ secrets.BREVO_API_KEY }}" >> .env
echo EMAIL_FROM = "${{ secrets.EMAIL_FROM }}" >> .env
echo EMAIL_REPLY_TO = "${{ secrets.EMAIL_REPLY_TO }}" >> .env
echo EMAIL_TO = "${{ secrets.EMAIL_TO }}" >> .env
echo MAILERSEND_API_KEY = "${{ secrets.MAILERSEND_API_KEY }}" >> .env
echo MAILGUN_API_KEY = "${{ secrets.MAILGUN_API_KEY }}" >> .env
echo MAILJET_API_KEY = "${{ secrets.MAILJET_API_KEY }}" >> .env
echo MAILJET_TOKEN = "${{ secrets.MAILJET_TOKEN }}" >> .env
echo MANDRILL_API_KEY = "${{ secrets.MANDRILL_API_KEY }}" >> .env
echo POSTMARK_API_KEY = "${{ secrets.POSTMARK_API_KEY }}" >> .env
echo SENDGRID_API_KEY = "${{ secrets.SENDGRID_API_KEY }}" >> .env
echo SENDINBLUE_API_KEY = "${{ secrets.SENDINBLUE_API_KEY }}" >> .env
echo SMTP_HOST = "${{ secrets.SMTP_HOST }}" >> .env
echo SMTP_USERNAME = "${{ secrets.SMTP_USERNAME }}" >> .env
echo SMTP_PASSWORD = "${{ secrets.SMTP_PASSWORD }}" >> .env
echo SPARKPOST_API_KEY = "${{ secrets.SPARKPOST_API_KEY }}" >> .env
- name: Create .cliamrc.js file
run: cp ./test/fixtures/cliamrc.js ./.cliamrc.js
- name: Compile Typescript files
run: tsc
- name: Execute units tests
run: npm run ci:test
- name: Publish to coveralls.io
uses: coverallsapp/github-action@v1.1.2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: ./reports/coverage/lcov.info
release:
name: Release on Github
runs-on: ubuntu-latest
needs: [ build ]
steps:
- name: Cache dependencies
uses: actions/cache@v2
with:
path: '**/node_modules'
key: node-modules-${{ hashfiles('**/package-lock.json') }}
- name: Github checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.19.0'
- name: Create release
uses: konfer-be/action-create-release-from-tag@v1.0.2
with:
token: ${{ secrets.GITHUB_TOKEN }}
publish:
name: Publish on NPM
runs-on: ubuntu-latest
needs: [ build ]
steps:
- name: Cache dependencies
uses: actions/cache@v2
with:
path: '**/node_modules'
key: node-modules-${{ hashfiles('**/package-lock.json') }}
- name: Github checkout
uses: actions/checkout@v4
- name: Setup node.js environment
uses: actions/setup-node@v4
with:
node-version: '18.19.0'
registry-url: 'https://registry.npmjs.org'
- name: Install NPM dependencies
run: npm i typescript@5.3.3 -g && npm i
- name: Create .env file
run: |
touch .env
echo BREVO_API_KEY = "${{ secrets.BREVO_API_KEY }}" >> .env
echo EMAIL_FROM = "${{ secrets.EMAIL_FROM }}" >> .env
echo EMAIL_REPLY_TO = "${{ secrets.EMAIL_REPLY_TO }}" >> .env
echo EMAIL_TO = "${{ secrets.EMAIL_TO }}" >> .env
echo MAILERSEND_API_KEY = "${{ secrets.MAILERSEND_API_KEY }}" >> .env
echo MAILGUN_API_KEY = "${{ secrets.MAILGUN_API_KEY }}" >> .env
echo MAILJET_API_KEY = "${{ secrets.MAILJET_API_KEY }}" >> .env
echo MAILJET_TOKEN = "${{ secrets.MAILJET_TOKEN }}" >> .env
echo MANDRILL_API_KEY = "${{ secrets.MANDRILL_API_KEY }}" >> .env
echo POSTMARK_API_KEY = "${{ secrets.POSTMARK_API_KEY }}" >> .env
echo SENDGRID_API_KEY = "${{ secrets.SENDGRID_API_KEY }}" >> .env
echo SENDINBLUE_API_KEY = "${{ secrets.SENDINBLUE_API_KEY }}" >> .env
echo SMTP_HOST = "${{ secrets.SMTP_HOST }}" >> .env
echo SMTP_USERNAME = "${{ secrets.SMTP_USERNAME }}" >> .env
echo SMTP_PASSWORD = "${{ secrets.SMTP_PASSWORD }}" >> .env
echo SPARKPOST_API_KEY = "${{ secrets.SPARKPOST_API_KEY }}" >> .env
- name: Create .cliamrc.js file
run: cp ./test/fixtures/cliamrc.js ./.cliamrc.js
- name: Compile Typescript files with declarations
run: tsc --declaration
- name: Delete unpackaged files
run: rm -rf ./.github && rm -rf ./src && rm -rf ./test && rm -f tsconfig.json && rm -f .env && rm -f ROADMAP.md
- name: Publish package on NPM registery
run: npm ci & npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}