summaryrefslogtreecommitdiffstats
path: root/.github/workflows/continuous-build-linux.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/continuous-build-linux.yml')
-rw-r--r--.github/workflows/continuous-build-linux.yml122
1 files changed, 122 insertions, 0 deletions
diff --git a/.github/workflows/continuous-build-linux.yml b/.github/workflows/continuous-build-linux.yml
new file mode 100644
index 0000000..33d545c
--- /dev/null
+++ b/.github/workflows/continuous-build-linux.yml
@@ -0,0 +1,122 @@
+name: Continuous Build Linux
+
+on:
+ push:
+ branches:
+ - main
+ tags-ignore:
+ - '*.*'
+ paths:
+ - 'src/**'
+ - '!src/osx/**'
+ - '!src/freebsd/**'
+ - 'include/**'
+ - 'Makefile'
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+ container: ubuntu:21.04
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install build tools
+ run: |
+ apt update && \
+ apt install coreutils sed git build-essential gcc-11 g++-11 -y
+ apt install -y g++-11-aarch64-linux-gnu g++-11-i686-linux-gnu \
+ g++-11-arm-linux-gnueabi g++-11-arm-linux-gnueabihf g++-11-riscv64-linux-gnu \
+ g++-11-sparc64-linux-gnu
+
+ mkdir -p multiarch_bin
+
+ git init # [fix Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).]
+
+ - name: Compile x86_64
+ run: |
+ make CXX=g++-11 ARCH=x86_64 STATIC=true QUIET=true
+ GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
+ mv bin/btop multiarch_bin/btop-x86_64-$GIT_HASH
+ make distclean
+
+ - name: Compile i686
+ run: |
+ make CXX=i686-linux-gnu-g++-11 ARCH=i686 STATIC=true QUIET=true
+ GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
+ mv bin/btop multiarch_bin/btop-i686-$GIT_HASH
+ make distclean
+
+ - name: Compile aarch64
+ run: |
+ make CXX=aarch64-linux-gnu-g++-11 ARCH=aarch64 STATIC=true QUIET=true
+ GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
+ mv bin/btop multiarch_bin/btop-aarch64-$GIT_HASH
+ make distclean
+
+ - name: Compile armel
+ run: |
+ make CXX=arm-linux-gnueabi-g++-11 ARCH=armel STATIC=true QUIET=true
+ GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
+ mv bin/btop multiarch_bin/btop-armel-$GIT_HASH
+ make distclean
+
+ - name: Compile armhf
+ run: |
+ make CXX=arm-linux-gnueabihf-g++-11 ARCH=armhf STATIC=true QUIET=true
+ GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
+ mv bin/btop multiarch_bin/btop-armhf-$GIT_HASH
+ make distclean
+
+ - name: Compile riscv64
+ run: |
+ make CXX=riscv64-linux-gnu-g++-11 ARCH=riscv64 STATIC=true QUIET=true
+ GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
+ mv bin/btop multiarch_bin/btop-riscv64-$GIT_HASH
+ make distclean
+
+ - name: Compile sparc64
+ run: |
+ make CXX=sparc64-linux-gnu-g++-11 ARCH=sparc64 STATIC=true QUIET=true
+ GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
+ mv bin/btop multiarch_bin/btop-sparc64-$GIT_HASH
+ make distclean
+
+ - name: Make executable
+ run: |
+ chmod +x multiarch_bin/*
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: btop-x86_64
+ path: 'multiarch_bin/btop-x86_64*'
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: btop-i686
+ path: 'multiarch_bin/btop-i686*'
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: btop-aarch64
+ path: 'multiarch_bin/btop-aarch64*'
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: btop-armel
+ path: 'multiarch_bin/btop-armel*'
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: btop-armhf
+ path: 'multiarch_bin/btop-armhf*'
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: btop-riscv64
+ path: 'multiarch_bin/btop-riscv64*'
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: btop-sparc64
+ path: 'multiarch_bin/btop-sparc64*'