Skip to content

Bump fast-xml-parser and @aws-sdk/client-s3 in /xtest/sdk/js/app-react #2818

Bump fast-xml-parser and @aws-sdk/client-s3 in /xtest/sdk/js/app-react

Bump fast-xml-parser and @aws-sdk/client-s3 in /xtest/sdk/js/app-react #2818

Workflow file for this run

name: X-Test
on:
pull_request:
workflow_call:
inputs:
platform-ref:
required: false
type: string
default: main
otdfctl-ref:
required: false
type: string
default: main
js-ref:
required: false
type: string
default: main
java-ref:
required: false
type: string
default: main
schedule:
- cron: "30 6 * * *"
jobs:
cross-client-test:
timeout-minutes: 60
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
env:
PLATFORM_REF: "${{ inputs.platform-ref || 'main' }}"
JS_REF: "${{ inputs.js-ref || 'main' }}"
OTDFCTL_REF: "${{ inputs.otdfctl-ref || 'main' }}"
JAVA_REF: "${{ inputs.java-ref || 'main' }}"
steps:
- uses: actions/checkout@v3
with:
repository: opentdf/tests
path: otdftests # use different name bc other repos might have tests directories
- name: Set up Node 20
uses: actions/setup-node@v3
with:
node-version: "20.x"
registry-url: https://npm.pkg.github.com
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- uses: bufbuild/buf-setup-action@382440cdb8ec7bc25a68d7b4711163d95f7cc3aa
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up JDK
uses: actions/setup-java@5896cecc08fd8a1fbdfaf517e29b571164b031f7
with:
java-version: "11"
distribution: "adopt"
server-id: github
######## CHECKOUT THE PLATFORM #############
- name: Check out platform
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
repository: opentdf/platform
path: platform
ref: ${{ env.PLATFORM_REF }}
- name: Set up go
uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7
with:
go-version: "1.22.3"
check-latest: false
cache-dependency-path: |
platform/service/go.sum
platform/examples/go.sum
platform/protocol/go/go.sum
platform/sdk/go.sum
######## SPIN UP BACKEND #############
- run: |
.github/scripts/init-temp-keys.sh
cp opentdf-dev.yaml opentdf.yaml
working-directory: platform
- name: Added Trusted Certs
run: |
sudo chmod -R 777 ./keys
sudo apt-get install -y ca-certificates
sudo cp ./keys/localhost.crt /usr/local/share/ca-certificates
sudo update-ca-certificates
working-directory: platform
- run: docker compose up -d --wait --wait-timeout 240
working-directory: platform
- run: go run ./service provision keycloak
working-directory: platform
- run: go run ./service provision fixtures
working-directory: platform
- uses: JarvusInnovations/background-action@2428e7b970a846423095c79d43f759abf979a635
name: start server in background
with:
run: >
go build -o opentdf -v service/main.go
&& .github/scripts/watch.sh opentdf.yaml ./opentdf start
wait-on: |
tcp:localhost:8080
log-output-if: true
wait-for: 90s
working-directory: platform
######## CHECKOUT CLIENT-WEB #############
- name: Check out client-web
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
repository: opentdf/client-web
path: client-web
ref: ${{ env.JS_REF }}
######## SETUP THE JS CLI #############
- name: build the js cli
run: |
make clean
CLIENT_VERSION=$(cd lib && npm pkg get version | tr -d \")
make lib/opentdf-client-$CLIENT_VERSION.tgz
rm -rf */node_modules
cd cli
npm uninstall @opentdf/client && npm ci && npm i ../lib/opentdf-client-*.tgz
npm pack
working-directory: client-web
- name: update packages
run: |-
npm ci
npm install ../../client-web/cli/opentdf-cli-*.tgz
npm list
working-directory: otdftests/xtest
######## CHECKOUT GO CLI #############
- name: Check out otdfctl
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
repository: opentdf/otdfctl
path: otdfctl
ref: ${{ env.OTDFCTL_REF }}
######## SETUP THE GO CLI #############
- name: Prepare go cli
run: |-
go get github.com/opentdf/platform/sdk@$PLATFORM_REF
go build .
cp ./otdfctl ../otdftests/xtest/sdk/go/otdfctl
working-directory: otdfctl
####### CHECKOUT JAVA SDK ##############
- name: Check out java-sdk
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
with:
repository: opentdf/java-sdk
path: java-sdk
ref: ${{ env.JAVA_REF }}
####### SETUP JAVA CLI ##############
- name: Build java cli
run: |
mvn --batch-mode clean install -DskipTests
env:
BUF_INPUT_HTTPS_USERNAME: opentdf-bot
BUF_INPUT_HTTPS_PASSWORD: ${{ secrets.PERSONAL_ACCESS_TOKEN_OPENTDF }}
working-directory: java-sdk
- name: Move java cli to xtest
run: |-
cp cmdline/target/cmdline.jar ../otdftests/xtest/sdk/java/cmdline.jar
working-directory: java-sdk
######## RUN THE TESTS #############
- name: Install test dependencies
run: |-
pip3 install -r requirements.txt
working-directory: otdftests/xtest
- name: Run xtests
run: |-
npm run test
working-directory: otdftests/xtest
###### TODO: move these unbound tests to v2 platform
# unbound-test-js:
# timeout-minutes: 60
# runs-on: ubuntu-latest
# defaults:
# run:
# working-directory: xtest
# permissions:
# contents: read
# packages: read
# strategy:
# matrix:
# kasversion: [ python-kas, go-kas ]
# steps:
# - uses: actions/checkout@v3
# - name: Set kas-related environment variable
# shell: bash
# run: echo "KAS_VERSION=${{ matrix.kasversion }}" >> $GITHUB_ENV
# - name: Set up Node 18
# uses: actions/setup-node@v3
# with:
# node-version: "18.x"
# registry-url: https://npm.pkg.github.com
# - name: Set up Python 3.10
# uses: actions/setup-python@v4
# with:
# python-version: "3.10"
# # todo: install and activate virtual env for python?
# - name: update packages
# run: |-
# npm ci
# npm install @opentdf/cli@${{ github.event.client_payload.version }} @opentdf/client@${{ github.event.client_payload.version }}
# npm list
# pip3 install -r requirements.txt
# env:
# NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - uses: yokawasa/[email protected]
# with:
# setup-tools: |
# kubectl
# helm
# tilt
# # This should be in sync with the minikube-deployed kube version below
# kubectl: "1.24.1"
# helm: "3.9.2"
# tilt: "0.31.2"
# - run: |
# kubectl version --client
# kustomize version
# tilt version
# - name: start minikube
# id: minikube
# uses: medyagh/setup-minikube@master
# with:
# minikube-version: 1.26.0
# # This should be in sync with the setup-tools version above
# kubernetes-version: 1.24.1
# - name: Run tilt
# run: |-
# [[ -z "${{github.event.inputs.backendVersion}}" ]] && export BACKEND_LATEST_VERSION=$(skopeo list-tags docker://ghcr.io/opentdf/charts/backend \
# | python3 -c "import sys, json; sys.stdout.write([tag for tag in json.load(sys.stdin)['Tags'] if not tag.endswith('.sig')][-1])") || export BACKEND_LATEST_VERSION="${{github.event.inputs.backendVersion}}"
# echo "Testing Backend [$BACKEND_LATEST_VERSION]">>$GITHUB_STEP_SUMMARY
# kubectl version
# tilt ci -f Tiltfile.unbound-js-sdk