name: Gradido DLT Connector Test CI on: push jobs: files-changed: name: Detect File Changes - DLT Connector runs-on: ubuntu-latest outputs: dlt_connector: ${{ steps.changes.outputs.dlt_connector }} docker-compose: ${{ steps.changes.outputs.docker-compose }} steps: - uses: actions/checkout@v3.3.0 - name: Check for frontend file changes uses: dorny/paths-filter@v2.11.1 id: changes with: token: ${{ github.token }} filters: .github/file-filters.yml list-files: shell build: name: Docker Build Test - DLT Connector if: needs.files-changed.outputs.dlt_connector == 'true' needs: files-changed runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: create .env run: | cd dlt-connector cat < .env GRADIDO_BLOCKCHAIN_CRYPTO_APP_SECRET=$(openssl rand -hex 16) GRADIDO_BLOCKCHAIN_SERVER_CRYPTO_KEY=$(openssl rand -hex 16) HOME_COMMUNITY_SEED=$(openssl rand -hex 32) HIERO_OPERATOR_KEY=$(openssl rand -hex 32) HIERO_OPERATOR_ID="0.0.2" EOF - name: Build 'test' image run: docker build --target production -t "gradido/dlt-connector:productionTest" -f dlt-connector/Dockerfile . unit_test: name: Unit Tests - DLT Connector if: needs.files-changed.outputs.dlt_connector == 'true' || needs.files-changed.outputs.docker-compose == 'true' needs: [files-changed, build] runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: install bun uses: oven-sh/setup-bun@v2 with: bun-version-file: '.bun-version' - name: install dependencies run: cd dlt-connector && bun install --frozen-lockfile - name: typecheck && unit test run: | export GRADIDO_BLOCKCHAIN_CRYPTO_APP_SECRET=$(openssl rand -hex 16) export GRADIDO_BLOCKCHAIN_SERVER_CRYPTO_KEY=$(openssl rand -hex 16) export HOME_COMMUNITY_SEED=$(openssl rand -hex 32) export HIERO_OPERATOR_KEY=$(openssl rand -hex 32) export HIERO_OPERATOR_ID="0.0.2" cd dlt-connector && bun typecheck && bun test