# # SPDX-License-Identifier: Apache-2.0 # name: REST Sample 🐧 run-name: ${{ github.actor }} is testing the REST Sample 🐧 env: NODE_VER: 20.x on: workflow_dispatch: push: branches: ["main", "release-2.5"] paths: ["asset-transfer-basic/rest-api-typescript/**"] pull_request: branches: ["main", "release-2.5"] paths: ["asset-transfer-basic/rest-api-typescript/**"] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: test-sample: runs-on: ${{ github.repository == 'hyperledger/fabric-samples' && 'fabric-ubuntu-22.04' || 'ubuntu-22.04' }} steps: - name: Checkout uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VER }} cache: "npm" cache-dependency-path: "**/package-lock.json" - name: Install REST Sample Dependencies working-directory: asset-transfer-basic/rest-api-typescript run: npm install - name: Build REST Sample Application run: npm run build working-directory: asset-transfer-basic/rest-api-typescript - name: Test REST Sample Application run: npm test working-directory: asset-transfer-basic/rest-api-typescript - name: Build REST Sample Docker Image run: docker build -t ghcr.io/hyperledger/fabric-rest-sample . working-directory: asset-transfer-basic/rest-api-typescript - name: Publish REST Sample Docker Image if: github.event_name == 'push' && (github.ref == 'refs/heads/main') run: | echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin docker push ghcr.io/hyperledger/fabric-rest-sample:latest working-directory: asset-transfer-basic/rest-api-typescript