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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]