chore: fixes

This commit is contained in:
Sojan
2025-03-07 02:07:00 -08:00
parent 8a720f9642
commit 335c06af7a
+60 -25
View File
@@ -17,42 +17,78 @@ jobs:
<<: *defaults
steps:
- checkout
- node/install:
node-version: '23.7'
- node/install-pnpm
- node/install-packages:
pkg-manager: pnpm
override-ci-command: pnpm i
- run:
name: Install Dependencies
name: Install PostgreSQL repository & Dependencies
command: |
sudo apt-get update && sudo apt-get install -y \
curl gpg build-essential libpq-dev redis-server postgresql-16 postgresql-16-pgvector \
libssl-dev zlib1g-dev libyaml-dev libxml2-dev libxslt1-dev imagemagick \
libreadline-dev libvips libffi-dev liblzma-dev
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/pgdg.gpg
echo "deb [signed-by=/usr/share/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \
libpq-dev \
redis-server \
postgresql-16 \
postgresql-16-pgvector \
build-essential \
git \
curl \
libssl-dev \
zlib1g-dev \
libreadline-dev \
libyaml-dev \
openjdk-11-jdk \
jq \
software-properties-common \
ca-certificates \
imagemagick \
libxml2-dev \
libxslt1-dev \
file \
g++ \
gcc \
autoconf \
gnupg2 \
patch \
ruby-dev \
liblzma-dev \
libgmp-dev \
libncurses5-dev \
libffi-dev \
libgdbm6 \
libgdbm-dev \
libvips
# Ruby installation via RVM
curl -sSL https://get.rvm.io | bash -s stable --ruby=3.3.3
- run:
name: Install RVM and Ruby 3.3.3
command: |
sudo apt-get install -y gpg
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
\curl -sSL https://get.rvm.io | bash -s stable
echo 'source ~/.rvm/scripts/rvm' >> $BASH_ENV
source ~/.rvm/scripts/rvm
rvm install "3.3.3"
rvm use 3.3.3 --default
gem install bundler -v 2.5.16
bundle install
# Node setup
curl -fsSL https://get.pnpm.io/install.sh | sh -
export PNPM_HOME=~/build/.pnpm-store
export PATH=$PATH:~/.local/share/pnpm
pnpm i
- persist_to_workspace:
root: ~/build
paths:
- .bundle
- node_modules
- .pnpm-store
- .
lint:
<<: *defaults
steps:
- attach_workspace:
at: ~/build
- checkout
- run:
name: Linting & Swagger Check
name: Linting & Swagger Validation
command: |
source ~/.rvm/scripts/rvm
bundle exec rubocop
pnpm run eslint
bundle exec rake swagger:build
@@ -86,8 +122,10 @@ jobs:
- attach_workspace:
at: ~/build
- run:
name: DB Setup & Migration
name: Start services and Setup DB
command: |
sudo service postgresql start
sudo service redis-server start
pg_pass=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 15; echo '')
sed -i "s/REPLACE_WITH_PASSWORD/${pg_pass}/g" ${PWD}/.circleci/setup_chatwoot.sql
sudo -u postgres psql -f ${PWD}/.circleci/setup_chatwoot.sql
@@ -95,11 +133,8 @@ jobs:
sed -i '/^FRONTEND_URL/d' .env
sed -i -e '/REDIS_URL/ s/=.*/=redis:\/\/localhost:6379/' .env
sed -i -e '/POSTGRES_HOST/ s/=.*/=localhost/' .env
sed -i -e '/POSTGRES_USERNAME/ s/=.*/=chatwoot/' .env
sed -i -e "/POSTGRES_PASSWORD/ s/=.*/=$pg_pass/" .env
echo -en "\nINSTALLATION_ENV=circleci" >> ".env"
sed -i -e "/POSTGRES_PASSWORD/ s/=.*/=${pg_pass}/" .env
bundle exec rails db:chatwoot_prepare
- run:
name: Run backend tests
command: |
@@ -120,4 +155,4 @@ workflows:
- setup
- backend_tests:
requires:
- setup
- setup