From dc3315c324c3d991097a0ab4e2a6088b9ee1ae46 Mon Sep 17 00:00:00 2001 From: Curve Date: Sun, 22 Oct 2023 17:56:16 +0200 Subject: [PATCH] feat(ci): test armv8 builds --- .github/workflows/build.yml | 20 +++++++++------- .github/workflows/publish.yml | 45 ++++++++++++++++++++++++++++------- CMakeLists.txt | 2 +- package.json | 2 +- 4 files changed, 50 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a200451..a7aac5a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,16 +5,18 @@ on: name: 🏗️ Build jobs: - build-arch: + build-fedora37: runs-on: ubuntu-latest - container: archlinux:base-devel + container: fedora:37 steps: - name: 📥 Checkout uses: actions/checkout@v3 - name: 👷 Build Dependencies - run: "pacman --noconfirm -Syu base-devel cmake gcc git make pipewire pipewire-pulse" + run: | + dnf install -y make automake gcc gcc-c++ kernel-devel cmake git + dnf install -y pipewire-devel pipewire-libs pulseaudio-libs-devel pipewire-pulseaudio - name: 🔨 Build Server run: | @@ -24,7 +26,7 @@ jobs: - name: 🚀 Upload Server uses: actions/upload-artifact@v3 with: - name: server-arch + name: server-x86-64 path: build/server - name: 🍃 Install Node @@ -46,12 +48,12 @@ jobs: - name: 🚀 Upload Addon uses: actions/upload-artifact@v3 with: - name: addon-arch + name: addon-x86-64 path: build/Release - build-fedora: + build-fedora37-arm: runs-on: ubuntu-latest - container: fedora:latest + container: arm64v8/fedora:37 steps: - name: 📥 Checkout @@ -70,7 +72,7 @@ jobs: - name: 🚀 Upload Server uses: actions/upload-artifact@v3 with: - name: server-fedora + name: server-armv8 path: build/server - name: 🍃 Install Node @@ -92,5 +94,5 @@ jobs: - name: 🚀 Upload Addon uses: actions/upload-artifact@v3 with: - name: addon-arch + name: addon-armv8 path: build/Release diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ab1b028..94773f3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -24,11 +24,6 @@ jobs: exit 1 fi - - name: 👷 Build Dependencies - run: | - dnf install -y make automake gcc gcc-c++ kernel-devel cmake git - dnf install -y pipewire-devel pipewire-libs pulseaudio-libs-devel pipewire-pulseaudio - - name: 🍃 Install Node uses: actions/setup-node@v3 with: @@ -41,10 +36,44 @@ jobs: version: 8 run_install: false - - name: 🔨 Build - run: "pnpm install" + - name: ⏱️ Wait for x86-64 Builds + uses: lewagon/wait-on-check-action@v1.3.1 + with: + wait-interval: 600 + ref: ${{ github.ref }} + check-name: "build-fedora37" + repo-token: ${{ secrets.GITHUB_TOKEN }} + + - name: 📦 Download Build (x86-64) + id: download-artifact + uses: dawidd6/action-download-artifact@v2 + with: + workflow: build.yml + name: addon-x86-64 + path: build/Release + allow_forks: false + + - name: 🛠️ Prepare Prebuilds (x86-64) + run: pnpm pkg-prebuilds-copy --baseDir build/Release --source venmic-addon.node --name=venmic-addon --strip --napi_version=7 + + - name: ⏱️ Wait for armv8 Builds + uses: lewagon/wait-on-check-action@v1.3.1 + with: + wait-interval: 600 + ref: ${{ github.ref }} + check-name: "build-fedora37-arm" + repo-token: ${{ secrets.GITHUB_TOKEN }} + + - name: 📦 Download Build (armv8) + id: download-artifact + uses: dawidd6/action-download-artifact@v2 + with: + workflow: build.yml + name: addon-armv8 + path: build/Release + allow_forks: false - - name: 🛠️ Prepare Prebuilds + - name: 🛠️ Prepare Prebuilds (armv8) run: pnpm pkg-prebuilds-copy --baseDir build/Release --source venmic-addon.node --name=venmic-addon --strip --napi_version=7 - name: 🛒 Publish diff --git a/CMakeLists.txt b/CMakeLists.txt index 70452e0..c61258f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.21) -project(venmic LANGUAGES CXX VERSION 1.6) +project(venmic LANGUAGES CXX VERSION 1.6.0) # -------------------------------------------------------------------------------------------------------- # Library options diff --git a/package.json b/package.json index aee311b..5c2e67a 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "private": false, "license": "MIT", "author": "Curve (https://github.com/Curve)", - "version": "1.6.0", + "version": "1.6.0-alpha.0", "main": "./lib/index.js", "types": "./lib/module.d.ts", "scripts": {