tvalentyn commented on PR #34208: URL: https://github.com/apache/beam/pull/34208#issuecomment-2737358235
The logs are a bit painful to dig through, but seeing this: ``` 2025-03-13T19:47:11.3815653Z =================================== FAILURES =================================== 2025-03-13T19:47:11.3818275Z ________________________ StagerTest.test_files_to_stage ________________________ 2025-03-13T19:47:11.3820773Z [gw0] linux -- Python 3.9.21 /runner/_work/beam/beam/sdks/python/test-suites/tox/py39/build/srcs/sdks/python/target/.tox-py39/py39/bin/python 2025-03-13T19:47:11.3823360Z 2025-03-13T19:47:11.3824705Z self = <apache_beam.runners.portability.stager_test.StagerTest testMethod=test_files_to_stage> 2025-03-13T19:47:11.3826190Z 2025-03-13T19:47:11.3826723Z def test_files_to_stage(self): 2025-03-13T19:47:11.3829344Z staging_dir = self.make_temp_dir() 2025-03-13T19:47:11.3832503Z source_dir = self.make_temp_dir() 2025-03-13T19:47:11.3834541Z 2025-03-13T19:47:11.3836213Z foo_ca = os.path.join(source_dir, 'foo.ca') 2025-03-13T19:47:11.3838552Z self.create_temp_file(foo_ca, 'ca content') 2025-03-13T19:47:11.3840929Z test_txt = os.path.join(source_dir, 'test.txt') 2025-03-13T19:47:11.3843499Z self.create_temp_file(test_txt, 'test content') 2025-03-13T19:47:11.3845079Z files_to_stage = ','.join([foo_ca, test_txt]) 2025-03-13T19:47:11.3847306Z options = PipelineOptions() 2025-03-13T19:47:11.3849055Z self.update_options(options) 2025-03-13T19:47:11.3850985Z options.view_as(SetupOptions).files_to_stage = files_to_stage 2025-03-13T19:47:11.3852461Z 2025-03-13T19:47:11.3853584Z self.assertEqual( 2025-03-13T19:47:11.3854856Z ['foo.ca', 'test.txt', stager.SUBMISSION_ENV_DEPENDENCIES_FILE], 2025-03-13T19:47:11.3857036Z > self.stager.create_and_stage_job_resources( 2025-03-13T19:47:11.3858954Z options, staging_location=staging_dir)[1]) 2025-03-13T19:47:11.3859776Z 2025-03-13T19:47:11.3860425Z apache_beam/runners/portability/stager_test.py:446: 2025-03-13T19:47:11.3861756Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2025-03-13T19:47:11.3864703Z target/.tox-py39/py39/lib/python3.9/site-packages/apache_beam/runners/portability/stager.py:473: in create_and_stage_job_resources 2025-03-13T19:47:11.3867274Z staged_resources = self.stage_job_resources( 2025-03-13T19:47:11.3871029Z target/.tox-py39/py39/lib/python3.9/site-packages/apache_beam/runners/portability/stager.py:419: in stage_job_resources 2025-03-13T19:47:11.3872197Z self.stage_artifact( 2025-03-13T19:47:11.3873064Z apache_beam/runners/portability/stager_test.py:872: in stage_artifact 2025-03-13T19:47:11.3875318Z shutil.copyfile(local_path_to_artifact, artifact_name) 2025-03-13T19:47:11.3877725Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2025-03-13T19:47:11.3879358Z 2025-03-13T19:47:11.3880198Z src = '/' 2025-03-13T19:47:11.3883788Z dst = '/runner/_work/beam/beam/sdks/python/test-suites/tox/py39/build/srcs/sdks/python/target/.tox-py39/py39/tmp/tmp_ql9ukkm/tmpipf9odwi/' 2025-03-13T19:47:11.3886848Z 2025-03-13T19:47:11.3887635Z def copyfile(src, dst, *, follow_symlinks=True): 2025-03-13T19:47:11.3889620Z """Copy data from src to dst in the most efficient way possible. 2025-03-13T19:47:11.3891616Z 2025-03-13T19:47:11.3893647Z If follow_symlinks is not set and src is a symbolic link, a new 2025-03-13T19:47:11.3897752Z symlink will be created instead of copying the file it points to. 2025-03-13T19:47:11.3900118Z 2025-03-13T19:47:11.3901504Z """ 2025-03-13T19:47:11.3903384Z sys.audit("shutil.copyfile", src, dst) 2025-03-13T19:47:11.3905493Z 2025-03-13T19:47:11.3906932Z if _samefile(src, dst): 2025-03-13T19:47:11.3909438Z raise SameFileError("{!r} and {!r} are the same file".format(src, dst)) 2025-03-13T19:47:11.3911690Z 2025-03-13T19:47:11.3913141Z file_size = 0 2025-03-13T19:47:11.3914729Z for i, fn in enumerate([src, dst]): 2025-03-13T19:47:11.3916615Z try: 2025-03-13T19:47:11.3919122Z st = _stat(fn) 2025-03-13T19:47:11.3920134Z except OSError: 2025-03-13T19:47:11.3920907Z # File most likely does not exist 2025-03-13T19:47:11.3921769Z pass 2025-03-13T19:47:11.3923362Z else: 2025-03-13T19:47:11.3925363Z # XXX What about other special files? (sockets, devices...) 2025-03-13T19:47:11.3927687Z if stat.S_ISFIFO(st.st_mode): 2025-03-13T19:47:11.3929880Z fn = fn.path if isinstance(fn, os.DirEntry) else fn 2025-03-13T19:47:11.3932269Z raise SpecialFileError("`%s` is a named pipe" % fn) 2025-03-13T19:47:11.3934053Z if _WINDOWS and i == 0: 2025-03-13T19:47:11.3936113Z file_size = st.st_size 2025-03-13T19:47:11.3939119Z 2025-03-13T19:47:11.3940984Z if not follow_symlinks and _islink(src): 2025-03-13T19:47:11.3943201Z os.symlink(os.readlink(src), dst) 2025-03-13T19:47:11.3945231Z else: 2025-03-13T19:47:11.3946945Z > with open(src, 'rb') as fsrc: 2025-03-13T19:47:11.3949370Z E IsADirectoryError: [Errno 21] Is a directory: '/' 2025-03-13T19:47:11.3951018Z 2025-03-13T19:47:11.3952846Z /opt/hostedtoolcache/Python/3.9.21/x64/lib/python3.9/shutil.py:264: IsADirectoryError ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@beam.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org