feat(backend): ✨ implement API to fetch user urls and store … #12
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
env: | |
PORT: ${{vars.PORT}} | |
HOSTNAME: ${{vars.HOSTNAME}} | |
NO_OF_CHARACTERS: ${{vars.NO_OF_CHARACTERS}} | |
NANOID_ALPHABET_SET: ${{secrets.NANOID_ALPHABET_SET}} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
environment: production | |
strategy: | |
matrix: | |
node-version: [16.x, 18.x] | |
mongodb-version: ["5.0", "6.0"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "npm" | |
- name: Start MongoDB | |
uses: supercharge/mongodb-github-action@1.10.0 | |
with: | |
mongodb-version: ${{ matrix.mongodb-version }} | |
- name: Create .env file | |
run: | | |
touch .env | |
echo HOSTNAME = $HOSTNAME >> .env | |
echo PORT = $PORT >> .env | |
echo NANOID_ALPHABET_SET = $NANOID_ALPHABET_SET >> .env | |
echo NO_OF_CHARACTERS = $vars.NO_OF_CHARACTERS >> .env | |
echo DATABASE_URL= mongodb://localhost:27017/url-shortener >> .env | |
- run: npm ci | |
- run: npx tsc | |
- run: npm run build | |
- run: npm run test |