Skip to content

sdist & wheel builds broken #12170

Closed

Activity

  1. pllim commented on Sep 15, 2021

    @pllim
    Member

    Why is the behavior different from CI?

  2. pllim commented on Sep 15, 2021

    @pllim
    Member

    Is it time to move this to Actions so everything is more consistent? I don't even know where to begin with this one.

  3. Cadair commented on Sep 15, 2021

    @Cadair
    MemberAuthor

    Even if this was moved to Actions the test environment is setup differently. i.e. these tests don't use tox, cibuildwheel or the pipelines script installs the dist and then runs pytest. So I don't think moving this to Actions would help at all.

  4. pllim commented on Sep 19, 2021

    @pllim
    Member

    I am guessing this is a blocker for 5.0 release? Who is going to fix this? Please assign that person to this issue. Thanks!

  5. added this to the v5.0 milestone on Sep 19, 2021
  6. eteq commented on Sep 20, 2021

    @eteq
    Member

    This is not an absolute blocker since in principle we can do this manually but... yeah, it's a huge pain that way. So definitely should try to get it fixed

  7. pllim commented on Oct 21, 2021

    @pllim
    Member

    @Cadair , the posted logs expired. Do you have updated link(s)? Thanks!

  8. Cadair commented on Oct 26, 2021

    @Cadair
    MemberAuthor

    With #12287 merged we are down to one test failure (from #11897): https://dev.azure.com/astropy-project/astropy/_build/results?buildId=2106&view=logs&j=f7656e4a-aab1-5409-7a28-08f0d640eba6&t=d1ac6189-42a2-5a09-839e-9c6a924261dc&l=554

    =================================== FAILURES ===================================
    ________________________ test_write_extra_SkyCoord_cols ________________________
    
        def test_write_extra_SkyCoord_cols():
            """
            Tests output for cases when table contains multiple ``SkyCoord``
            columns.
            """
            exp_output = '''\
        ================================================================================
        Byte-by-byte Description of file: table.dat
        --------------------------------------------------------------------------------
         Bytes Format Units  Label     Explanations
        --------------------------------------------------------------------------------
         1- 7  A7     ---    name    Description of name
         9-24  A16    ---    Unknown Description of Unknown
        26-29  F4.1   h      RAh     Right Ascension (hour)
        31-33  F3.1   min    RAm     Right Ascension (minute)
        35-52  F18.15 s      RAs     Right Ascension (second)
           54  A1     ---    DE-     Sign of Declination
        55-58  F5.1   deg    DEd     Declination (degree)
        60-63  F4.1   arcmin DEm     Declination (arcmin)
        65-80  F16.13 arcsec DEs     Declination (arcsec)
        --------------------------------------------------------------------------------
        Notes:
        --------------------------------------------------------------------------------
        HD81809 330.564 -61.6596 22.0 2.0 15.450000000007265 -61.0 39.0 34.5999960000006
        ''' # noqa: W291
            import pytest
            t = Table()
            t['name'] = ['HD81809']
            coord = SkyCoord(330.564375, -61.65961111, unit=u.deg)
            t['coord1'] = coord
            t['coord2'] = coord
            out = StringIO()
            with pytest.raises(UserWarning):
                t.write(out, format='ascii.cds')
                lines = out.getvalue().splitlines()
                i_bbb = lines.index('=' * 80)
                lines = lines[i_bbb:]  # Select Byte-By-Byte section and later lines.
                # Check the written table.
    >           assert lines == exp_output.splitlines()
    E           AssertionError: assert ['===========...me     ', ...] == ['===========...me     ', ...]
    E             At index 5 diff: '  1-  7  A7     ---    name    Description of name     ' != ' 1- 7  A7     ---    name    Description of name     '
    E             Left contains 6 more items, first extra item: '104-107  F4.1   arcmin DEm     Declination (arcmin)    '
    E             Use -v to get the full diff
    
    /opt/hostedtoolcache/Python/3.9.7/x64/lib/python3.9/site-packages/astropy/io/ascii/tests/test_cds.py:489: AssertionError
    
  9. taldcroft commented on Oct 26, 2021

    @taldcroft
    Member

    @Suyog7130 @hamogu @aaryapatil - any thoughts on this?

    @Cadair et al - is this possible to reproduce (or try reproducing) outside of the dist build system? Personally I have no idea even where to start if it is passing our CI.

  10. Cadair commented on Oct 26, 2021

    @Cadair
    MemberAuthor

    is this possible to reproduce (or try reproducing) outside of the dist build system

    You could try and run the test command in a clean venv with a fresh tarball installed (with the test extra). So something like:

    <clean venv>
    pip install build
    cd <astropy_checkout_dir>
    python -m build -s .
    pip install "dist/astropy-<...>.tar.gz[test]" 
    cd <anywhere_else>
    pytest -p no:warnings --astropy-header -k "not test_data_out_of_range and not test_datetime_difference_agrees_with_timedelta and not test_wcsapi_extension and not test_timedelta_datetime_roundtrip" --pyargs astropy
    

    that should get you close?

  11. Suyog7130 commented on Oct 26, 2021

    @Suyog7130
    Contributor

    Hi,
    It looks the behaviour of the function is a bit different in this particular case. Need to look up the full diff. However, the extra items may have risen if somehow the extra SkyCoord column is not bypassed. The expected behaviour is to bypass extra SkyCoord columns. Dunno why it shouldn't work in Azure, if CI gives no errors.

  12. Cadair commented on Oct 26, 2021

    @Cadair
    MemberAuthor

    Using the steps above I am able to reproduce this error locally. I have no idea why the normal CI using tox isn't hitting it.

  13. Cadair commented on Oct 26, 2021

    @Cadair
    MemberAuthor

    If it helps you debug it, this is the generated output vs the expected output prettified better than pytest does it:

    (Pdb) print("\n".join(lines))
    ================================================================================
    Byte-by-byte Description of file: table.dat
    --------------------------------------------------------------------------------
     Bytes Format Units  Label     Explanations
    --------------------------------------------------------------------------------
      1-  7  A7     ---    name    Description of name     
      9- 24  A16    ---    Unknown Description of Unknown  
     26- 28  F3.1   min    RAm     Right Ascension (minute)
     30- 44  F15.12 s      RAs     Right Ascension (second)
         46  A1     ---    DE-     Sign of Declination     
     47- 50  F5.1   deg    DEd     Declination (degree)    
     52- 55  F4.1   arcmin DEm     Declination (arcmin)    
     57- 71  F15.12 arcsec DEs     Declination (arcsec)    
     73- 76  F4.1   h      RAh     Right Ascension (hour)  
     78- 80  F3.1   min    RAm     Right Ascension (minute)
     82- 96  F15.12 s      RAs     Right Ascension (second)
         98  A1     ---    DE-     Sign of Declination     
     99-102  F5.1   deg    DEd     Declination (degree)    
    104-107  F4.1   arcmin DEm     Declination (arcmin)    
    109-123  F15.12 arcsec DEs     Declination (arcsec)    
    --------------------------------------------------------------------------------
    Notes:
    --------------------------------------------------------------------------------
    HD81809 330.564 -61.6596 2.0 15.450000000007 -61.0 39.0 34.599996000001 22.0 2.0 15.450000000007 -61.0 39.0 34.599996000001
    (Pdb) print(exp_output)
    ================================================================================
    Byte-by-byte Description of file: table.dat
    --------------------------------------------------------------------------------
     Bytes Format Units  Label     Explanations
    --------------------------------------------------------------------------------
     1- 7  A7     ---    name    Description of name     
     9-24  A16    ---    Unknown Description of Unknown  
    26-29  F4.1   h      RAh     Right Ascension (hour)  
    31-33  F3.1   min    RAm     Right Ascension (minute)
    35-52  F18.15 s      RAs     Right Ascension (second)
       54  A1     ---    DE-     Sign of Declination     
    55-58  F5.1   deg    DEd     Declination (degree)    
    60-63  F4.1   arcmin DEm     Declination (arcmin)    
    65-80  F16.13 arcsec DEs     Declination (arcsec)    
    --------------------------------------------------------------------------------
    Notes:
    --------------------------------------------------------------------------------
    HD81809 330.564 -61.6596 22.0 2.0 15.450000000007265 -61.0 39.0 34.5999960000006
    
  14. dhomeier commented on Oct 26, 2021

    @dhomeier
    Contributor

    If it helps you debug it, this is the generated output vs the expected output prettified better than pytest does it:

    The last line is a floating point comparison and should be treated as such; fails for me on macOS as well.
    EDIT: It does fail earlier on the multiple RA/Dec columns as above.

  15. dhomeier commented on Oct 26, 2021

    @dhomeier
    Contributor

    It looks the behaviour of the function is a bit different in this particular case. Need to look up the full diff. However, the extra items may have risen if somehow the extra SkyCoord column is not bypassed. The expected behaviour is to bypass extra SkyCoord columns. Dunno why it shouldn't work in Azure, if CI gives no errors.

    On the affected systems like @Cadair's or mine, or apparently azure, indeed both SkyCoord columns are created in full

    HD81809 330.564 -61.6596 2.0 15.450000000007 -61.0 39.0 34.599996000001 22.0 2.0 15.450000000007 -61.0 39.0 34.599996000001
    

    and repeated after the floating point values in the Unknown column.

  16. hamogu commented on Oct 26, 2021

    @hamogu
    Member

    It is certainly strange, but unfortunately, I won't have time today to look into it. I can try tomorrow.

  17. pllim commented on Oct 26, 2021

    @pllim
    Member

    Well, Stuart is going to fix the broken builds by ignoring this failing test for now. Please discuss it further at #12299 going forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions