Skip to content

Aria2 Builder

Aria2 Builder #1

Workflow file for this run

#
# 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