-
Notifications
You must be signed in to change notification settings - Fork 68
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
3 changed files
with
124 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
name: Run tests, measure coverage and upload results to codecov | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
pr_number: | ||
description: Enter PR number coming from community to run coverage on it. Do not run for PR coming from hazelcast organization, they will be run automatically. | ||
required: true | ||
push: | ||
branches: | ||
- master | ||
- '[45].*.z' | ||
pull_request_target: | ||
branches: | ||
- master | ||
- '[45].*.z' | ||
types: | ||
[opened] | ||
|
||
jobs: | ||
check_for_membership: | ||
runs-on: ubuntu-latest | ||
name: Check membership of given user | ||
outputs: | ||
check-result: ${{ steps.composite.outputs.check-result }} | ||
steps: | ||
- name: Action for membership check | ||
id: composite | ||
uses: hazelcast/hazelcast-tpm/membership@main | ||
with: | ||
organization-name: 'hazelcast' | ||
member-name: ${{ github.event.pull_request.head.repo.owner.login }} | ||
token: ${{ secrets.PAT }} | ||
|
||
run-tests: | ||
runs-on: ${{ matrix.os }} | ||
needs: [check_for_membership] | ||
if: github.event_name == 'push' || needs.check_for_membership.outputs.check-result == 'true' || github.event_name == 'workflow_dispatch' | ||
name: Run tests with Python ${{ matrix.python-version }} on ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
python-version: [ '3.6', '3.10' ] | ||
os: [ ubuntu-latest, windows-latest ] | ||
fail-fast: false | ||
|
||
steps: | ||
- name: Setup Python | ||
uses: actions/setup-python@v2 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Install JDK | ||
uses: actions/setup-java@v2 | ||
with: | ||
distribution: 'adopt' | ||
java-version: '8' | ||
|
||
- name: Checkout code for PR | ||
if: github.event_name == 'pull_request_target' | ||
uses: actions/checkout@v2 | ||
with: | ||
ref: refs/pull/${{ github.event.pull_request.number }}/merge | ||
|
||
- name: Checkout repository for push event | ||
if: github.event_name == 'push' | ||
uses: actions/checkout@v2 | ||
|
||
- name: Checkout PR coming from community. | ||
if: github.event_name == 'workflow_dispatch' | ||
uses: actions/checkout@v2 | ||
with: | ||
ref: refs/pull/${{ github.event.inputs.pr_number }}/merge | ||
|
||
- name: Install dependencies | ||
run: | | ||
pip install -r requirements-test.txt | ||
- name: Run tests | ||
env: | ||
HAZELCAST_ENTERPRISE_KEY: ${{ secrets.HAZELCAST_ENTERPRISE_KEY }} | ||
run: python run_tests.py | ||
|
||
- name: Publish results to Codecov for PR coming from hazelcast organization | ||
if: ${{ matrix.python-version == '3.10' && matrix.os == 'ubuntu-latest' && github.event_name == 'pull_request_target' }} | ||
uses: codecov/codecov-action@v1 | ||
with: | ||
files: ./coverage.xml | ||
override_pr: ${{ github.event.pull_request.number }} | ||
|
||
- name: Publish results to Codecov for Push | ||
if: ${{ matrix.python-version == '3.10' && matrix.os == 'ubuntu-latest' && github.event_name == 'push' }} | ||
uses: codecov/codecov-action@v1 | ||
with: | ||
files: ./coverage.xml | ||
|
||
- name: Publish result to Codecov for PR coming from community | ||
if: ${{ matrix.python-version == '3.10' && matrix.os == 'ubuntu-latest' && github.event_name == 'workflow_dispatch' }} | ||
uses: codecov/codecov-action@v1 | ||
with: | ||
files: ./coverage.xml | ||
override_pr: ${{ github.event.inputs.pr_number }} | ||
|
||
- name: Upload remote controller logs if test run fails | ||
uses: actions/upload-artifact@v2 | ||
if: failure() | ||
with: | ||
name: rc-logs-${{ matrix.python-version }}-${{ matrix.os }} | ||
path: | | ||
rc_stderr.log | ||
rc_stdout.log | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters