Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] Not finding and uploading codecov files #620

Closed
jrzaurin opened this issue Sep 24, 2024 · 2 comments
Closed

[bug] Not finding and uploading codecov files #620

jrzaurin opened this issue Sep 24, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@jrzaurin
Copy link

jrzaurin commented Sep 24, 2024

What happened?

It might not be a bug and maybe more an issue with myself, but at this point I do not know what else to try

This is the look of the test and finish steps in my build.yaml file

  test:
    runs-on: ubuntu-latest
    if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }}
    strategy:
      fail-fast: true
      matrix:
        python-version: ["3.9", "3.10", "3.11"]
    steps:
    - uses: actions/checkout@v4
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v5
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install pytest-cov codecov faker
        if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
    - name: Test with pytest
      run: |
        pytest --doctest-modules pytorch_widedeep --cov-report xml --cov-report term --disable-pytest-warnings --cov=pytorch_widedeep tests/
    - name: Upload coverage
      uses: actions/upload-artifact@v4
      with:
        name: coverage${{ matrix.python-version }}
        path: .coverage

  finish:
    needs: test
    runs-on: ubuntu-latest
    if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }}
    steps:
    - uses: actions/checkout@v4
    - name: Set up Python 3.10
      uses: actions/setup-python@v5
      with:
        python-version: "3.10"
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install coverage
    - name: Download all artifacts
      # Downloads coverage1, coverage2, etc.
      uses: actions/download-artifact@v4
    - name: Convert coverage
      run: |
        coverage combine coverage*/.coverage*
        coverage report --fail-under=90
        coverage xml
    - name: upload coverage to Codecov
      uses: codecov/codecov-action@v4
      with:
        token: ${{ secrets.CODECOV_TOKEN }}
        fail_ci_if_error: true

This has worked for me until now, that when I run I get the error shown in the screen capture, no files are found in the provided path. Here are the two screen captures that are relevant

Screenshot 2024-09-24 at 12 37 57 Screenshot 2024-09-24 at 12 39 13

What did you expect to happen?

Files are uploaded and downloaded and coverage reported for the library

How can we reproduce it?

I guess the only way would be to fork the library, open a branch and a corresponding PR. If anyone does that I would suggest testing only one python version and one test folder

Anything else we need to know?

I have tried a number of things

  1. downgrading to v3 (actions/upload-artifact@v3 and actions/download-artifact@v4
  2. I placed a debug step and found that no files were found in the specified path. So nothing was uploaded (and therefore downloaded). I then specified the data_file field in the .coveragerc file, but obtained the same result
  3. Finally I have tried this:
name: pytorch-widedeep

on:
  push:
    branches:
      - master
  pull_request:
    branches:
      - master

jobs:
  codestyle:
    # ..

  test:
    runs-on: ubuntu-latest
    if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }}
    strategy:
      fail-fast: true
      matrix:
        python-version: ["3.9", "3.10", "3.11"]
    steps:
    - uses: actions/checkout@v4
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v5
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install pytest-cov codecov faker
        if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
    - name: Set coverage directory
      run: echo "COVERAGE_DIR=./coverage_data" >> $GITHUB_ENV
    - name: Test with pytest
      run: |
        mkdir -p $COVERAGE_DIR
        pytest --doctest-modules pytorch_widedeep --cov-report xml:$COVERAGE_DIR/coverage.xml --cov-report term --disable-pytest-warnings --cov=pytorch_widedeep tests/ --cov-config=.coveragerc
    - name: Debug - List files
      run: |
        echo "Contents of the current directory:"
        ls -la
        echo "Contents of the coverage directory:"
        ls -la $COVERAGE_DIR
    - name: Upload coverage
      uses: actions/upload-artifact@v4
      with:
        name: coverage-${{ matrix.python-version }}
        path: ${{ env.COVERAGE_DIR }}
        if-no-files-found: error

  finish: 
    needs: test
    runs-on: ubuntu-latest
    if: ${{ github.event_name == 'push' || !github.event.pull_request.draft }}
    steps:
    - uses: actions/checkout@v4
    - name: Set up Python 3.10
      uses: actions/setup-python@v5
      with:
        python-version: "3.10"
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        python -m pip install coverage
    - name: Download all artifacts
      uses: actions/download-artifact@v4
      with:
        path: coverage-files
    - name: Debug - List downloaded files
      run: |
        echo "Contents of the coverage-files directory:"
        ls -R coverage-files
    - name: Convert coverage
      run: |
        coverage combine coverage-files/*/.coverage
        coverage xml
        coverage report --fail-under=90
    - name: upload coverage to Codecov
      uses: codecov/codecov-action@v4
      with:
        token: ${{ secrets.CODECOV_TOKEN }}
        fail_ci_if_error: true

which did not work either and exited in the line

if-no-files-found: error

again saying no files have been found.

At this point, any help is appreciated

What version of the action are you using?

v4

What are your runner environments?

linux

Are you on GitHub Enterprise Server? If so, what version?

No response

@jrzaurin jrzaurin added the bug Something isn't working label Sep 24, 2024
@cbueth
Copy link

cbueth commented Sep 25, 2024

This is due to the include-hidden-files: false behaviour which has been added in the last release, see #607.
Further discussion in #610.

@jrzaurin
Copy link
Author

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants