mirror of
https://github.com/sasjs/adapter.git
synced 2025-12-11 09:24:35 +00:00
BREAKING CHANGE: The _previous_ commit introduced some breaking changes, due to method re-organisation, namely: * merged executableScriptSAS9, executableScriptSASViya and executableScriptSASjs methods to executableScript * removed deployToSASjs and executeJobSASjs from the main SASjs moodule, as we can use the SASjsApiClient directly for these operations
73 lines
2.9 KiB
YAML
73 lines
2.9 KiB
YAML
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
|
|
|
name: SASjs Build
|
|
|
|
on:
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
node-version: [lts/fermium]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@v2
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
cache: npm
|
|
|
|
- name: Check npm audit
|
|
run: npm audit --production --audit-level=low
|
|
|
|
- name: Install Dependencies
|
|
run: npm ci
|
|
|
|
- name: Check code style
|
|
run: npm run lint
|
|
|
|
- name: Run unit tests
|
|
run: npm test
|
|
|
|
- name: Build Package
|
|
run: npm run package:lib
|
|
env:
|
|
CI: true
|
|
|
|
- name: Install SSH Key
|
|
uses: shimataro/ssh-key-action@v2
|
|
with:
|
|
key: ${{ secrets.DCGITLAB_KEY }}
|
|
known_hosts: 'placeholder'
|
|
|
|
- name: Deploy sasjs-tests
|
|
run: |
|
|
npm install -g replace-in-files-cli
|
|
cd sasjs-tests
|
|
replace-in-files --regex='"@sasjs/adapter".*' --replacement='"@sasjs/adapter":"latest",' ./package.json
|
|
npm i
|
|
replace-in-files --regex='"serverUrl".*' --replacement='"serverUrl":"${{ secrets.SASJS_SERVER_URL }}",' ./public/config.json
|
|
replace-in-files --regex='"userName".*' --replacement='"userName":"${{ secrets.SASJS_USERNAME }}",' ./public/config.json
|
|
replace-in-files --regex='"password".*' --replacement='"password":"${{ secrets.SASJS_PASSWORD }}",' ./public/config.json
|
|
replace-in-files --regex='"serverType".*' --replacement='"serverType":"SASJS",' ./public/config.json
|
|
npm run update:adapter && npm run build
|
|
scp -o stricthostkeychecking=no -r ./build/* ${{ secrets.DCGITLAB_DEPLOY_PATH_VIYA }}
|
|
|
|
- name: Run cypress on sasjs
|
|
run: |
|
|
replace-in-files --regex='"sasjsTestsUrl".*' --replacement='"sasjsTestsUrl":"${{ secrets.SASJS_TEST_URL_VIYA }}",' ./cypress.json
|
|
replace-in-files --regex='"username".*' --replacement='"username":"${{ secrets.SASJS_USERNAME }}",' ./cypress.json
|
|
replace-in-files --regex='"password".*' --replacement='"password":"${{ secrets.SASJS_PASSWORD }}",' ./cypress.json
|
|
sh ./sasjs-tests/sasjs-cypress-run.sh ${{ secrets.MATRIX_TOKEN }} https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
|
|
|
|
# For some reason if coverage report action is run before other commands, those commands can't access the directories and files on which they depend on
|
|
- name: Generate coverage report
|
|
uses: artiomtr/jest-coverage-report-action@v2.0-rc.2
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|