| 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 |