CI for musl builds #2

Open
opened 2025-05-04 12:21:10 +02:00 by vinzenz · 0 comments
Owner

The last try did not succeed on the available ubuntu runner.

The final version after a bunch of tries:


  # this _should_ have been -stable, but there is a bug when running in the container ("Invalid cross-device link")
  build-musl-beta:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Update repos
        run: sudo apt-get update -qq
      - name: Install toolchain
        run: sudo apt-get install -qy liblzma-dev gcc make pkgconf musl-dev musl-tools rustup
      - name: install rust target
        run: rustup default beta && rustup target add aarch64-unknown-linux-musl && rustup component add rust-src && rustup update

      - name: build example -- musl release
        run: cd example && make clean && make TARGET=aarch64-unknown-linux-musl PROFILE=release MUSL=1 CARGO="rustup run beta cargo"
      - name: build example -- musl debug
        run: cd example && make clean && make TARGET=aarch64-unknown-linux-musl PROFILE=debug MUSL=1 CARGO="rustup run beta cargo"

  build-size-musl-unstable:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Update repos
        run: sudo apt-get update -qq
      - name: Install toolchain
        run: sudo apt-get install -qy liblzma-dev gcc make pkgconf musl-dev musl-tools rustup
      - name: install rust targets
        run: rustup toolchain install nightly -t aarch64-unknown-linux-musl -c rust-src --no-self-update

      - name: build example -- musl size-optimized
        run: cd example && make clean && make TARGET=aarch64-unknown-linux-musl PROFILE=size-optimized MUSL=1 LTO=1 CARGO="rustup run nightly cargo"

The error here was in both cases, that no panic handler was found.

The last try did not succeed on the available ubuntu runner. The final version after a bunch of tries: ```yml # this _should_ have been -stable, but there is a bug when running in the container ("Invalid cross-device link") build-musl-beta: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Update repos run: sudo apt-get update -qq - name: Install toolchain run: sudo apt-get install -qy liblzma-dev gcc make pkgconf musl-dev musl-tools rustup - name: install rust target run: rustup default beta && rustup target add aarch64-unknown-linux-musl && rustup component add rust-src && rustup update - name: build example -- musl release run: cd example && make clean && make TARGET=aarch64-unknown-linux-musl PROFILE=release MUSL=1 CARGO="rustup run beta cargo" - name: build example -- musl debug run: cd example && make clean && make TARGET=aarch64-unknown-linux-musl PROFILE=debug MUSL=1 CARGO="rustup run beta cargo" build-size-musl-unstable: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Update repos run: sudo apt-get update -qq - name: Install toolchain run: sudo apt-get install -qy liblzma-dev gcc make pkgconf musl-dev musl-tools rustup - name: install rust targets run: rustup toolchain install nightly -t aarch64-unknown-linux-musl -c rust-src --no-self-update - name: build example -- musl size-optimized run: cd example && make clean && make TARGET=aarch64-unknown-linux-musl PROFILE=size-optimized MUSL=1 LTO=1 CARGO="rustup run nightly cargo" ``` The error here was in both cases, that no panic handler was found.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: servicepoint/servicepoint-binding-c#2
No description provided.