Aria2 Builder #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Copyright (c) 2020 P3TERX <https://p3terx.com> | |
# | |
# This is free software, licensed under the GNU General Public License v3. | |
# See /LICENSE for more information. | |
# | |
# https://github.com/P3TERX/Aria2-Pro-Core | |
# | |
name: Aria2 Builder | |
on: | |
workflow_dispatch: | |
repository_dispatch: | |
push: | |
paths-ignore: | |
- '**.md' | |
- 'LICENSE' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
PLATFORMS: [amd64, arm64, armhf, i386] | |
include: | |
- PLATFORMS: amd64 | |
BUILDER_IMAGE: debian:11 | |
BUILD_SCRIPT: aria2-gnu-linux-build-amd64.sh | |
- PLATFORMS: arm64 | |
BUILDER_IMAGE: debian:11 | |
BUILD_SCRIPT: aria2-gnu-linux-cross-build-arm64.sh | |
- PLATFORMS: armhf | |
BUILDER_IMAGE: ubuntu:16.04 | |
BUILD_SCRIPT: aria2-gnu-linux-cross-build-armhf.sh | |
- PLATFORMS: i386 | |
BUILDER_IMAGE: debian:10 | |
BUILD_SCRIPT: aria2-gnu-linux-cross-build-i386.sh | |
steps: | |
- name: Install QEMU | |
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Build | |
env: | |
DOCKER_BUILDKIT: 1 | |
BUILDER_IMAGE: ${{ matrix.BUILDER_IMAGE }} | |
BUILD_SCRIPT: ${{ matrix.BUILD_SCRIPT }} | |
run: | | |
docker build \ | |
--build-arg BUILDER_IMAGE \ | |
--build-arg BUILD_SCRIPT \ | |
--platform=local \ | |
-o ./output . \ | |
2>&1 | tee build.log | |
- name: Output Error Log | |
if: (!cancelled()) | |
run: grep -iE 'fatal|error|critical|failure|warning' build.log | |
- name: Check Version | |
run: | | |
tar xzvf ./output/aria2*.tar.gz | |
file aria2c 2>&1 | tee ./output/file-type-${{ matrix.PLATFORMS }}.txt | |
./aria2c -v 2>&1 | tee ./output/version-${{ matrix.PLATFORMS }}.txt | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: aria2-${{ matrix.PLATFORMS }} | |
path: output | |
- name: Functional Testing | |
run: | | |
./aria2c https://raw.githubusercontent.com/P3TERX/aria2.conf/master/dht.dat | |
./aria2c https://raw.githubusercontent.com/P3TERX/aria2.conf/master/dht6.dat |