diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bbae1d9..5a4eeeb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,11 +10,8 @@ on: - '*' # Any tag jobs: - build-linux: - runs-on: ubuntu-latest - strategy: - matrix: - arch: [x86_64, arm64] # build both architectures + build-linux-x86_64: + runs-on: ubuntu-latest # build both architectures steps: - uses: actions/checkout@v3 with: @@ -36,14 +33,8 @@ jobs: - name: Build run: | - if [ "${{ matrix.arch }}" = "x86_64" ]; then - conan install . --build=missing - conan build . - else - sudo apt-get install -y gcc-aarch64-linux-gnu - conan install . --profile linux-arm-profile.txt --build=missing - conan build . --profile linux-arm-profile.txt - fi + conan install . --build=missing + conan build . - name: Package run: | @@ -60,7 +51,50 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: linux-${{ matrix.arch }}-artifact + name: linux-x86_64-artifact + path: ${{ env.TAR_NAME }} + build-linux-arm64: + runs-on: ubuntu-latest-arm # build both architectures + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install build tools + run: sudo apt-get update && sudo apt-get install -y flex bison + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: '3.x' + + - name: Install Conan + run: | + python -m pip install --upgrade pip + pip install conan + conan profile detect + + - name: Build + run: | + conan install . --build=missing + conan build . + + - name: Package + run: | + TAG=${GITHUB_REF##refs/tags/} + OS=$(uname -s | tr '[:upper:]' '[:lower:]') + ARCH=${{ matrix.arch }} + FOLDER="chloride-$TAG-$OS-$ARCH" + TAR="$FOLDER.tar.gz" + mv build/bin "$FOLDER" + cp LICENSE.txt "$FOLDER" + tar -czf "$TAR" "$FOLDER" + echo "TAR_NAME=$TAR" >> $GITHUB_ENV + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: linux-arm64-artifact path: ${{ env.TAR_NAME }} build-macos: @@ -185,7 +219,7 @@ jobs: release: runs-on: ubuntu-latest - needs: [build-linux, build-macos, build-windows] + needs: [build-linux-x86_64, build-linux-arm64, build-macos, build-windows] steps: - name: Download artifacts uses: actions/download-artifact@v4 diff --git a/linux-arm-profile.txt b/linux-arm-profile.txt deleted file mode 100644 index 437d012..0000000 --- a/linux-arm-profile.txt +++ /dev/null @@ -1,12 +0,0 @@ -[settings] -os=Linux -arch=armv8 -compiler=gcc -compiler.version=12 -compiler.libcxx=libstdc++11 -build_type=Release - -[conf] -tools.build:compiler_executables={"c": "/usr/bin/gcc-aarch64-linux-gnu"} -tools.cmake.cmaketoolchain:system_name=Linux -tools.cmake.cmaketoolchain:system_processor=aarch64 \ No newline at end of file