Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
51f86ec
chore: add deployment prod bucket configuration to serverless.yml
AbhishekJadhav2002 Feb 9, 2026
e8462f8
feat: add workflows for deployment and environment management, update…
michael-puzon-resultscx Feb 11, 2026
3aa2512
chore: remove Python setup and install steps from workflows, update s…
michael-puzon-resultscx Feb 11, 2026
af8fbfe
feat: add npm dependency installation step to release workflows
michael-puzon-resultscx Feb 11, 2026
ac05f6d
fix: revert framework version to 3 in serverless configuration
michael-puzon-resultscx Feb 11, 2026
45778b9
fix: remove framework version declaration from serverless configuration
michael-puzon-resultscx Feb 11, 2026
4734016
fix: downgrade node version to 18 in workflow files and restore frame…
michael-puzon-resultscx Feb 11, 2026
391cd46
fix: update framework version format to "3.x" in serverless configura…
michael-puzon-resultscx Feb 11, 2026
da2e578
fix: add missing comma in dependencies section of package.json
michael-puzon-resultscx Feb 11, 2026
ca39c64
fix: update framework version to "3" in serverless configuration
michael-puzon-resultscx Feb 11, 2026
a013b4e
fix: update package-lock.json to reflect latest dependency changes
michael-puzon-resultscx Feb 11, 2026
a5bc066
fix: add start script for local development and update serverless-off…
michael-puzon-resultscx Feb 11, 2026
259370b
fix: remove OpenSearch configuration from default environment
michael-puzon-resultscx Feb 11, 2026
22b2b75
fix: remove AWS_REGION from default environment configuration
michael-puzon-resultscx Feb 11, 2026
ca261f4
fix: remove default configuration inheritance from environment settings
michael-puzon-resultscx Feb 11, 2026
f372871
fix: add default configuration inheritance for environment settings
michael-puzon-resultscx Feb 11, 2026
bb6271e
fix: update serverless-offline configuration and add CORS support for…
michael-puzon-resultscx Feb 12, 2026
e566e0f
fix: consolidate CORS configuration for HTTP API endpoints
michael-puzon-resultscx Feb 12, 2026
5e62568
Merge pull request #6 from devicebits/LSP-1240
AbhishekJadhav2002 Feb 12, 2026
53f7b0b
feat: add workflows for deployment and environment management, update…
michael-puzon-resultscx Feb 11, 2026
b6f71ba
chore: remove Python setup and install steps from workflows, update s…
michael-puzon-resultscx Feb 11, 2026
21c7b7d
feat: add npm dependency installation step to release workflows
michael-puzon-resultscx Feb 11, 2026
7babbff
fix: revert framework version to 3 in serverless configuration
michael-puzon-resultscx Feb 11, 2026
9b6d382
fix: remove framework version declaration from serverless configuration
michael-puzon-resultscx Feb 11, 2026
87fc777
fix: downgrade node version to 18 in workflow files and restore frame…
michael-puzon-resultscx Feb 11, 2026
5e1d2ea
fix: update framework version format to "3.x" in serverless configura…
michael-puzon-resultscx Feb 11, 2026
0a8c548
fix: add missing comma in dependencies section of package.json
michael-puzon-resultscx Feb 11, 2026
a78b3c0
fix: update framework version to "3" in serverless configuration
michael-puzon-resultscx Feb 11, 2026
86f1a32
fix: update package-lock.json to reflect latest dependency changes
michael-puzon-resultscx Feb 11, 2026
8fee6eb
fix: add start script for local development and update serverless-off…
michael-puzon-resultscx Feb 11, 2026
45815cc
fix: remove OpenSearch configuration from default environment
michael-puzon-resultscx Feb 11, 2026
bba0ff7
fix: remove AWS_REGION from default environment configuration
michael-puzon-resultscx Feb 11, 2026
56eb10b
fix: remove default configuration inheritance from environment settings
michael-puzon-resultscx Feb 11, 2026
d9c45dc
fix: add default configuration inheritance for environment settings
michael-puzon-resultscx Feb 11, 2026
cb3edc2
fix: update serverless-offline configuration and add CORS support for…
michael-puzon-resultscx Feb 12, 2026
81d297e
fix: consolidate CORS configuration for HTTP API endpoints
michael-puzon-resultscx Feb 12, 2026
b10c0e6
[DEVOPS]: updated prestage deployment script
Bekhzod96 Feb 27, 2026
738840c
[DEVOPS]: removing from cache node_modules
Bekhzod96 Feb 27, 2026
beb42ee
[DEVOPS]: removing node_moduels from cache
Bekhzod96 Feb 27, 2026
15ccf4d
Merge branch 'LSP-1272' of github.com:devicebits/search-api-sls into …
michael-puzon-resultscx Mar 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Lines starting with '#' are comments.

# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in the repo.

- @devicebits/Developers

# Order is important. The last matching pattern has the most precedence.

# So if a pull request only touches javascript files, only these owners

# will be requested to review.

# \*.js @octocat @github/js

# .github/\*

# You can also use email addresses if you prefer.

# docs/\* docs@example.com
20 changes: 20 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## Background

Description of what you were asked to do. Try to be as detailed as possible.
The idea is to give enough background to the reviewer to perform the code review.

## Changes done

High level description of what changes you introduced in this PR. Don't bother going into details as they can be seen in the code. Describe _what_ was done, not how or where.

## Pending to be done

What things you left out and why. Maybe you left testing out because the PR was too big already? Maybe you will be following up with a second part with validations? Let your reviewers know!

## Notes

Any design decisions not obvious in the code. Did you have to go outside of our standard? If so, why?

## Demo

Screenshot/video to better understand the idea.
49 changes: 49 additions & 0 deletions .github/workflows/release-prestage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Release Prestage
description: |
This workflow is triggered on pull requests and deploys the application to the prestage environment.
It uses AWS credentials configured via OIDC and caches npm dependencies for faster builds.

run-name: "[Automated] @${{ github.actor }} ran ${{ github.workflow }} on ${{ github.ref }}"
on: [pull_request]

jobs:
deploy-branch:
name: Deploy branch
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Setup AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: "${{ secrets.OIDC_AWS_ROLE_SLS_DEPLOYMENT_PROD }}"
aws-region: ${{ vars.AWS_DEFAULT_REGION || 'us-east-1' }}
role-session-name: "GITHUB-${{github.run_id}}"

- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
registry-url: "https://npm.pkg.github.com"
scope: "@devicebits"
always-auth: true

- name: Cache multiple paths
uses: actions/cache@v3
with:
path: |
~/.npm
**/node_modules
key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}

- name: Install Dependencies
run: npm ci

- name: deploy branch
run: |
echo -e "$STAGENAME:\n <<: *DEFAULT" >> serverless.env.yml
cat serverless.env.yml
npx sls deploy --stage $STAGENAME
env:
STAGENAME: qa-${{ github.event.pull_request.head.ref }}
45 changes: 45 additions & 0 deletions .github/workflows/release-production.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Release Production
run-name: "[Automated] @${{ github.actor }} ran ${{ github.workflow }} on ${{ github.ref }}"
description: |
This workflow is triggered on version tag pushes and deploys the application to the production environment.
It uses AWS credentials configured via OIDC and caches npm dependencies for faster builds.

on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"

jobs:
deploy:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Setup AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: "${{ secrets.OIDC_AWS_ROLE_SLS_DEPLOYMENT_PROD }}"
aws-region: ${{ vars.AWS_DEFAULT_REGION || 'us-east-1' }}
role-session-name: "GITHUB-${{github.run_id}}"

- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
registry-url: "https://npm.pkg.github.com"
scope: "@devicebits"
always-auth: true

- name: Cache npm cache
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The cache step is named "Cache npm cache" which is redundant. Consider renaming to "Cache dependencies" or "Cache npm" for consistency with the other workflows which use "Cache multiple paths".

Suggested change
- name: Cache npm cache
- name: Cache npm

Copilot uses AI. Check for mistakes.
uses: actions/cache@v4
with:
path: |
~/.npm
key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}

- name: Install dependencies
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The setup-node action is configured with registry-url "https://npm.pkg.github.com" and always-auth: true, but there's no NODE_AUTH_TOKEN environment variable set for authentication. If any of your dependencies are from GitHub Packages, npm ci will fail. Add the NODE_AUTH_TOKEN environment variable to the "Install dependencies" step, e.g., env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Suggested change
- name: Install dependencies
- name: Install dependencies
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Copilot uses AI. Check for mistakes.
run: npm ci

- name: Deploy to production
run: npm run deploy:production
45 changes: 45 additions & 0 deletions .github/workflows/release-staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Release Staging
description: |
This workflow is triggered on pushes to the main branch and deploys the application to the staging environment.
It uses AWS credentials configured via OIDC and caches npm dependencies for faster builds.
run-name: "[Automated] @${{ github.actor }} ran ${{ github.workflow }} on ${{ github.ref }}"
on:
push:
branches:
- main
workflow_dispatch:

jobs:
deploy:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Setup AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: "${{ secrets.OIDC_AWS_ROLE_SLS_DEPLOYMENT_PROD }}"
aws-region: ${{ vars.AWS_DEFAULT_REGION || 'us-east-1' }}
role-session-name: "GITHUB-${{github.run_id}}"

- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
registry-url: "https://npm.pkg.github.com"
scope: "@devicebits"
always-auth: true

- name: Cache npm cache
uses: actions/cache@v4
with:
path: |
~/.npm
key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}

- name: Install dependencies
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The setup-node action is configured with registry-url "https://npm.pkg.github.com" and always-auth: true, but there's no NODE_AUTH_TOKEN environment variable set for authentication. If any of your dependencies are from GitHub Packages, npm ci will fail. Add the NODE_AUTH_TOKEN environment variable to the "Install dependencies" step, e.g., env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Suggested change
- name: Install dependencies
- name: Install dependencies
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Copilot uses AI. Check for mistakes.
run: npm ci

- name: Deploy to staging
run: npm run deploy:staging
47 changes: 47 additions & 0 deletions .github/workflows/remove-prestage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Remove Prestage
run-name: "[Automated] @${{ github.actor }} ran ${{ github.workflow }} on ${{ github.ref }}"
on:
pull_request:
types: [closed]

jobs:
rm-branch-deploy:
name: Remove branch deployment
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Setup AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: "${{ secrets.OIDC_AWS_ROLE_SLS_DEPLOYMENT_PROD }}"
aws-region: ${{ vars.AWS_DEFAULT_REGION || 'us-east-1' }}
role-session-name: "GITHUB-${{github.run_id}}"

- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
registry-url: "https://npm.pkg.github.com"
scope: "@devicebits"
always-auth: true

- name: Cache multiple paths
uses: actions/cache@v4
with:
path: |
~/.npm
**/node_modules
key: ${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}

- name: Install dependencies
run: npm ci
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The setup-node action is configured with registry-url "https://npm.pkg.github.com" and always-auth: true, but there's no NODE_AUTH_TOKEN environment variable set for authentication. If any of your dependencies are from GitHub Packages, npm ci will fail. Add the NODE_AUTH_TOKEN environment variable to the "Install dependencies" step, e.g., env: NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Suggested change
run: npm ci
run: npm ci
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Copilot uses AI. Check for mistakes.

- name: Remove branch deployment
run: |
echo -e "${STAGENAME}:\n <<: *DEFAULT" >> serverless.env.yml
echo ${STAGENAME}
./node_modules/.bin/sls remove --stage ${STAGENAME}
env:
STAGENAME: qa-${{ github.event.pull_request.head.ref }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
node_modules
.serverless
mysql/
logs/
Loading