diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66cd8eb636..b13dc55b3d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: strategy: fail-fast: false matrix: - BACKEND: [ memory, cassandra, scylladb, hbase, rocksdb, mysql, postgresql, hstore ] + BACKEND: [ memory, cassandra, scylladb, hbase, rocksdb, mysql, postgresql ] JAVA_VERSION: [ '11' ] steps: diff --git a/.github/workflows/pd-store.yml b/.github/workflows/pd-store.yml new file mode 100644 index 0000000000..62898c3628 --- /dev/null +++ b/.github/workflows/pd-store.yml @@ -0,0 +1,90 @@ +name: "pd-store" + +on: + push: + branches: + - master + - 'release-*' + - 'test-*' + pull_request: + +jobs: + build: + runs-on: ubuntu-20.04 + env: + USE_STAGE: 'true' # Whether to include the stage repository. + TRAVIS_DIR: hugegraph-server/hugegraph-dist/src/assembly/travis + REPORT_DIR: target/site/jacoco + BACKEND: hstore + TRIGGER_BRANCH_NAME: ${{ github.ref_name }} + HEAD_BRANCH_NAME: ${{ github.head_ref }} + BASE_BRANCH_NAME: ${{ github.base_ref }} + TARGET_BRANCH_NAME: ${{ github.base_ref != '' && github.base_ref || github.ref_name }} + RELEASE_BRANCH: ${{ startsWith(github.ref_name, 'release-') || startsWith(github.ref_name, 'test-') || startsWith(github.base_ref, 'release-') }} + + steps: + - name: Install JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'zulu' + + - name: Cache Maven packages + uses: actions/cache@v3 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 2 + + - name: use staged maven repo settings + if: ${{ env.USE_STAGE == 'true' }} + run: | + cp $HOME/.m2/settings.xml /tmp/settings.xml + mv -vf .github/configs/settings.xml $HOME/.m2/settings.xml + + - name: Package + run: | + mvn clean package -U -Dmaven.javadoc.skip=true -Dmaven.test.skip=true -ntp + + - name: Prepare env and service + run: | + $TRAVIS_DIR/install-backend.sh $BACKEND + + - name: Install JDK ${{ matrix.JAVA_VERSION }} + uses: actions/setup-java@v3 + with: + overwrite-settings: false + java-version: ${{ matrix.JAVA_VERSION }} + distribution: 'zulu' + + - name: Run unit test + run: | + $TRAVIS_DIR/run-unit-test.sh $BACKEND + + - name: Run core test + run: | + $TRAVIS_DIR/run-core-test.sh $BACKEND + + - name: Run api test + run: | + $TRAVIS_DIR/run-api-test.sh $BACKEND $REPORT_DIR + + - name: Run raft test + if: ${{ env.BACKEND == 'rocksdb' }} + run: | + $TRAVIS_DIR/run-api-test-for-raft.sh $BACKEND $REPORT_DIR + + - name: Run TinkerPop test + if: ${{ env.RELEASE_BRANCH == 'true' }} + run: | + $TRAVIS_DIR/run-tinkerpop-test.sh $BACKEND tinkerpop + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3.0.0 + with: + file: ${{ env.REPORT_DIR }}/*.xml