name: oran-functional-test-case-verify on: workflow_dispatch: # For Branch-Protection check. Only the default branch is supported. See # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection inputs: GERRIT_BRANCH: description: 'Branch that change is against' required: true type: string GERRIT_CHANGE_ID: description: 'The ID for the change' required: true type: string GERRIT_CHANGE_NUMBER: description: 'The Gerrit number' required: true type: string GERRIT_CHANGE_URL: description: 'URL to the change' required: true type: string GERRIT_EVENT_TYPE: description: 'Gerrit event type' required: true type: string GERRIT_PATCHSET_NUMBER: description: 'The patch number for the change' required: true type: string GERRIT_PATCHSET_REVISION: description: 'The revision sha' required: true type: string GERRIT_PROJECT: description: 'Project in Gerrit' required: true type: string GERRIT_REFSPEC: description: 'Gerrit refspec of change' required: true type: string concurrency: group: ${{ github.event.inputs.GERRIT_CHANGE_ID || github.run_id }} cancel-in-progress: true jobs: notify: runs-on: ubuntu-latest steps: - name: Notify job start # yamllint disable-line rule:line-length uses: lfit/gerrit-review-action@v0.8 with: host: ${{ vars.GERRIT_SERVER }} username: ${{ vars.GERRIT_SSH_USER }} key: ${{ secrets.GERRIT_SSH_PRIVKEY }} known_hosts: ${{ vars.GERRIT_KNOWN_HOSTS }} gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }} gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }} comment-only: true - name: Allow replication run: sleep 10s ftc-run: needs: notify runs-on: ubuntu-latest steps: # Step 1: Checkout the repository to build - name: Checkout ccsdk-oran Maven Project Repository uses: lfit/checkout-gerrit-change-action@v0.9 with: gerrit-refspec: ${{ inputs.GERRIT_REFSPEC }} gerrit-url: ${{ inputs.GERRIT_CHANGE_URL }} gerrit-project: ${{ inputs.GERRIT_PROJECT }} ref: ${{ inputs.GERRIT_BRANCH }} # Step 2: Set up JDK for Maven - name: Set up JDK 17 uses: actions/setup-java@v3 with: java-version: '17' distribution: 'temurin' # Or 'zulu' or 'adopt' # Step 3: Run Maven build - name: Build a1-policy-management image with Maven run: | cd a1-policy-management mvn clean install -Dmaven.test.skip=true # Step 4: Run FTC on new a1-policy review - name: Run FTC tests with the local a1-policy image run: | git clone https://gerrit.o-ran-sc.org/r/nonrtric cd nonrtric/test/auto-test chmod +x ./onap-verify-jobs.sh sudo bash ./onap-verify-jobs.sh # Step 5: uploading the logs - name: uploading the logs uses: actions/upload-artifact@v4 with: name: FTC-Logs retention-days: 3 path: nonrtric/test/auto-test/logs report-status: if: ${{ always() }} needs: [ notify, ftc-run ] runs-on: ubuntu-latest steps: - name: Get workflow conclusion uses: technote-space/workflow-conclusion-action@v3 - name: Report workflow conclusion # yamllint disable-line rule:line-length uses: lfit/gerrit-review-action@v0.8 with: host: ${{ vars.GERRIT_SERVER }} username: ${{ vars.GERRIT_SSH_USER }} key: ${{ secrets.GERRIT_SSH_PRIVKEY }} known_hosts: ${{ vars.GERRIT_KNOWN_HOSTS }} gerrit-change-number: ${{ inputs.GERRIT_CHANGE_NUMBER }} gerrit-patchset-number: ${{ inputs.GERRIT_PATCHSET_NUMBER }} vote-type: ${{ env.WORKFLOW_CONCLUSION }} comment-only: true