Skip to content

build(deps): bump pytest-cov from 5.0.0 to 6.0.0 #247

build(deps): bump pytest-cov from 5.0.0 to 6.0.0

build(deps): bump pytest-cov from 5.0.0 to 6.0.0 #247

Workflow file for this run

name: 'Continuous Testing'
on:
push:
pull_request: # Need to have coverallsapp action comment in the pull_request
permissions:
contents: read
jobs:
test-script:
name: Script Tests
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
contents: write
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
- name: Install Test Tool
id: install-bats
run: pip install -r ./test/requirements.txt
- name: Install Dependencies
id: install-jinja2
run: pip install -r ./requirements.txt
- name: Test
id: script-test
# Add option `-html=report.html --self-contained-html` to pytest to get html output if need on test
# Add `coverage html` command to get html output on coverage if needed
run: |
pytest --cov --junitxml report.xml
coverage xml
- name: Publish Coverage Report to Coveralls.io
id: coverage
if: always() && hashFiles('coverage.xml') != ''
uses: coverallsapp/github-action@v2
- name: Code Coverage Report
uses: irongut/[email protected]
if: always() && hashFiles('coverage.xml') != ''
with:
filename: coverage.xml
badge: true
fail_below_min: true
format: markdown
hide_branch_rate: true
hide_complexity: true
indicators: true
output: both
thresholds: '60 80'
# As irongut/CodeCoverageSummary does not support file by file mode, add it
# See https://github.com/irongut/CodeCoverageSummary/issues/236
- name: Write Coverage to Job Summary
run: |
cat code-coverage-results.md > my-code-coverage-results.md
echo "\`\`\`" >> my-code-coverage-results.md
coverage report >> my-code-coverage-results.md
echo "\`\`\`" >> my-code-coverage-results.md
cat my-code-coverage-results.md >> $GITHUB_STEP_SUMMARY
- name: Add Coverage PR Comment
uses: marocchino/sticky-pull-request-comment@v2
if: github.event_name == 'pull_request'
with:
recreate: true
path: my-code-coverage-results.md
- name: Testspace client install & config
id: testspace_init
if: always() && hashFiles('report.xml') != ''
uses: testspace-com/setup-testspace@v1
with:
domain: ${{github.repository_owner}}
- name: Testspace push test content
if: always() && (steps.testspace_init.outcome == 'success')
run: |
output=$(testspace "[Unit Tests]report.xml" --link=coveralls)
REGEX="(https://[a-z0-9]+.testspace.com/spaces/[0-9]+/result_sets/[0-9]+)"
[[ $output =~ $REGEX ]]
result_set_link="${BASH_REMATCH[1]}"
echo "[TestSpace Test Result set]($result_set_link)" >> $GITHUB_STEP_SUMMARY
- name: Publish Test Results in GitHub
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
files: report.xml
check_name: 'Unit Test Results'
test-action-matrix:
name: Test With Matrix
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
strategy:
matrix:
test: [1]
env:
VAR_TEST1_VALUE: mytest
VAR_TEST2_VALUE: isfunny
FILE_KEY_1_VALUE: myfile
FILE_KEY_2_VALUE: isused
TEST: integ
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
- name: Install bats
id: install-bats
run: ./test/install_bats.sh
- name: Prepare Test File
run: |
echo "exemple:" > test-data.yml
echo " FILE_KEY_1: ${{ env.FILE_KEY_1_VALUE }}" >> test-data.yml
echo " FILE_KEY_2: ${{ env.FILE_KEY_2_VALUE }}" >> test-data.yml
echo "{{ github.repository }}" > all_test.j2
echo "${{ github.repository }}" > expected
echo "{{ github.repository_owner }}" >> all_test.j2
echo "${{ github.repository_owner }}" >> expected
echo "{{ github.event.repository.license.key }}" >> all_test.j2
echo "${{ github.event.repository.license.key }}" >> expected
echo "{{ job.status }}" >> all_test.j2
echo "${{ job.status }}" >> expected
echo "{{ runner.os }}" >> all_test.j2
echo "${{ runner.os }}" >> expected
echo "{{ strategy.job_index }}" >> all_test.j2
echo "${{ strategy.job-index }}" >> expected
echo "{{ matrix.test }}" >> all_test.j2
echo "${{ matrix.test }}" >> expected
echo "{{ environ('TEST') }}" >> all_test.j2
echo "${{ env.TEST }}" >> expected
echo "{{ TEST1 }}" >> all_test.j2
echo "${{ env.VAR_TEST1_VALUE }}" >> expected
echo "{{ TEST2 }}" >> all_test.j2
echo "${{ env.VAR_TEST2_VALUE }}" >> expected
echo "{{ env.TEST }}" >> all_test.j2
echo "${{ env.TEST }}" >> expected
echo "{{ exemple.FILE_KEY_1 }}" >> all_test.j2
echo "${{ env.FILE_KEY_1_VALUE }}" >> expected
echo "{{ exemple.FILE_KEY_2 }}" >> all_test.j2
echo "${{ env.FILE_KEY_2_VALUE }}" >> expected
echo "" >> all_test.j2
cat all_test.j2
cat expected
- name: Test Local Action
id: test-action
uses: ./
with:
#keep_template: true
data_file: test-data.yml
data_format: yaml
variables: |
TEST1=${{ env.VAR_TEST1_VALUE }}
TEST2=${{ env.VAR_TEST2_VALUE }}
- name: Check If Template file is managed
id: test-action-result
run: |
./test/bats/bin/bats --report-formatter junit test/test_action.bats
- name: Testspace client install & config
id: testspace_init
if: always() && hashFiles('report.xml') != ''
uses: testspace-com/setup-testspace@v1
with:
domain: ${{github.repository_owner}}
- name: Testspace push test content
if: always() && (steps.test-action-result.outcome == 'success')
run: |
testspace "[Integ Tests/With Matrix]report.xml"
- name: Publish Test Results in GitHub
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
files: report.xml
check_name: 'Integ Test Results'
test-action-no-matrix:
name: Test Without Matrix
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
env:
VAR_TEST1_VALUE: mytest
VAR_TEST2_VALUE: isfunny
FILE_KEY_1_VALUE: myfile
FILE_KEY_2_VALUE: isused
TEST: integ
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
- name: Install bats
id: install-bats
run: ./test/install_bats.sh
- name: Prepare Test File
run: |
echo "exemple:" > test-data.yml
echo " FILE_KEY_1: ${{ env.FILE_KEY_1_VALUE }}" >> test-data.yml
echo " FILE_KEY_2: ${{ env.FILE_KEY_2_VALUE }}" >> test-data.yml
echo "{{ github.repository }}" > all_test.j2
echo "${{ github.repository }}" > expected
echo "{{ github.repository_owner }}" >> all_test.j2
echo "${{ github.repository_owner }}" >> expected
echo "{{ github.event.repository.license.key }}" >> all_test.j2
echo "${{ github.event.repository.license.key }}" >> expected
echo "{{ job.status }}" >> all_test.j2
echo "${{ job.status }}" >> expected
echo "{{ runner.os }}" >> all_test.j2
echo "${{ runner.os }}" >> expected
echo "{{ strategy.job_index }}" >> all_test.j2
echo "${{ strategy.job-index }}" >> expected
echo "{{ environ('TEST') }}" >> all_test.j2
echo "${{ env.TEST }}" >> expected
echo "{{ TEST1 }}" >> all_test.j2
echo "${{ env.VAR_TEST1_VALUE }}" >> expected
echo "{{ TEST2 }}" >> all_test.j2
echo "${{ env.VAR_TEST2_VALUE }}" >> expected
echo "{{ env.TEST }}" >> all_test.j2
echo "${{ env.TEST }}" >> expected
echo "{{ exemple.FILE_KEY_1 }}" >> all_test.j2
echo "${{ env.FILE_KEY_1_VALUE }}" >> expected
echo "{{ exemple.FILE_KEY_2 }}" >> all_test.j2
echo "${{ env.FILE_KEY_2_VALUE }}" >> expected
echo "" >> all_test.j2
cat all_test.j2
cat expected
- name: Test Local Action
id: test-action
uses: ./
with:
#keep_template: true
data_file: test-data.yml
data_format: yaml
variables: |
TEST1=${{ env.VAR_TEST1_VALUE }}
TEST2=${{ env.VAR_TEST2_VALUE }}
- name: Check If Template file is managed
id: test-action-result
run: |
./test/bats/bin/bats --report-formatter junit test/test_action.bats
- name: Testspace client install & config
id: testspace_init
if: always() && hashFiles('report.xml') != ''
uses: testspace-com/setup-testspace@v1
with:
domain: ${{github.repository_owner}}
- name: Testspace push test content
if: always() && (steps.test-action-result.outcome == 'success')
run: |
testspace "[Integ Tests/Without Matrix]report.xml"
- name: Publish Test Results in GitHub
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
files: report.xml
check_name: 'Integ Test Results'