Skip to content

[Bug]: swift-autolink-extract not found when using musl sdk to build flavor of Swift binary #369

@commjoen

Description

@commjoen

Describe the bug
Thank you for your awesome Github Action! I am using it to create various flavors of a Swift cli application for my project. However, when I try to use the github action its output to use the musl sdk for Swift, I end up with an issue: error: unableToFind(tool: "swift-autolink-extract") (See https://github.com/OWASP/wrongsecrets-binaries/actions/runs/13632105326/job/38101958085?pr=50#step:6:16).
What am I dong wrong here? Can you please help?

To Reproduce
Steps to reproduce the behavior:

  1. Choose runner macos-latest
  2. Provide action input:
build-musl:
    name: Swift with Musl
    runs-on: macos-latest
    steps:
      - uses: SwiftyLab/setup-swift@v1.9.1
        with:
          swift-version: "6.0.3"
      - uses: actions/checkout@v4
      - name: Get swift version
        run: swift --version
      - name: Install Swift Musl SDK
        run: |
          swift sdk install https://download.swift.org/swift-6.0.3-release/static-sdk/swift-6.0.3-RELEASE/swift-6.0.3-RELEASE_static-linux-0.0.1.artifactbundle.tar.gz --checksum 67f765e0030e661a7450f7e4877cfe008db4f57f177d5a08a6e26fd661cdd0bd
          export PATH=$PATH:$(find /Library/Developer -type d -maxdepth 1 | paste -sd ":" -)
      - name: Build and test a Swift package
        run: |
          cd swift 
          # echo "ls /Library/Developer/Toolchains/swift-6.0.3-RELEASE.xctoolchain/usr/bin does not work: we need to install the sdk toolcahin?"
          export PATH=$PATH:$(find /Library/Developer -type d -maxdepth 1 | paste -sd ":" -)
          swift build -c release --swift-sdk x86_64-swift-linux-musl --static-swift-stdlib
          swift build -c release --swift-sdk aarch64-swift-linux-musl --static-swift-stdlib
      - name: Uploading linux arm musl Swift executable 
        uses: actions/upload-artifact@v4
        with:
          name: wrongsecrets-swift-linux-musl-arm
          path: swift/.build/aarch64-unknown-linux-gnu/release/swift
      - name: Uploading linux x86 musl Swift executable 
        uses: actions/upload-artifact@v4
        with:
          name: wrongsecrets-swift-linux-musl
          path: swift/.build/x86_64-unknown-linux-gnu/release/swift
  1. Run action with environment variables: no others than the default, see https://github.com/OWASP/wrongsecrets-binaries/pull/50/files#diff-6676f16935e8d9df6c03d0bdad8227528192340c02fe1aef2b69f9c6c5613991 1.
  2. See error:
Building for production...
[0/4] Write sources
[1/4] Write swift-version-4657CCE4B953477C.txt
[3/5] Compiling swift main.swift
[3/5] Write Objects.LinkFileList
error: unableToFind(tool: "swift-autolink-extract")
[4/5] Linking swift
Error: Process completed with exit code 1.

Expected behavior
The swift-autolink-extract should be on $PATH and executed.

Logs
Action run log, either link to action run or log file: a run can be found at https://github.com/OWASP/wrongsecrets-binaries/actions/runs/13632105326/job/38101958085?pr=50#step:6:16

Runner (please complete the following information):

  • Name: macos-latest
  • OS: macOS
  • Version 15

Additional context
As you can see: the building and releasing of the other Swift flavors just works fine. Thank you for your awesome Github action!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions