Added GitHub Actions and updated build framework

This commit is contained in:
takeshix 2020-07-15 22:13:51 +02:00
parent 1f9bc44c60
commit 2e95cb4f0f
23 changed files with 1065 additions and 31 deletions

43
.github/README.md vendored Normal file
View file

@ -0,0 +1,43 @@
# static-toolbox
This repository includes prebuild static binaries and build-recipes for various tools like Nmap and OpenSSH.
The Linux versions are compiled with the musl-cross toolchain and the openssl-pm-snapshot fork of OpenSSL in order to support a wide range of SSL/TLS features (Warning: some of them are insecure!).
Compilation is done automatically with GitHub Actions.
## Tools
### Nmap
![Nmap x86_64](https://github.com/takeshixx/workflow-test/workflows/Nmap%20x86_64/badge.svg)
![Nmap x86](https://github.com/takeshixx/workflow-test/workflows/Nmap%20x86/badge.svg)
![Nmap ARMHF](https://github.com/takeshixx/workflow-test/workflows/Nmap%20ARMHF/badge.svg)
![Nmap AARCH64](https://github.com/takeshixx/workflow-test/workflows/Nmap%20AARCH64/badge.svg)
### OpenSSH
![OpenSSH x86_64](https://github.com/takeshixx/workflow-test/workflows/OpenSSH%20x86_64/badge.svg)
![OpenSSH x86](https://github.com/takeshixx/workflow-test/workflows/OpenSSH%20x86/badge.svg)
![OpenSSH ARMHF](https://github.com/takeshixx/workflow-test/workflows/OpenSSH%20ARMHF/badge.svg)
![OpenSSH AARCH64](https://github.com/takeshixx/workflow-test/workflows/OpenSSH%20AARCH64/badge.svg)
### socat
![socat x86_64](https://github.com/takeshixx/workflow-test/workflows/socat%20x86_64/badge.svg)
![socat x86](https://github.com/takeshixx/workflow-test/workflows/socat%20x86/badge.svg)
![OpenSSH ARMHF](https://github.com/takeshixx/workflow-test/workflows/OpenSSH%20ARMHF/badge.svg)
![OpenSSH AARCH64](https://github.com/takeshixx/workflow-test/workflows/OpenSSH%20AARCH64/badge.svg)
### GDB
![GDB x86_64](https://github.com/takeshixx/workflow-test/workflows/GDB%20x86_64/badge.svg)

25
.github/workflows/build-gdb-x86_64.yml vendored Normal file
View file

@ -0,0 +1,25 @@
name: GDB x86_64
on:
workflow_dispatch
jobs:
build:
name: Build GDB x86_64
runs-on: ubuntu-latest
container: muslcc/x86_64:x86_64-linux-musl
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Checkout
uses: actions/checkout@v2
- name: Build GDB
id: build_gdb
run: $GITHUB_WORKSPACE/build/targets/build_gdb.sh x86_64
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.build_gdb.outputs.PACKAGED_NAME }}
path: ${{ steps.build_gdb.outputs.PACKAGED_NAME_PATH }}

View file

@ -0,0 +1,35 @@
name: Nmap AARCH64
on:
workflow_dispatch
jobs:
build:
name: Build Nmap AARCH64
runs-on: ubuntu-latest
container: muslcc/x86_64:aarch64-linux-musl
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Checkout
uses: actions/checkout@v2
- name: Build Nmap
run: $GITHUB_WORKSPACE/build/targets/build_nmap.sh aarch64
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Package Nmap
id: package_nmap
run: $GITHUB_WORKSPACE/package/targets/nmap/package.sh /output aarch64
- name: List packaged artifacts
run: ls -la /packaged
- name: Upload tarball
uses: actions/upload-artifact@v2
with:
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }}
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }}
- name: Upload zip
uses: actions/upload-artifact@v2
with:
name: ${{ steps.package_nmap.outputs.PACKAGED_ZIP }}
path: ${{ steps.package_nmap.outputs.PACKAGED_ZIP_PATH }}

35
.github/workflows/build-nmap-armhf.yml vendored Normal file
View file

@ -0,0 +1,35 @@
name: Nmap ARMHF
on:
workflow_dispatch
jobs:
build:
name: Build Nmap ARMHF
runs-on: ubuntu-latest
container: muslcc/x86_64:armel-linux-musleabihf
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Checkout
uses: actions/checkout@v2
- name: Build Nmap
run: $GITHUB_WORKSPACE/build/targets/build_nmap.sh armhf
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Package Nmap
id: package_nmap
run: $GITHUB_WORKSPACE/package/targets/nmap/package.sh /output armhf
- name: List packaged artifacts
run: ls -la /packaged
- name: Upload tarball
uses: actions/upload-artifact@v2
with:
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }}
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }}
- name: Upload zip
uses: actions/upload-artifact@v2
with:
name: ${{ steps.package_nmap.outputs.PACKAGED_ZIP }}
path: ${{ steps.package_nmap.outputs.PACKAGED_ZIP_PATH }}

35
.github/workflows/build-nmap-x86.yml vendored Normal file
View file

@ -0,0 +1,35 @@
name: Nmap x86
on:
workflow_dispatch
jobs:
build:
name: Build Nmap x86
runs-on: ubuntu-latest
container: muslcc/x86_64:i686-linux-musl
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Checkout
uses: actions/checkout@v2
- name: Build Nmap
run: $GITHUB_WORKSPACE/build/targets/build_nmap.sh x86
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Package Nmap
id: package_nmap
run: $GITHUB_WORKSPACE/package/targets/nmap/package.sh /output x86
- name: List packaged artifacts
run: ls -la /packaged
- name: Upload tarball
uses: actions/upload-artifact@v2
with:
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }}
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }}
- name: Upload zip
uses: actions/upload-artifact@v2
with:
name: ${{ steps.package_nmap.outputs.PACKAGED_ZIP }}
path: ${{ steps.package_nmap.outputs.PACKAGED_ZIP_PATH }}

34
.github/workflows/build-nmap-x86_64.yml vendored Normal file
View file

@ -0,0 +1,34 @@
name: Nmap x86_64
on:
workflow_dispatch
jobs:
build:
name: Build Nmap x86_64
runs-on: ubuntu-latest
container: muslcc/x86_64:x86_64-linux-musl
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Checkout
uses: actions/checkout@v2
- name: Build Nmap
run: $GITHUB_WORKSPACE/build/targets/build_nmap.sh x86_64
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Package Nmap
id: package_nmap
run: $GITHUB_WORKSPACE/package/targets/nmap/package.sh /output x86_64
- name: List packaged artifacts
run: ls -la /packaged
- name: Upload tarball
uses: actions/upload-artifact@v2
with:
name: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL }}
path: ${{ steps.package_nmap.outputs.PACKAGED_TARBALL_PATH }}
- name: Upload zip
uses: actions/upload-artifact@v2
with:
name: ${{ steps.package_nmap.outputs.PACKAGED_ZIP }}
path: ${{ steps.package_nmap.outputs.PACKAGED_ZIP_PATH }}

View file

@ -0,0 +1,25 @@
name: OpenSSH AARCH64
on:
workflow_dispatch
jobs:
build:
name: Build OpenSSH AARCH64
runs-on: ubuntu-latest
container: muslcc/x86_64:aarch64-linux-musl
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Checkout
uses: actions/checkout@v2
- name: Build OpenSSH
id: build_openssh
run: $GITHUB_WORKSPACE/build/targets/build_openssh.sh aarch64
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.build_openssh.outputs.PACKAGED_NAME }}
path: ${{ steps.build_openssh.outputs.PACKAGED_NAME_PATH }}

View file

@ -0,0 +1,25 @@
name: OpenSSH ARMHF
on:
workflow_dispatch
jobs:
build:
name: Build OpenSSH ARMHF
runs-on: ubuntu-latest
container: muslcc/x86_64:armel-linux-musleabihf
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Checkout
uses: actions/checkout@v2
- name: Build OpenSSH
id: build_openssh
run: $GITHUB_WORKSPACE/build/targets/build_openssh.sh armhf
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.build_openssh.outputs.PACKAGED_NAME }}
path: ${{ steps.build_openssh.outputs.PACKAGED_NAME_PATH }}

25
.github/workflows/build-openssh-x86.yml vendored Normal file
View file

@ -0,0 +1,25 @@
name: OpenSSH x86
on:
workflow_dispatch
jobs:
build:
name: Build OpenSSH x86
runs-on: ubuntu-latest
container: muslcc/x86_64:i686-linux-musl
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Checkout
uses: actions/checkout@v2
- name: Build OpenSSH
id: build_openssh
run: $GITHUB_WORKSPACE/build/targets/build_openssh.sh x86
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.build_openssh.outputs.PACKAGED_NAME }}
path: ${{ steps.build_openssh.outputs.PACKAGED_NAME_PATH }}

View file

@ -0,0 +1,25 @@
name: OpenSSH x86_64
on:
workflow_dispatch
jobs:
build:
name: Build OpenSSH x86_64
runs-on: ubuntu-latest
container: muslcc/x86_64:x86_64-linux-musl
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Checkout
uses: actions/checkout@v2
- name: Build OpenSSH
id: build_openssh
run: $GITHUB_WORKSPACE/build/targets/build_openssh.sh x86_64
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.build_openssh.outputs.PACKAGED_NAME }}
path: ${{ steps.build_openssh.outputs.PACKAGED_NAME_PATH }}

View file

@ -0,0 +1,34 @@
name: socat AARCH64
on:
workflow_dispatch
jobs:
build:
name: Build socat AARCH64
runs-on: ubuntu-latest
container: muslcc/x86_64:aarch64-linux-musl
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Install testing dependencies
run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl
- name: Install build compiler
run: /bin/sh -c "apk update && apk upgrade && apk add --no-cache curl rsync sudo util-linux && cd / && curl -so ${ARCH}-cross.tgz ${HOST}/${ARCH}-cross.tgz && tar -xf ${ARCH}-cross.tgz && rm ${ARCH}-cross.tgz && cd ${ARCH}-cross"
env:
ARCH: x86_64-linux-musl
HOST: https://more.musl.cc/9.2.1/x86_64-linux-musl
TEMP: /tmp
USER: 0
- name: Checkout
uses: actions/checkout@v2
- name: Build socat
id: build_socat
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh aarch64
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }}
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }}

34
.github/workflows/build-socat-armhf.yml vendored Normal file
View file

@ -0,0 +1,34 @@
name: socat ARMHF
on:
workflow_dispatch
jobs:
build:
name: Build socat ARMHF
runs-on: ubuntu-latest
container: muslcc/x86_64:armel-linux-musleabihf
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Install testing dependencies
run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl
- name: Install build compiler
run: /bin/sh -c "apk update && apk upgrade && apk add --no-cache curl rsync sudo util-linux && cd / && curl -so ${ARCH}-cross.tgz ${HOST}/${ARCH}-cross.tgz && tar -xf ${ARCH}-cross.tgz && rm ${ARCH}-cross.tgz && cd ${ARCH}-cross"
env:
ARCH: x86_64-linux-musl
HOST: https://more.musl.cc/9.2.1/x86_64-linux-musl
TEMP: /tmp
USER: 0
- name: Checkout
uses: actions/checkout@v2
- name: Build socat
id: build_socat
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh armhf
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }}
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }}

27
.github/workflows/build-socat-x86.yml vendored Normal file
View file

@ -0,0 +1,27 @@
name: socat x86
on:
workflow_dispatch
jobs:
build:
name: Build socat x86
runs-on: ubuntu-latest
container: muslcc/x86_64:i686-linux-musl
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Install testing dependencies
run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl
- name: Checkout
uses: actions/checkout@v2
- name: Build socat
id: build_socat
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }}
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }}

View file

@ -0,0 +1,27 @@
name: socat x86_64
on:
workflow_dispatch
jobs:
build:
name: Build socat x86_64
runs-on: ubuntu-latest
container: muslcc/x86_64:x86_64-linux-musl
steps:
- name: Install dependencies
run: apk update && apk add bash git perl make cmake flex bison automake autoconf libtool qemu-arm qemu-aarch64 file texinfo zip
- name: Install testing dependencies
run: apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing yodl
- name: Checkout
uses: actions/checkout@v2
- name: Build socat
id: build_socat
run: $GITHUB_WORKSPACE/build/targets/build_socat.sh x86_64
- name: List build directory
run: ls -la /build
- name: List build artifacts
run: ls -la /output
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: ${{ steps.build_socat.outputs.PACKAGED_NAME }}
path: ${{ steps.build_socat.outputs.PACKAGED_NAME_PATH }}