-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
đź‘· Refactored build and publish workflow (#435)
- Loading branch information
Showing
14 changed files
with
310 additions
and
352 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
name: Build | ||
|
||
on: | ||
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: 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-test | ||
run: | | ||
cd tdrive | ||
docker-compose -f docker-compose.tests.yml run --rm -e NODE_OPTIONS=--unhandled-rejections=warn -e SEARCH_DRIVER=mongodb -e DB_DRIVER=mongodb -e PUBSUB_TYPE=local 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 | ||
- name: e2e-cassandra-test | ||
run: | | ||
cd tdrive | ||
docker-compose -f docker-compose.tests.yml up -d scylladb elasticsearch rabbitmq | ||
sleep 60 | ||
docker-compose -f docker-compose.tests.yml run -e NODE_OPTIONS=--unhandled-rejections=warn -e SEARCH_DRIVER=elasticsearch -e DB_DRIVER=cassandra node npm run test:all | ||
- name: coverage | ||
uses: adRise/jest-cov-reporter@main | ||
with: | ||
branch-coverage-report-path: ./tdrive/coverage/coverage-summary.json | ||
base-coverage-report-path: ./tdrive/coverage/coverage-summary.json | ||
delta: 0.3 | ||
fullCoverageDiff: true | ||
|
||
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 |
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -28,7 +28,7 @@ jobs: | |
if: github.event.action == 'closed' && github.event.pull_request.merged == true | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/checkout@v4 | ||
- uses: actions-ecosystem/action-add-labels@v1 | ||
with: | ||
labels: "staging:develop" | ||
|
@@ -37,7 +37,7 @@ jobs: | |
if: github.event.label.name == 'qa:ready' && github.event.pull_request.merged == true | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: qa | ||
fetch-depth: 0 | ||
|
@@ -62,7 +62,7 @@ jobs: | |
if: github.event.label.name == 'canary:ready' && github.event.pull_request.merged == true | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: canary | ||
fetch-depth: 0 | ||
|
@@ -86,7 +86,7 @@ jobs: | |
if: github.event.label.name == 'priority:1' && github.event.pull_request.merged == true | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: qa | ||
fetch-depth: 0 | ||
|
@@ -97,7 +97,7 @@ jobs: | |
git config user.email "[email protected]" | ||
git cherry-pick ${{github.event.pull_request.merge_commit_sha}} | ||
git push | ||
- uses: actions/checkout@v2 | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: canary | ||
fetch-depth: 0 | ||
|
@@ -108,7 +108,7 @@ jobs: | |
git config user.email "[email protected]" | ||
git cherry-pick ${{github.event.pull_request.merge_commit_sha}} | ||
git push | ||
- uses: actions/checkout@v2 | ||
- uses: actions/checkout@v4 | ||
with: | ||
ref: main | ||
fetch-depth: 0 | ||
|
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.