Build, Test, and Deliver Client #55
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
name: Build, Test, and Deliver Client | |
on: | |
schedule: | |
- cron: "0 4 * * 2,4" | |
jobs: | |
lib: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./lib | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '18' | |
cache: 'npm' | |
cache-dependency-path: './lib/package-lock.json' | |
- run: npm ci | |
- run: npm test | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: coverage | |
path: lib/coverage/ | |
- run: npm audit --omit dev --audit-level moderate | |
- run: npm run license-check | |
- run: npm run lint | |
- run: npm pack | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: opentdf-client-lib | |
path: ./lib/opentdf-client-*.tgz | |
web-app: | |
needs: | |
- lib | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./web-app | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '18' | |
cache: 'npm' | |
cache-dependency-path: './web-app/package-lock.json' | |
- uses: actions/download-artifact@v3 | |
with: | |
name: opentdf-client-lib | |
path: lib/ | |
- run: npm uninstall @opentdf/client && npm ci && npm i ../lib/opentdf-client-*.tgz | |
- run: npm install | |
- run: npm test | |
- run: npm audit --omit dev --audit-level moderate | |
- run: npm run license-check | |
- run: npm run lint | |
- run: npm pack | |
backend-roundtrip: | |
needs: | |
- web-app | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: .github/workflows/roundtrip | |
timeout-minutes: 120 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '18' | |
cache: 'npm' | |
cache-dependency-path: './web-app/package-lock.json' | |
- uses: actions/download-artifact@v3 | |
with: | |
name: opentdf-client-lib | |
path: lib/ | |
- name: Git clone backend | |
run: | | |
git clone https://github.com/opentdf/opentdf.git | |
- uses: yokawasa/action-setup-kube-tools@v0.9.2 | |
with: | |
setup-tools: | | |
kubectl | |
helm | |
tilt | |
# This should be in sync with the minikube-deployed kube version below | |
kubectl: '1.23.1' | |
helm: '3.8.0' | |
tilt: '0.26.2' | |
- run: | | |
kubectl version --client | |
kustomize version | |
tilt version | |
- name: start minikube | |
id: minikube | |
uses: medyagh/setup-minikube@master | |
with: | |
minikube-version: 1.25.1 | |
# This should be in sync with the setup-tools version above | |
kubernetes-version: 1.23.1 | |
- name: Run tilt ci | |
env: | |
#path relative to the quickstart Tiltfile | |
TEST_SCRIPT: ../../wait-and-test.sh | |
OPENTDF_INGRESS_HOST_PORT: "5432" | |
OPENTDF_LOAD_FRONTEND: "false" | |
PLAYWRIGHT_TESTS_TO_RUN: huge roundtrip | |
run: |- | |
tilt ci --file opentdf/quickstart/Tiltfile |