Compare commits

...

39 Commits
v6.2.1 ... main

Author SHA1 Message Date
Allan 3a3e488b23 chore: updating yaml to use self-hosted doc site
Release / Build-production-and-ng-test (push) Successful in 7m20s Details
Release / Build-and-test-development (push) Successful in 13m43s Details
Release / release (push) Failing after 2m36s Details
2023-11-14 22:23:05 +00:00
Allan 0a82ec0a70 chore: updating link in README to releases page
Release / Build-production-and-ng-test (push) Successful in 7m50s Details
Release / Build-and-test-development (push) Successful in 14m11s Details
Release / release (push) Failing after 2m42s Details
2023-11-14 21:43:55 +00:00
semantic-release-bot bc1d89218e chore(release): 6.2.7 [skip ci]
## [6.2.7](https://git.datacontroller.io/dc/dc/compare/v6.2.6...v6.2.7) (2023-11-09)

### Bug Fixes

* **audit:** updated crypto-js (hashing rows in dynamic cell validation) ([a7aa42a](a7aa42a59b))
* missing dependency and avoiding label length limit issue ([91f128c](91f128c2fe))
2023-11-09 09:01:38 +00:00
allan 817b9adeac Merge pull request 'fix(audit): updated crypto-js (hashing rows in dynamic cell validation)' (#62) from audit-fix into main
Release / Build-production-and-ng-test (push) Successful in 8m0s Details
Release / Build-and-test-development (push) Successful in 13m41s Details
Release / release (push) Successful in 12m7s Details
Reviewed-on: #62
2023-11-09 08:37:19 +00:00
Mihajlo Medjedovic a7aa42a59b fix(audit): updated crypto-js (hashing rows in dynamic cell validation)
Build / Build-and-ng-test (pull_request) Successful in 1m45s Details
2023-11-09 09:20:21 +01:00
allan 34f239036d Merge pull request 'fix: missing dependency and avoiding label length limit issue' (#61) from corebump into main
Release / Build-production-and-ng-test (push) Failing after 2m51s Details
Release / Build-and-test-development (push) Has been skipped Details
Release / release (push) Has been skipped Details
Reviewed-on: #61
2023-11-08 21:45:25 +00:00
Allan 91f128c2fe fix: missing dependency and avoiding label length limit issue
Build / Build-and-ng-test (pull_request) Successful in 1m43s Details
Relates to the following core issues:
* https://github.com/sasjs/core/issues/364
* https://github.com/sasjs/core/issues/363
2023-11-08 21:36:17 +00:00
semantic-release-bot a00ebea692 chore(release): 6.2.6 [skip ci]
## [6.2.6](https://git.datacontroller.io/dc/dc/compare/v6.2.5...v6.2.6) (2023-10-18)

### Bug Fixes

* bumping core to address mm_assigndirectlib issue ([c27cdab](c27cdab3fc))
2023-10-18 10:48:48 +00:00
Allan c27cdab3fc fix: bumping core to address mm_assigndirectlib issue
Release / Build-production-and-ng-test (push) Successful in 7m19s Details
Release / Build-and-test-development (push) Successful in 11m45s Details
Release / release (push) Successful in 11m9s Details
2023-10-18 11:26:29 +01:00
semantic-release-bot d7da2d7890 chore(release): 6.2.5 [skip ci]
## [6.2.5](https://git.datacontroller.io/dc/dc/compare/v6.2.4...v6.2.5) (2023-10-17)

### Bug Fixes

* enabling AUTHDOMAIN in MM_ASSIGNDIRECTLIB ([008b45a](008b45ad17))
2023-10-17 16:06:19 +00:00
allan 76f0fd4232 Merge pull request 'fix: enabling AUTHDOMAIN in MM_ASSIGNDIRECTLIB for ODBC Engines' (#60) from issue59 into main
Release / Build-production-and-ng-test (push) Successful in 7m8s Details
Release / Build-and-test-development (push) Successful in 11m34s Details
Release / release (push) Successful in 10m54s Details
Reviewed-on: #60
2023-10-17 15:44:34 +00:00
Allan 008b45ad17 fix: enabling AUTHDOMAIN in MM_ASSIGNDIRECTLIB
Build / Build-and-ng-test (pull_request) Successful in 1m19s Details
Bumped sasjs/core to 4.48.1
2023-10-17 16:42:05 +01:00
semantic-release-bot 4d49263816 chore(release): 6.2.4 [skip ci]
## [6.2.4](https://git.datacontroller.io/dc/dc/compare/v6.2.3...v6.2.4) (2023-10-16)

### Bug Fixes

* Enable display of metadata-only tables. Closes [#56](#56) ([f3e82b4](f3e82b4ee2))
2023-10-16 16:38:06 +00:00
allan 6a2482e5c6 Merge pull request 'fix: Enable display of metadata-only tables. Closes #56' (#57) from issue56 into main
Release / Build-production-and-ng-test (push) Successful in 7m19s Details
Release / Build-and-test-development (push) Successful in 11m26s Details
Release / release (push) Successful in 11m9s Details
Reviewed-on: #57
2023-10-16 15:10:04 +00:00
allan b5c3fb2af4 Merge branch 'main' into issue56
Build / Build-and-ng-test (pull_request) Successful in 1m18s Details
2023-10-16 14:55:11 +00:00
mihajlo fa2c8eb839 Merge pull request 'Adding cypress videos to the artifacts' (#58) from ci into main
Release / Build-production-and-ng-test (push) Successful in 7m5s Details
Release / Build-and-test-development (push) Successful in 11m21s Details
Release / release (push) Failing after 2m6s Details
Reviewed-on: #58
2023-10-16 14:24:10 +00:00
Allan f3e82b4ee2 fix: Enable display of metadata-only tables. Closes #56
Build / Build-and-ng-test (pull_request) Successful in 1m21s Details
2023-10-16 15:21:01 +01:00
Mihajlo Medjedovic ba67248155 chore: adding cypress videos to the artifacts
Build / Build-and-ng-test (pull_request) Successful in 1m21s Details
2023-10-16 16:11:56 +02:00
allan a6d962bfaa Merge pull request 'Downgrading SheetJS' (#55) from sheetjs-downgrade into main
Release / Build-production-and-ng-test (push) Has been cancelled Details
Release / Build-and-test-development (push) Has been cancelled Details
Release / release (push) Has been cancelled Details
Reviewed-on: #55
2023-10-16 10:48:02 +00:00
Mihajlo Medjedovic 95cddb52d4 chore: package-lock
Build / Build-and-ng-test (pull_request) Successful in 1m22s Details
2023-10-16 12:40:17 +02:00
Mihajlo Medjedovic 5a5118d775 chore: downgrading sheetjs
Build / Build-and-ng-test (pull_request) Failing after 27s Details
2023-10-16 12:34:30 +02:00
mihajlo 1b1cdd7a4b Merge pull request 'Removing development branch jobs, moving test jobs to the release pipeline' (#54) from discard-development into main
Release / Build-production-and-ng-test (push) Successful in 7m9s Details
Release / Build-and-test-development (push) Failing after 14m17s Details
Release / release (push) Has been skipped Details
Reviewed-on: #54
2023-10-16 09:46:34 +00:00
Mihajlo Medjedovic a9ddf7f7dd chore: removing development branch JOBS, moving test jobs to the release pipeline
Build / Build-and-ng-test (pull_request) Successful in 1m23s Details
2023-10-13 11:24:42 +02:00
semantic-release-bot b54b3f1778 chore(release): 6.2.3 [skip ci]
## [6.2.3](https://git.datacontroller.io/dc/dc/compare/v6.2.2...v6.2.3) (2023-10-12)

### Bug Fixes

* bumping core library to avoid non-ascii char in mp_validatecols.sas. [#50](#50) ([11b06f6](11b06f6416))
* removing copyright symbol from mpe_alerts macro. [#50](#50) ([adb7eb7](adb7eb7755))
2023-10-12 09:42:44 +00:00
allan 349a63c591 Merge pull request 'fix: removing non-ascii chars from SAS program headers' (#51) from issue50 into main
Release / release (push) Successful in 11m21s Details
Reviewed-on: #51
2023-10-12 09:40:30 +00:00
allan 293d33912f Merge pull request 'development' (#52) from development into issue50
Build / Build-and-ng-test (pull_request) Has been cancelled Details
Reviewed-on: #52
2023-10-12 09:38:43 +00:00
allan 357b9849e7 Merge branch 'issue50' into development
Build / Build-and-ng-test (pull_request) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Test / Build-production-and-ng-test (push) Has been cancelled Details
2023-10-12 09:38:19 +00:00
Mihajlo Medjedovic 0c8a9eef32 chore(ci): build and ng test fix
Test / Build-production-and-ng-test (push) Successful in 7m30s Details
Test / Build-and-test-development (push) Failing after 14m29s Details
Test / Build-and-test-development-latest-adapter (push) Failing after 14m45s Details
Build / Build-and-ng-test (pull_request) Successful in 1m25s Details
2023-10-12 08:33:31 +02:00
Mihajlo Medjedovic 112b1d0da4 chore(ci): audit check fix
Test / Build-production-and-ng-test (push) Failing after 2m22s Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
2023-10-12 08:26:35 +02:00
Mihajlo Medjedovic a05007416a chore(ci): audit check fix
Test / Build-production-and-ng-test (push) Failing after 2m25s Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
2023-10-12 08:21:58 +02:00
allan 9f7dd55583 Merge pull request 'Release fix' (#49) from release-fix into development
Test / Build-production-and-ng-test (push) Failing after 2m36s Details
Test / Build-and-test-development (push) Failing after 14m29s Details
Test / Build-and-test-development-latest-adapter (push) Failing after 14m30s Details
Reviewed-on: #49
2023-10-11 22:02:20 +00:00
Allan 11b06f6416 fix: bumping core library to avoid non-ascii char in mp_validatecols.sas. #50
Build / Build-and-ng-test (pull_request) Successful in 1m30s Details
2023-10-11 22:57:07 +01:00
Allan adb7eb7755 fix: removing copyright symbol from mpe_alerts macro. #50 2023-10-11 22:56:14 +01:00
Mihajlo Medjedovic b776b80728 chore: making semantic-release fail if no release available
Build / Build-and-ng-test (pull_request) Successful in 1m17s Details
2023-10-11 16:34:06 +02:00
Mihajlo Medjedovic 73a149ea7b chore: updated contributing.md with release instructions
Build / Build-and-ng-test (pull_request) Successful in 1m18s Details
2023-10-09 13:02:13 +02:00
Mihajlo Medjedovic ef8784093b chore: release is draft fix, release will update package.json version
Build / Build-and-ng-test (pull_request) Successful in 1m18s Details
2023-10-09 12:46:17 +02:00
semantic-release-bot b30c788e3d chore(release): 6.2.2 [skip ci]
## [6.2.2](https://git.datacontroller.io/dc/dc/compare/v6.2.1...v6.2.2) (2023-10-09)

### Bug Fixes

* updated SheetJS (crypto) to the latest ([8bd0dd2](8bd0dd22c2))
2023-10-09 09:52:20 +00:00
mihajlo 23899bdff3 Merge pull request 'fix: updated SheetJS (crypto) to the latest' (#48) from development into main
Release / release (push) Successful in 11m13s Details
Reviewed-on: #48
2023-10-09 09:49:16 +00:00
Mihajlo Medjedovic 8bd0dd22c2 fix: updated SheetJS (crypto) to the latest
Test / Build-production-and-ng-test (push) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Build / Build-and-ng-test (pull_request) Successful in 1m19s Details
2023-10-09 11:47:27 +02:00
15 changed files with 9290 additions and 1060 deletions

View File

@ -1,5 +1,5 @@
name: Build
run-name: Running Lint Check
run-name: Running Lint Check and Licence checker on Pull Request
on: [pull_request]
jobs:

View File

@ -1,224 +0,0 @@
name: Test
run-name: Building and testing development branch
on:
push:
branches:
- development
jobs:
Build-production-and-ng-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Write .npmrc file
run: |
touch client/.npmrc
echo '${{ secrets.NPMRC}}' > client/.npmrc
- name: Install Chrome for Angular tests
run: |
apt-get update
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
apt install -y ./google-chrome*.deb;
export CHROME_BIN=/usr/bin/google-chrome
- name: Write cypress credentials
run: echo "$CYPRESS_CREDS" > ./client/cypress.env.json
shell: bash
env:
CYPRESS_CREDS: ${{ secrets.CYPRESS_CREDS }}
- name: Install dependencies
run: npm ci
- name: Check audit
# Audit should fail and stop the CI if critical vulnerability found
run: |
npm audit --audit-level=critical
cd ./sas
npm audit --audit-level=critical
cd ./client
npm audit --audit-level=critical
- name: Angular Tests
run: |
npm test -- --no-watch --no-progress --browsers=ChromeHeadlessCI
- name: Angular Production Build
run: |
npm run postinstall
npm run build
Build-and-test-development:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Write .npmrc file
run: |
touch client/.npmrc
echo '${{ secrets.NPMRC}}' > client/.npmrc
- run: apt-get update
- run: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- run: apt install -y ./google-chrome*.deb;
- run: export CHROME_BIN=/usr/bin/google-chrome
- run: apt-get update -y
- run: apt-get -y install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
- run: apt -y install jq
- name: Write cypress credentials
run: echo "$CYPRESS_CREDS" > ./client/cypress.env.json
shell: bash
env:
CYPRESS_CREDS: ${{ secrets.CYPRESS_CREDS }}
- name: Install dependencies
run: npm ci
# Install pm2 and prepare SASJS server
- run: npm i -g pm2
- run: curl -L https://github.com/sasjs/server/releases/latest/download/linux.zip > linux.zip
- run: unzip linux.zip
- run: touch .env
- run: echo RUN_TIMES=js >> .env
- run: echo NODE_PATH=node >> .env
- run: echo CORS=enable >> .env
- run: echo WHITELIST=http://localhost:4200 >> .env
- run: cat .env
- run: pm2 start api-linux --wait-ready
- name: Deploy mocked services
run: |
cd ./sas/mocks/sasjs
npm install -g @sasjs/cli
npm install -g replace-in-files-cli
sasjs cbd -t server-ci
# sasjs request services/admin/makedata -t server-ci -d ./deploy/makeData4GL.json -c ./deploy/requestConfig.json -o ./output.json
- name: Install ZIP
run: |
apt-get update
apt-get install zip
- name: Prepare and run frontend and cypress
run: |
cd ./client
mv ./cypress.env.example.json ./cypress.env.json
replace-in-files --regex='"username".*' --replacement='"username":"'${{ secrets.CYPRESS_USERNAME_SASJS }}'",' ./cypress.env.json
replace-in-files --regex='"password".*' --replacement='"password":"'${{ secrets.CYPRESS_PWD_SASJS }}'" ' ./cypress.env.json
cat ./cypress.env.json
npm run postinstall
# Prepare index.html to SASJS local
replace-in-files --regex='serverUrl=".*?"' --replacement='serverUrl="http://localhost:5000"' ./src/index.html
replace-in-files --regex='appLoc=".*?"' --replacement='appLoc="/Public/app/devtest"' ./src/index.html
replace-in-files --regex='serverType=".*?"' --replacement='serverType="SASJS"' ./src/index.html
replace-in-files --regex='"hosturl".*' --replacement='hosturl:"http://localhost:4200",' ./cypress.config.ts
cat ./cypress.config.ts
# Start frontend and run cypress
npm start & npx wait-on http://localhost:4200 && npx cypress run --browser chrome --spec "cypress/e2e/liveness.cy.ts,cypress/e2e/editor.cy.ts,cypress/e2e/excel.cy.ts,cypress/e2e/filtering.cy.ts,cypress/e2e/licensing.cy.ts"
- name: Zip Cypress videos
if: always()
run: |
zip -r cypress-videos ./client/cypress/videos
- name: Cypress videos artifacts
uses: actions/upload-artifact@v3
with:
name: cypress-videos.zip
path: cypress-videos.zip
Build-and-test-development-latest-adapter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Write .npmrc file
run: echo "$NPMRC" > client/.npmrc
shell: bash
env:
NPMRC: ${{ secrets.NPMRC}}
- run: apt-get update
- run: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- run: apt install -y ./google-chrome*.deb;
- run: export CHROME_BIN=/usr/bin/google-chrome
- run: apt-get update -y
- run: apt-get -y install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
- run: apt -y install jq
- name: Write cypress credentials
run: echo "$CYPRESS_CREDS" > ./client/cypress.env.json
shell: bash
env:
CYPRESS_CREDS: ${{ secrets.CYPRESS_CREDS }}
- name: Install dependencies
run: npm ci
# Install pm2 and prepare SASJS server
- run: npm i -g pm2
- run: curl -L https://github.com/sasjs/server/releases/latest/download/linux.zip > linux.zip
- run: unzip linux.zip
- run: touch .env
- run: echo RUN_TIMES=js >> .env
- run: echo NODE_PATH=node >> .env
- run: echo CORS=enable >> .env
- run: echo WHITELIST=http://localhost:4200 >> .env
- run: cat .env
- run: pm2 start api-linux --wait-ready
- name: Deploy mocked services
run: |
cd ./sas/mocks/sasjs
npm install -g @sasjs/cli
npm install -g replace-in-files-cli
sasjs cbd -t server-ci
- name: Install ZIP
run: |
apt-get update
apt-get install zip
- name: Prepare and run frontend and cypress
run: |
cd ./client
mv ./cypress.env.example.json ./cypress.env.json
replace-in-files --regex='"username".*' --replacement='"username":"'${{ secrets.CYPRESS_USERNAME_SASJS }}'",' ./cypress.env.json
replace-in-files --regex='"password".*' --replacement='"password":"'${{ secrets.CYPRESS_PWD_SASJS }}'" ' ./cypress.env.json
cat ./cypress.env.json
npm run postinstall
npm install @sasjs/adapter@latest
# Prepare index.html to SASJS local
replace-in-files --regex='serverUrl=".*?"' --replacement='serverUrl="http://localhost:5000"' ./src/index.html
replace-in-files --regex='appLoc=".*?"' --replacement='appLoc="/Public/app/devtest"' ./src/index.html
replace-in-files --regex='serverType=".*?"' --replacement='serverType="SASJS"' ./src/index.html
replace-in-files --regex='"hosturl".*' --replacement='hosturl:"http://localhost:4200",' ./cypress.config.ts
cat ./cypress.config.ts
# Start frontend and run cypress
npm start & npx wait-on http://localhost:4200 && npx cypress run --browser chrome --spec "cypress/e2e/liveness.cy.ts,cypress/e2e/editor.cy.ts,cypress/e2e/excel.cy.ts,cypress/e2e/filtering.cy.ts,cypress/e2e/licensing.cy.ts"
- name: Zip Cypress videos
if: always()
run: |
zip -r cypress-videos ./client/cypress/videos
- name: Cypress videos artifacts
uses: actions/upload-artifact@v3
with:
name: cypress-videos-latest-adapter.zip
path: cypress-videos.zip

View File

@ -1,13 +1,151 @@
name: Release
run-name: Releasing DC
run-name: Testing and Releasing DC
on:
push:
branches:
- main
jobs:
Build-production-and-ng-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Write .npmrc file
run: |
touch client/.npmrc
echo '${{ secrets.NPMRC}}' > client/.npmrc
- name: Install Chrome for Angular tests
run: |
apt-get update
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
apt install -y ./google-chrome*.deb;
export CHROME_BIN=/usr/bin/google-chrome
- name: Write cypress credentials
run: echo "$CYPRESS_CREDS" > ./client/cypress.env.json
shell: bash
env:
CYPRESS_CREDS: ${{ secrets.CYPRESS_CREDS }}
- name: Install dependencies
run: npm ci
- name: Check audit
# Audit should fail and stop the CI if critical vulnerability found
run: |
npm audit --audit-level=critical --omit=dev
cd ./sas
npm audit --audit-level=critical --omit=dev
cd ../client
npm audit --audit-level=critical --omit=dev
- name: Angular Tests
run: |
cd client
npm test -- --no-watch --no-progress --browsers=ChromeHeadlessCI
- name: Angular Production Build
run: |
cd client
npm run postinstall
npm run build
Build-and-test-development:
runs-on: ubuntu-latest
needs: Build-production-and-ng-test
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Write .npmrc file
run: |
touch client/.npmrc
echo '${{ secrets.NPMRC}}' > client/.npmrc
- run: apt-get update
- run: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- run: apt install -y ./google-chrome*.deb;
- run: export CHROME_BIN=/usr/bin/google-chrome
- run: apt-get update -y
- run: apt-get -y install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
- run: apt -y install jq
- name: Write cypress credentials
run: echo "$CYPRESS_CREDS" > ./client/cypress.env.json
shell: bash
env:
CYPRESS_CREDS: ${{ secrets.CYPRESS_CREDS }}
- name: Install dependencies
run: npm ci
# Install pm2 and prepare SASJS server
- run: npm i -g pm2
- run: curl -L https://github.com/sasjs/server/releases/latest/download/linux.zip > linux.zip
- run: unzip linux.zip
- run: touch .env
- run: echo RUN_TIMES=js >> .env
- run: echo NODE_PATH=node >> .env
- run: echo CORS=enable >> .env
- run: echo WHITELIST=http://localhost:4200 >> .env
- run: cat .env
- run: pm2 start api-linux --wait-ready
- name: Deploy mocked services
run: |
cd ./sas/mocks/sasjs
npm install -g @sasjs/cli
npm install -g replace-in-files-cli
sasjs cbd -t server-ci
# sasjs request services/admin/makedata -t server-ci -d ./deploy/makeData4GL.json -c ./deploy/requestConfig.json -o ./output.json
- name: Install ZIP
run: |
apt-get update
apt-get install zip
- name: Prepare and run frontend and cypress
run: |
cd ./client
mv ./cypress.env.example.json ./cypress.env.json
replace-in-files --regex='"username".*' --replacement='"username":"'${{ secrets.CYPRESS_USERNAME_SASJS }}'",' ./cypress.env.json
replace-in-files --regex='"password".*' --replacement='"password":"'${{ secrets.CYPRESS_PWD_SASJS }}'" ' ./cypress.env.json
cat ./cypress.env.json
npm run postinstall
# Prepare index.html to SASJS local
replace-in-files --regex='serverUrl=".*?"' --replacement='serverUrl="http://localhost:5000"' ./src/index.html
replace-in-files --regex='appLoc=".*?"' --replacement='appLoc="/Public/app/devtest"' ./src/index.html
replace-in-files --regex='serverType=".*?"' --replacement='serverType="SASJS"' ./src/index.html
replace-in-files --regex='"hosturl".*' --replacement='hosturl:"http://localhost:4200",' ./cypress.config.ts
cat ./cypress.config.ts
# Start frontend and run cypress
npm start & npx wait-on http://localhost:4200 && npx cypress run --browser chrome --spec "cypress/e2e/liveness.cy.ts,cypress/e2e/editor.cy.ts,cypress/e2e/excel.cy.ts,cypress/e2e/filtering.cy.ts,cypress/e2e/licensing.cy.ts"
- name: Zip Cypress videos
if: always()
run: |
zip -r cypress-videos ./client/cypress/videos
- name: Add cypress videos artifacts
if: always()
uses: actions/upload-artifact@v3
with:
name: cypress-videos.zip
path: cypress-videos.zip
release:
runs-on: ubuntu-latest
needs: [Build-production-and-ng-test, Build-and-test-development]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
@ -35,6 +173,8 @@ jobs:
run: |
npm i
npm i -g semantic-release
# We do a semantic-release DRY RUN to make the job fail if there are no changes to release
GITEA_TOKEN=${{ secrets.RELEASE_TOKEN }} GITEA_URL=https://git.datacontroller.io semantic-release --dry-run | grep -q "There are no relevant changes, so no new version is released." && exit 1
GITEA_TOKEN=${{ secrets.RELEASE_TOKEN }} GITEA_URL=https://git.datacontroller.io semantic-release
- name: Frontend Build
@ -100,12 +240,18 @@ jobs:
npm run compodoc:build
surfer put --token ${{ secrets.TSDOC_TOKEN }} --server webdoc.datacontroller.io documentation/* /
- name: Release code.datacontroller.io
run: |
cd sas
sasjs doc
surfer put --token ${{ secrets.CODE_DATACONTROLLER_IO }} --server code.datacontroller.io sasjsbuild/sasdocs/* /
- name: Upload assets to release
run: |
RELEASE_ID=`curl -k 'https://git.datacontroller.io/api/v1/repos/dc/dc/releases/latest?access_token=${{ secrets.RELEASE_TOKEN }}' | jq -r '.id'`
RELEASE_BODY=`curl -k 'https://git.datacontroller.io/api/v1/repos/dc/dc/releases/latest?access_token=${{ secrets.RELEASE_TOKEN }}' | jq -r '.body'`
# Update body
curl --data '{"draft": true,"body":"'"$RELEASE_BODY\n\nFor installation instructions, please visit https://docs.datacontroller.io/"'"}' -X PATCH --header 'Content-Type: application/json' -k https://git.datacontroller.io/api/v1/repos/dc/dc/releases/$RELEASE_ID?access_token=${{ secrets.RELEASE_TOKEN }}
curl --data '{"draft": false,"body":"'"$RELEASE_BODY\n\nFor installation instructions, please visit https://docs.datacontroller.io/"'"}' -X PATCH --header 'Content-Type: application/json' -k https://git.datacontroller.io/api/v1/repos/dc/dc/releases/$RELEASE_ID?access_token=${{ secrets.RELEASE_TOKEN }}
# Upload assets
URL="https://git.datacontroller.io/api/v1/repos/dc/dc/releases/$RELEASE_ID/assets?access_token=${{ secrets.RELEASE_TOKEN }}"
curl -k $URL -F attachment=@frontend.zip

View File

@ -6,11 +6,13 @@
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"@semantic-release/npm",
[
"@semantic-release/git",
{
"assets": [
"CHANGELOG.md"
"CHANGELOG.md",
"package.json"
]
}
],

View File

@ -1,3 +1,47 @@
## [6.2.7](https://git.datacontroller.io/dc/dc/compare/v6.2.6...v6.2.7) (2023-11-09)
### Bug Fixes
* **audit:** updated crypto-js (hashing rows in dynamic cell validation) ([a7aa42a](https://git.datacontroller.io/dc/dc/commit/a7aa42a59b71597399924b8d2d06010c806321f3))
* missing dependency and avoiding label length limit issue ([91f128c](https://git.datacontroller.io/dc/dc/commit/91f128c2fead1e4f72267d689e67f49ec9a2ab35))
## [6.2.6](https://git.datacontroller.io/dc/dc/compare/v6.2.5...v6.2.6) (2023-10-18)
### Bug Fixes
* bumping core to address mm_assigndirectlib issue ([c27cdab](https://git.datacontroller.io/dc/dc/commit/c27cdab3fccbde814a29424d0344173a73ea816c))
## [6.2.5](https://git.datacontroller.io/dc/dc/compare/v6.2.4...v6.2.5) (2023-10-17)
### Bug Fixes
* enabling AUTHDOMAIN in MM_ASSIGNDIRECTLIB ([008b45a](https://git.datacontroller.io/dc/dc/commit/008b45ad175ec0e6026f5ef3bc210470226e328f))
## [6.2.4](https://git.datacontroller.io/dc/dc/compare/v6.2.3...v6.2.4) (2023-10-16)
### Bug Fixes
* Enable display of metadata-only tables. Closes [#56](https://git.datacontroller.io/dc/dc/issues/56) ([f3e82b4](https://git.datacontroller.io/dc/dc/commit/f3e82b4ee2a9c1c851f812ac60e9eaf05f91a0f9))
## [6.2.3](https://git.datacontroller.io/dc/dc/compare/v6.2.2...v6.2.3) (2023-10-12)
### Bug Fixes
* bumping core library to avoid non-ascii char in mp_validatecols.sas. [#50](https://git.datacontroller.io/dc/dc/issues/50) ([11b06f6](https://git.datacontroller.io/dc/dc/commit/11b06f6416300b6d70b1570c415d5a5c004976db))
* removing copyright symbol from mpe_alerts macro. [#50](https://git.datacontroller.io/dc/dc/issues/50) ([adb7eb7](https://git.datacontroller.io/dc/dc/commit/adb7eb77550c68a2dab15a6ff358129820e9b612))
## [6.2.2](https://git.datacontroller.io/dc/dc/compare/v6.2.1...v6.2.2) (2023-10-09)
### Bug Fixes
* updated SheetJS (crypto) to the latest ([8bd0dd2](https://git.datacontroller.io/dc/dc/commit/8bd0dd22c258911672303869e4df893a98e93575))
## [6.2.1](https://git.datacontroller.io/dc/dc/compare/v6.2.0...v6.2.1) (2023-10-09)

View File

@ -53,6 +53,17 @@ npm run lint:fix
Typedoc is used for generating typescript documentation based on the code.
That part is automated and beign done as a part of CI job.
# Release
Release is automated as a part of CI job. Workflow file: `.gitea/workflows/release.yaml`.
It will run automatically when branch merged to the `main` branch.
IMPORTANT!
If release job fails, after it has been created empty release and a tag, we must not re-run the relase job until we removed the newly create GIT TAG and RELEASE.
To remove the git tag run:
```
git push -d origin vX.X.X
```
To remove the release, you need to do it with repo administration over at [https://git.datacontroller.io/dc/dc](https://git.datacontroller.io/dc/dc)
# Troubleshooting
## Makedata service "could not create directory" error

3420
client/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -57,7 +57,7 @@
"base64-arraybuffer": "^0.2.0",
"buffer": "^5.4.3",
"crypto-browserify": "3.12.0",
"crypto-js": "^3.3.0",
"crypto-js": "^4.2.0",
"d3-graphviz": "^5.0.2",
"fs-extra": "^7.0.1",
"handsontable": "^13.1.0",
@ -93,7 +93,7 @@
"@compodoc/compodoc": "^1.1.21",
"@cypress/webpack-preprocessor": "^5.17.1",
"@types/core-js": "^2.5.5",
"@types/crypto-js": "^4.0.1",
"@types/crypto-js": "^4.2.1",
"@types/es6-shim": "^0.31.39",
"@types/jasmine": "~3.6.0",
"@types/lodash-es": "^4.17.3",

6456
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,12 @@
{
"name": "dcfrontend",
"version": "6.2.0",
"version": "6.2.7",
"description": "Data Controller",
"devDependencies": {
"@saithodev/semantic-release-gitea": "^2.1.0",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/commit-analyzer": "^10.0.1",
"@semantic-release/npm": "11.0.0",
"@semantic-release/git": "^10.0.1",
"@semantic-release/release-notes-generator": "^11.0.4",
"commit-and-tag-version": "^11.2.2",
@ -23,5 +24,10 @@
"repository": {
"type": "git",
"url": "https://git.datacontroller.io/dc/dc.git"
}
},
"private": true,
"//": [
"Readme",
"We must set private: true so that semantic-release/npm plugin will update the package.json version but not try to release it as NPM package"
]
}

14
sas/package-lock.json generated
View File

@ -7,7 +7,7 @@
"name": "dc-sas",
"dependencies": {
"@sasjs/cli": "^4.11.1",
"@sasjs/core": "^4.47.0"
"@sasjs/core": "^4.48.3"
}
},
"node_modules/@coolaj86/urequest": {
@ -116,9 +116,9 @@
"integrity": "sha512-Grwydm5GxBsYk238PZw41XPjXVVQ9vWcvfZ06L2P0bQbvK0sGn7l69JA7H5MGr3QcaLpiD4Kg70cAh7PgE+JOw=="
},
"node_modules/@sasjs/core": {
"version": "4.47.0",
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.47.0.tgz",
"integrity": "sha512-ysSii9kTZuUsCfjaCu3coKtdnBmFF03EoUnddmAUKLbrD7y5/m3fsiDrpTYoAJ75+xuzAx+ssj0xGG3gVqCm7w=="
"version": "4.48.3",
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.48.3.tgz",
"integrity": "sha512-wd1bjPJof3qZ/jX/T3Y22yRo9nlWtVwIdDo3Nsj1KY3abA/oivCR9r3A6tn6clPHcKKvfNqsvTjpPPtpt4K3Lg=="
},
"node_modules/@sasjs/lint": {
"version": "2.3.1",
@ -1834,9 +1834,9 @@
}
},
"@sasjs/core": {
"version": "4.47.0",
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.47.0.tgz",
"integrity": "sha512-ysSii9kTZuUsCfjaCu3coKtdnBmFF03EoUnddmAUKLbrD7y5/m3fsiDrpTYoAJ75+xuzAx+ssj0xGG3gVqCm7w=="
"version": "4.48.3",
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.48.3.tgz",
"integrity": "sha512-wd1bjPJof3qZ/jX/T3Y22yRo9nlWtVwIdDo3Nsj1KY3abA/oivCR9r3A6tn6clPHcKKvfNqsvTjpPPtpt4K3Lg=="
},
"@sasjs/lint": {
"version": "2.3.1",

View File

@ -28,6 +28,6 @@
"private": true,
"dependencies": {
"@sasjs/cli": "^4.11.1",
"@sasjs/core": "^4.47.0"
"@sasjs/core": "^4.48.3"
}
}

View File

@ -2,7 +2,7 @@
This site contains the SAS code used in Data Controller for SAS. The pages were generated using [`sasjs doc`](https://cli.sasjs.io/doc).
You can download Data Controller from [here](https://4gl.uk/dcdeploy).
You can download Data Controller from [here](https://git.datacontroller.io/dc/dc/releases).
The main website is [https://datacontroller.io](https://datacontroller.io) and the user guide is [here](https://docs.datacontroller.io).

View File

@ -131,7 +131,7 @@ filename __out email ("&emails")
txt=symget('SUBMITTED_TXT');
put "Reason provided: " txt;
put " ";
put "This is an automated email by Data Controller for SAS®. For "
put "This is an automated email by Data Controller for SAS. For "
"documentation, please visit https://docs.datacontroller.io";
run;
%end;
@ -144,7 +144,7 @@ filename __out email ("&emails")
put "Please be advised that a change to table &alert_lib..&alert_ds has "
"been approved by &from_user on the '&syshostname' SAS server.";
put " ";
put "This is an automated email by Data Controller for SAS®. For "
put "This is an automated email by Data Controller for SAS. For "
"documentation, please visit https://docs.datacontroller.io";
run;
%end;
@ -165,7 +165,7 @@ filename __out email ("&emails")
txt=symget('REVIEW_REASON_TXT');
put "Reason provided: " txt;
put " ";
put "This is an automated email by Data Controller for SAS®. For "
put "This is an automated email by Data Controller for SAS. For "
"documentation, please visit https://docs.datacontroller.io";
run;
%end;

View File

@ -290,6 +290,7 @@ run;
run;
data work.groups;
length groupuri groupname $32 groupdesc $128 ;
call missing (of _all_);
output;
stop;
run;