# Copyright 2021 Collate # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: Maven CI on: push: branches: [main] paths: - "catalog-rest-service/**" - "openmetadata-ui/**" pull_request_target: branches: [main] paths: - "catalog-rest-service/**" - "openmetadata-ui/**" concurrency: group: maven-build-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: test: runs-on: ${{matrix.os}} strategy: matrix: os: - ubuntu-latest node-version: - 16.x steps: - name: install libssl run: | sudo su -c "echo 'deb http://security.ubuntu.com/ubuntu xenial-security main' >> /etc/apt/sources.list" sudo apt update sudo apt -y install libssl1.0.0 - name: Checkout uses: actions/checkout@v2 with: ref: ${{ github.event.pull_request.head.sha }} - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Setup Test Containers Properties run: echo 'testcontainers.reuse.enable=true' >> $HOME/.testcontainers.properties - name: Build PR with Maven env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} if: ${{ github.event_name == 'pull_request_target' }} run: | git fetch --no-tags https://github.com/open-metadata/OpenMetadata.git +refs/heads/main:refs/remotes/origin/main mvn -Dsonar.login=${{ secrets.SONAR_TOKEN }} \ -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} \ -Dsonar.pullrequest.branch=${{ github.head_ref }} \ -Dsonar.pullrequest.base=main \ -Dsonar.pullrequest.github.repository=OpenMetadata \ -Dsonar.scm.revision=${{ github.event.pull_request.head.sha }} \ -Dsonar.pullrequest.provider=github clean install - name: Build with Maven env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} if: ${{ github.event_name == 'push' }} run: mvn -Dsonar.login=${{ secrets.SONAR_TOKEN }} clean verify --batch-mode - name: Publish Test Report if: ${{ always() }} uses: scacap/action-surefire-report@v1 with: github_token: ${{ secrets.GITHUB_TOKEN }} fail_on_test_failures: true report_paths: 'catalog-rest-service/target/surefire-reports/TEST-*.xml'