From 6d4d99b9054735534f9f957d3cd2904a1f7a5bc1 Mon Sep 17 00:00:00 2001 From: "Lauren N. Liberda" Date: Mon, 24 Apr 2023 18:57:00 +0200 Subject: [PATCH] introduce riscv64 builds --- .github/workflows/build.yml | 20 ++++++++++++++++++-- .github/workflows/release.yml | 6 ++++++ Dockerfile | 2 ++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 91351a1..b516f96 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,6 +56,13 @@ jobs: 4486a3f45dc40aa8ab1357db38da465c5899631f EOF + - name: Patch Dart SDK riscv64 + run: | + cd dart-sdk/sdk + xargs -n 1 -- sh -xc 'curl -fsSL "https://github.com/dart-lang/sdk/commit/$1.diff" | git apply -' -- <<'EOF' + 0f549e2069ff78fedf43a9781ce5b80625b9d470 + EOF + - name: Remove build tools run: | cd dart-sdk/sdk @@ -145,7 +152,8 @@ jobs: runs-on: ubuntu-latest container: - image: docker.io/library/alpine + # riscv64 is currently alpine edge only + image: docker.io/library/alpine:${{ matrix.target-arch == 'riscv64' && 'edge' || 'latest' }} strategy: fail-fast: false @@ -159,6 +167,8 @@ jobs: target-arch: arm64 - host-arch: x64 target-arch: arm + - host-arch: x64 + target-arch: riscv64 steps: - name: Download Artifact @@ -192,11 +202,17 @@ jobs: run: | apk add --no-cache alpine-sdk bash clang curl gn lld llvm python3 - - name: Install sysroot + - name: Install default sysroots run: | cd dart-sdk/sdk ./build/linux/alpine_sysroot_scripts/install-sysroot.sh + - name: Install riscv64 sysroot + if: matrix.target-arch == 'riscv64' + run: | + cd dart-sdk/sdk + ./build/linux/alpine_sysroot_scripts/install-sysroot.sh riscv64 + - name: Setup multiarch musl run: | cd dart-sdk/sdk diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 95fcb35..877a1b5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,6 +40,11 @@ jobs: with: name: dartsdk-linux-arm-${{ github.ref_name }} + - name: Download Artifact + uses: actions/download-artifact@v3 + with: + name: dartsdk-linux-riscv64-${{ github.ref_name }} + - name: Release uses: softprops/action-gh-release@v1 with: @@ -49,6 +54,7 @@ jobs: dartsdk-linux-ia32-release.tar.gz dartsdk-linux-arm64-release.tar.gz dartsdk-linux-arm-release.tar.gz + dartsdk-linux-riscv64-release.tar.gz container: needs: [release] diff --git a/Dockerfile b/Dockerfile index 4267fb9..b357c24 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,6 +19,8 @@ RUN apk add --no-cache \ SDK_ARCH=arm64;; \ armv7) \ SDK_ARCH=arm;; \ + riscv64) \ + SDK_ARCH=riscv64;; \ esac \ && wget -O- "$BASEURL/dartsdk-linux-$SDK_ARCH-release.tar.gz" \ | tar -xz \