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

When action repository contains a broken symbolic link, "Set up job" stage will fail #3234

Open
RadxaYuntian opened this issue Apr 8, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@RadxaYuntian
Copy link

Describe the bug
My repository contains other parts of code (unrelated to the action itself) which depends on a git submodule. A symbolic link is created referencing files within this submodule, which when unchecked-out is pointing to a non existent path.

When action tried to download my repository, it won't download the submodule, and causing the action to fail due to broken link.

To Reproduce
Steps to reproduce the behavior:

  1. Add a broken symbolic link to an action repo
  2. Run workflow using this action
  3. See error

Expected behavior
For me the broken symbolic link is there by the nature of git submodule and is actually by design, but I understand that changing this will be a breaking change for existing users.

I'd like to see if there is more flexibility to handle this issue (Download submodules? Ignore broken symlink error?) on action writer's end. Though this might be an chicken & egg issue where only after action is downloaded can runner process its settings.

Runner Version and Platform

Current runner version: '2.315.0'
Operating System
  Ubuntu
  22.04.4
  LTS

What's not working?

See log below.

Job Log Output

Download action repository 'RadxaOS-SDK/rsdk@main' (SHA:2c1cb39fa7900103f1650d650964361da91f328f)
##[debug]Download 'https://api.github.com/repos/RadxaOS-SDK/rsdk/tarball/2c1cb39fa7900103f1650d650964361da91f328f' to '/home/runner/work/_actions/_temp_88b61f92-0701-4cb5-8354-d8c3d89d1c2e/763e3eae-d30e-400c-bc18-163c19a7d050.tar.gz'
##[debug]Unwrap 'RadxaOS-SDK-rsdk-2c1cb39' to '/home/runner/work/_actions/RadxaOS-SDK/rsdk/main'
Error: Could not find file '/home/runner/work/_actions/_temp_88b61f92-0701-4cb5-8354-d8c3d89d1c2e/_staging/RadxaOS-SDK-rsdk-2c1cb39/src/lib/librtui/tui.sh'.
##[debug]System.IO.FileNotFoundException: Could not find file '/home/runner/work/_actions/_temp_88b61f92-0701-4cb5-8354-d8c3d89d1c2e/_staging/RadxaOS-SDK-rsdk-2c1cb39/src/lib/librtui/tui.sh'.
##[debug]File name: '/home/runner/work/_actions/_temp_88b61f92-0701-4cb5-8354-d8c3d89d1c2e/_staging/RadxaOS-SDK-rsdk-2c1cb39/src/lib/librtui/tui.sh'
##[debug]   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
##[debug]   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
##[debug]   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize)
##[debug]   at System.IO.FileSystem.CopyFile(String sourceFullPath, String destFullPath, Boolean overwrite)
##[debug]   at System.IO.FileInfo.CopyTo(String destFileName, Boolean overwrite)
##[debug]   at GitHub.Runner.Sdk.IOUtil.CopyDirectory(String source, String target, CancellationToken cancellationToken)
##[debug]   at GitHub.Runner.Sdk.IOUtil.CopyDirectory(String source, String target, CancellationToken cancellationToken)
##[debug]   at GitHub.Runner.Sdk.IOUtil.CopyDirectory(String source, String target, CancellationToken cancellationToken)
##[debug]   at GitHub.Runner.Sdk.IOUtil.CopyDirectory(String source, String target, CancellationToken cancellationToken)
##[debug]   at GitHub.Runner.Worker.ActionManager.DownloadRepositoryActionAsync(IExecutionContext executionContext, ActionDownloadInfo downloadInfo)
##[debug]   at GitHub.Runner.Worker.ActionManager.PrepareActionsRecursiveAsync(IExecutionContext executionContext, PrepareActionsState state, IEnumerable`1 actions, Int32 depth, Guid parentStepId)
##[debug]   at GitHub.Runner.Worker.ActionManager.PrepareActionsAsync(IExecutionContext executionContext, IEnumerable`1 steps, Guid rootStepId)
##[debug]   at GitHub.Runner.Worker.JobExtension.InitializeJob(IExecutionContext jobContext, AgentJobRequestMessage message)
##[debug]Finishing: Set up job
@RadxaYuntian RadxaYuntian added the bug Something isn't working label Apr 8, 2024
RadxaYuntian added a commit to RadxaOS-SDK/rsdk that referenced this issue Apr 8, 2024
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

1 participant