Skip to content

Commit

Permalink
Merge pull request #29 from xenserver-next/coveralls-finish-parallel-…
Browse files Browse the repository at this point in the history
…upload

Coveralls: finish parallel upload
  • Loading branch information
bernhardkaindl authored Jun 27, 2024
2 parents f25cee6 + a0391b8 commit 94681f5
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 38 deletions.
34 changes: 7 additions & 27 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -168,13 +168,7 @@ coverage:
# - excluding: **/test_*.py
#
paths: ["python3/**", "!**/test_*.py"]

#
# For python3/** (excluding tests):
#
# For python3, coverage should not be reduced compared to its base:
#
target: auto
target: 80%

#
# Exception: the threshold value given is allowed
Expand All @@ -183,12 +177,6 @@ coverage:
#
threshold: 20%

# Checks each Python version separately:
python-3.11:
flags: ["python3.11"]
python-2.7:
flags: ["python2.7"]

#
# Project limits
# --------------
Expand Down Expand Up @@ -218,7 +206,7 @@ coverage:
tests:
# Ensure that all tests are executed (tests themselves must be 100% covered)
target: 98%
paths: ["**/test_*.py"]
paths: ["python3/tests/test_*.py"]


#
Expand All @@ -235,24 +223,15 @@ component_management:
- type: project
# `auto` will use the coverage from the base commit (pull request base
# or parent commit) coverage to compare against.
target: auto
target: 48
threshold: 2%

- type: patch
target: auto
threshold: 10%
target: 80
threshold: 5%

individual_components:

- component_id: scripts # this is an identifier that should not be changed
name: scripts # this is a display name, and can be changed freely
# The list of paths that should be in- and excluded in this component:
paths: ["scripts/**", "!scripts/examples/**", "!**/test_*.py"]

- component_id: scripts/examples
name: scripts/examples
paths: ["scripts/examples/**", "!scripts/**/test_*.py"]

- component_id: ocaml
name: ocaml
paths: ["ocaml/**", "!**/test_*.py"]
Expand All @@ -270,4 +249,5 @@ component_management:

- component_id: test_cases
name: test_cases
paths: ["**/test_*.py"]
paths: ["python3/tests/test_*.py"]

8 changes: 8 additions & 0 deletions .github/workflows/generate-and-build-sdks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,14 @@ jobs:
name: SDK_Source_PowerShell
path: _build/install/default/xapi/sdk/powershell/*

- name: Store Go SDK Artifacts
uses: actions/upload-artifact@v4
with:
name: SDK_Artifacts_Go
path: |
_build/install/default/xapi/sdk/go/*
!_build/install/default/xapi/sdk/go/dune
- name: Trim dune cache
run: opam exec -- dune cache trim --size=2GiB

Expand Down
31 changes: 20 additions & 11 deletions .github/workflows/other.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
- name: Install common dependencies for Python ${{matrix.python-version}}
run: pip install future mock pytest-coverage pytest-mock

- name: Run Pytest for python 2 and get code coverage for Codecov
- name: Run Pytest for python 2 and get code coverage
if: ${{ matrix.python-version == '2.7' }}
run: >
pytest
Expand All @@ -68,7 +68,7 @@ jobs:
env:
PYTHONDEVMODE: yes

- name: Run Pytest for python 3 and get code coverage for Codecov
- name: Run Pytest for python 3 and get code coverage
if: ${{ matrix.python-version != '2.7' }}
run: >
pytest
Expand All @@ -80,16 +80,13 @@ jobs:
env:
PYTHONDEVMODE: yes

- name: Upload Python ${{matrix.python-version}} coverage report to Codecov
uses: codecov/codecov-action@v3
- name: Upload coverage report to Coveralls
uses: coverallsapp/github-action@v2
with:
directory: .git
files: coverage${{matrix.python-version}}.xml
env_vars: OS,PYTHON
fail_ci_if_error: false
flags: python${{matrix.python-version}}
name: coverage${{matrix.python-version}}
verbose: true
format: cobertura
files: .git/coverage${{matrix.python-version}}.xml
flag-name: python${{matrix.python-version}}
parallel: true

- uses: dciborow/[email protected]
if: ${{ matrix.python-version != '2.7' }}
Expand All @@ -114,6 +111,18 @@ jobs:
github_token: ${{ secrets.github_token }}
continue-on-error: true

# For coverage of 2.7 and 3.11 we upload to Coveralls in parallel mode.
# To view the Coveralls results of the PR, click on the "Details" link to the right
# of the Coveralls Logo in the Checks section of the PR.
finish-parallel-coveralls-upload:
needs: python-test # run after the python-test has completed uploading coverages
runs-on: ubuntu-latest
steps:
- name: Finish the parallel coverage upload to Coveralls
uses: coverallsapp/github-action@v1
with:
parallel-finished: true

deprecation-test:
name: Deprecation tests
runs-on: ubuntu-22.04
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,12 @@ jobs:
runs-on: ubuntu-latest
needs: [build-python, build-sdks]
steps:
- name: Retrieve Go SDK distribution artifacts
uses: actions/download-artifact@v4
with:
name: SDK_Artifacts_Go
path: sdk_go/

- name: Retrieve Python SDK distribution artifacts
uses: actions/download-artifact@v4
with:
Expand Down Expand Up @@ -93,12 +99,17 @@ jobs:
shell: bash
run: zip PowerShell-SDK-7.x-prerelease-unsigned.zip ./sdk_powershell_7x -r

- name: Zip Go SDK artifacts for deployment
shell: bash
run: zip Go-SDK-prerelease-unsigned.zip ./sdk_go -r

- name: Create release ${{ github.ref_name }}
shell: bash
run: |
gh release create ${{ github.ref_name }} --repo ${{ github.repository }} --generate-notes dist/* \
PowerShell-SDK-5.x-prerelease-unsigned.zip \
PowerShell-SDK-7.x-prerelease-unsigned.zip \
Go-SDK-prerelease-unsigned.zip \
libxenserver-prerelease.tar.gz libxenserver-prerelease.src.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
8 changes: 8 additions & 0 deletions ocaml/xapi-storage-script/main.ml
Original file line number Diff line number Diff line change
Expand Up @@ -1046,6 +1046,10 @@ let bind ~volume_script_dir =
Healthy
| Xapi_storage.Control.Recovering _ ->
Recovering
| Xapi_storage.Control.Unreachable _ ->
Unreachable
| Xapi_storage.Control.Unavailable _ ->
Unavailable
)
}
in
Expand Down Expand Up @@ -1405,6 +1409,10 @@ let bind ~volume_script_dir =
Healthy
| Xapi_storage.Control.Recovering _ ->
Recovering
| Xapi_storage.Control.Unreachable _ ->
Unreachable
| Xapi_storage.Control.Unavailable _ ->
Unavailable
)
}
)
Expand Down
4 changes: 4 additions & 0 deletions ocaml/xapi-storage/generator/lib/control.ml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ type health =
| Healthy of string (** Storage is fully available *)
| Recovering of string
(** Storage is busy recovering, e.g. rebuilding mirrors *)
| Unreachable of string
(** Storage is unreachable but may be recoverable with admin intervention *)
| Unavailable of string
(** Storage is unavailable, a host reboot will be required *)
[@@deriving rpcty]

type volume_type =
Expand Down

0 comments on commit 94681f5

Please sign in to comment.