Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -448,3 +448,43 @@ jobs:
needs.website-tests.result == 'failure' ||
needs.website-next-tests.result == 'failure' ||
needs.verify-nitro-npm-package.result == 'failure')

# TEMPORARY: verifies the Alpine/musl NativeAOT Nitro CLI build before merging
# the release.yml change. Remove this job once confirmed.
nitro-musl-build-test:
name: 🧪 Test Nitro CLI musl build
runs-on: ubuntu-22.04
container: alpine:3.21
steps:
- name: 🐧 Install musl build dependencies
shell: sh
run: |
apk add --no-cache bash clang lld build-base zlib-dev musl-dev \
git curl icu-libs libstdc++ libgcc

- name: 📦 Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

- name: 🛠 Install .NET
uses: actions/setup-dotnet@9a946fdbd5fb07b82b2f5a4466058b876ab72bb2 # v5.3.0
with:
dotnet-version: 11.0.100-preview.5.26302.115

- name: 📦 Publish binary (linux-musl-x64)
shell: bash
run: |
dotnet publish src/Nitro/CommandLine/src/CommandLine \
-c Release \
-r linux-musl-x64 \
-f net11.0 \
-o publish \
--self-contained \
-p:PublishAot=true \
-p:TargetFrameworks=net11.0 \
-p:RuntimeIdentifiers=linux-musl-x64

- name: ✅ Run the produced binary
shell: bash
run: |
file publish/nitro || true
./publish/nitro --version
9 changes: 9 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ jobs:
build-nitro-cli:
name: 🧱 Build and Publish Nitro CLI
runs-on: ${{ matrix.os }}
container: ${{ matrix.container }}
# We need to depend on `release`, as it publishes the persisted operations of the CLI.
needs: [compute-release-context, release]
permissions:
Expand All @@ -223,6 +224,7 @@ jobs:
rid: linux-x64
- os: ubuntu-22.04
rid: linux-musl-x64
container: alpine:3.21
- os: ubuntu-24.04-arm
rid: linux-arm64
# macOS
Expand All @@ -240,6 +242,13 @@ jobs:
# rid: win-arm64

steps:
- name: 🐧 Install musl build dependencies
if: matrix.rid == 'linux-musl-x64'
shell: sh
run: |
apk add --no-cache bash clang lld build-base zlib-dev musl-dev \
git curl icu-libs libstdc++ libgcc github-cli

- name: 📦 Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

Expand Down
Loading