Skip to content

πŸ’š add healthchecks to the docker compose services used in CI testing removed scylladb, add env vars that are always set, removed unused dependencies #314

πŸ’š add healthchecks to the docker compose services used in CI testing removed scylladb, add env vars that are always set, removed unused dependencies

πŸ’š add healthchecks to the docker compose services used in CI testing removed scylladb, add env vars that are always set, removed unused dependencies #314

Workflow file for this run

name: Build
on:
push:
branches:
- release/*
pull_request:
branches: [main]
paths:
- "tdrive/backend/node/**"
- "tdrive/frontend/**"
- "tdrive/connectors/onlyoffice-connector/**"
- "tdrive/backend/utils/ldap-sync/**"
- "tdrive/backend/utils/nextcloud-migration/**"
jobs:
setup:
name: Setup jobs
runs-on: ubuntu-latest
outputs:
changes: ${{ steps.filter.outputs.changes }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
backend:
- "tdrive/backend/node/**"
frontend:
- "tdrive/frontend/**"
onlyoffice-connector:
- "tdrive/connectors/onlyoffice-connector/**"
ldap-sync:
- "tdrive/backend/utils/ldap-sync/**"
nextcloud-migration:
- "tdrive/backend/utils/nextcloud-migration/**"
lint-backend:
runs-on: ubuntu-latest
if: contains(needs.setup.outputs.changes, 'backend')
needs:
- setup
steps:
- uses: actions/checkout@v4
- name: Prettier code style check
run: |
cd tdrive
docker compose -f docker-compose.tests.yml run -e NODE_OPTIONS=--unhandled-rejections=warn node npm run lint:prettier
- name: Lint
run: |
cd tdrive
docker compose -f docker-compose.tests.yml run -e NODE_OPTIONS=--unhandled-rejections=warn node npm run lint
test-backend:
runs-on: ubuntu-latest
if: contains(needs.setup.outputs.changes, 'backend')
needs:
- setup
steps:
- uses: actions/checkout@v4
- name: e2e-mongo-s3-test
run: |
cd tdrive
docker compose -f docker-compose.tests.yml run --rm -e NODE_OPTIONS=--unhandled-rejections=warn node npm run test:all
docker compose -f docker-compose.tests.yml down
- name: e2e-opensearch-test
run: |
cd tdrive
docker compose -f docker-compose.dev.tests.opensearch.yml up -d --force-recreate opensearch-node1 postgres node
sleep 60
docker compose -f docker-compose.dev.tests.opensearch.yml logs
docker compose -f docker-compose.dev.tests.opensearch.yml run -e NODE_OPTIONS=--unhandled-rejections=warn -e SEARCH_DRIVER=opensearch -e DB_DRIVER=postgres -e PUBSUB_TYPE=local node npm run test:all
docker compose -f docker-compose.dev.tests.opensearch.yml down
build-frontend:
runs-on: ubuntu-latest
if: contains(needs.setup.outputs.changes, 'frontend')
needs:
- setup
env:
FRONTEND_ENV: ${{ secrets.FRONTEND_ENV }}
strategy:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- run: cd tdrive/frontend/ && yarn install
- run: cp tdrive/frontend/src/app/environment/environment.ts.dist tdrive/frontend/src/app/environment/environment.ts
- if: ${{ env.FRONTEND_ENV }}
run: echo ${{ secrets.FRONTEND_ENV }} > tdrive/frontend/src/app/environment/environment.ts
- run: cd tdrive/frontend/ && yarn test
- run: cd tdrive/frontend/ && yarn build
- name: Upload frontend build artifact
uses: actions/upload-artifact@v4
with:
name: frontend-build
path: tdrive/frontend/build/
build-onlyoffice-connector:
runs-on: ubuntu-latest
if: contains(needs.setup.outputs.changes, 'onlyoffice-connector')
needs:
- setup
strategy:
matrix:
node-version: [16.x]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies and build
run: |
cd tdrive/connectors/onlyoffice-connector
npm i
npm run build --if-present
npm run lint
build-ldap-sync:
runs-on: ubuntu-20.04
if: contains(needs.setup.outputs.changes, 'ldap-sync')
needs:
- setup
steps:
- uses: actions/checkout@v4
- name: Build ldap sync
run: cd tdrive/backend/utils/ldap-sync && npm i && npm run build
build-nextcloud-migration:
runs-on: ubuntu-20.04
if: contains(needs.setup.outputs.changes, 'nextcloud-migration')
needs:
- setup
steps:
- uses: actions/checkout@v4
- name: Build Nextcloud migration
run: cd tdrive/backend/utils/nextcloud-migration && npm i && npm run build