mirror of
https://github.com/hectorm/hblock.git
synced 2026-04-22 23:16:36 +05:30
Refactored CI
This commit is contained in:
parent
39dd94e69a
commit
51e60fc249
6 changed files with 753 additions and 678 deletions
128
.github/workflows/build.yml
vendored
128
.github/workflows/build.yml
vendored
|
|
@ -1,128 +0,0 @@
|
||||||
name: 'Build'
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: ['*']
|
|
||||||
pull_request:
|
|
||||||
branches: ['*']
|
|
||||||
schedule:
|
|
||||||
- cron: '42 02 * * *'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
build-debian-latest:
|
|
||||||
name: 'Build on Debian'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/debian:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Update package index'
|
|
||||||
run: 'apt-get update'
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apt-get install -y ca-certificates curl file idn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make hosts stats index'
|
|
||||||
|
|
||||||
build-ubuntu-latest:
|
|
||||||
name: 'Build on Ubuntu'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/ubuntu:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Update package index'
|
|
||||||
run: 'apt-get update'
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apt-get install -y ca-certificates curl file idn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make hosts stats index'
|
|
||||||
|
|
||||||
build-fedora-latest:
|
|
||||||
name: 'Build on Fedora'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/fedora:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'dnf install -y ca-certificates curl findutils file idn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make hosts stats index'
|
|
||||||
|
|
||||||
build-rockylinux-latest:
|
|
||||||
name: 'Build on Rocky Linux'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/rockylinux:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'dnf install -y ca-certificates curl findutils file idn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make hosts stats index'
|
|
||||||
|
|
||||||
build-opensuse-latest:
|
|
||||||
name: 'Build on openSUSE'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/opensuse/tumbleweed:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'zypper install -y ca-certificates curl file gzip libidn2-tools make tar'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make hosts stats index'
|
|
||||||
|
|
||||||
build-archlinux-latest:
|
|
||||||
name: 'Build on Arch Linux'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/archlinux:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make hosts stats index'
|
|
||||||
|
|
||||||
build-alpine-latest:
|
|
||||||
name: 'Build on Alpine Linux'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make hosts stats index'
|
|
||||||
|
|
||||||
build-openwrt-latest:
|
|
||||||
name: 'Build on OpenWrt'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/openwrtorg/rootfs:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Apply workarounds for GitHub Actions runner'
|
|
||||||
run: 'printf "ID=alpine\n" > /etc/_os-release'
|
|
||||||
- name: 'Update package index'
|
|
||||||
run: 'mkdir -p /var/run/; mkdir -p /var/lock/; opkg update ||:'
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'opkg install ca-certificates curl file idn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make hosts stats index'
|
|
||||||
|
|
||||||
build-macos-latest:
|
|
||||||
name: 'Build on macOS'
|
|
||||||
runs-on: 'macos-latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Use dash as sh'
|
|
||||||
run: 'sudo ln -sf /bin/dash /var/select/sh'
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'brew install curl libidn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make hosts stats index'
|
|
||||||
695
.github/workflows/ci.yml
vendored
Normal file
695
.github/workflows/ci.yml
vendored
Normal file
|
|
@ -0,0 +1,695 @@
|
||||||
|
name: 'CI'
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags: ['*']
|
||||||
|
branches: ['*']
|
||||||
|
pull_request:
|
||||||
|
branches: ['*']
|
||||||
|
schedule:
|
||||||
|
- cron: '42 02 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
lint-shellcheck-stable:
|
||||||
|
name: 'Lint with ShellCheck'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container:
|
||||||
|
image: 'docker.io/koalaman/shellcheck-alpine:stable'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Print ShellCheck version'
|
||||||
|
run: 'shellcheck --version'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Lint project'
|
||||||
|
run: 'make lint'
|
||||||
|
|
||||||
|
test-debian-latest:
|
||||||
|
name: 'Test on Debian'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/debian:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Update package index'
|
||||||
|
run: 'apt-get update'
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apt-get install -y ca-certificates curl file idn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-ubuntu-latest:
|
||||||
|
name: 'Test on Ubuntu'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/ubuntu:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Update package index'
|
||||||
|
run: 'apt-get update'
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apt-get install -y ca-certificates curl file idn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-fedora-latest:
|
||||||
|
name: 'Test on Fedora'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/fedora:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'dnf install -y ca-certificates curl findutils file idn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-rockylinux-latest:
|
||||||
|
name: 'Test on Rocky Linux'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/rockylinux:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'dnf install -y ca-certificates curl findutils file idn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-opensuse-latest:
|
||||||
|
name: 'Test on openSUSE'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/opensuse/leap:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'zypper install -y ca-certificates curl file gzip libidn2-tools make tar'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-archlinux-latest:
|
||||||
|
name: 'Test on Arch Linux'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/archlinux:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-archlinux-latest-awk-nawk:
|
||||||
|
name: 'Test on Arch Linux (nawk awk implementation)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/archlinux:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'pacman -Syu --noconfirm --needed nawk'
|
||||||
|
- name: 'Print nawk version'
|
||||||
|
run: 'pacman -Qi nawk'
|
||||||
|
- name: 'Set default awk implementation'
|
||||||
|
run: 'ln -sf "$(command -v nawk)" /usr/bin/awk'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-alpine-latest:
|
||||||
|
name: 'Test on Alpine Linux'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-bash:
|
||||||
|
name: 'Test on Alpine Linux (bash shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache bash'
|
||||||
|
- name: 'Print bash version'
|
||||||
|
run: 'apk info --no-cache bash'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v bash)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-zsh:
|
||||||
|
name: 'Test on Alpine Linux (zsh shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache zsh'
|
||||||
|
- name: 'Print zsh version'
|
||||||
|
run: 'apk info --no-cache zsh'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v zsh)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-dash:
|
||||||
|
name: 'Test on Alpine Linux (dash shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache dash'
|
||||||
|
- name: 'Print dash version'
|
||||||
|
run: 'apk info --no-cache dash'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v dash)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-mksh:
|
||||||
|
name: 'Test on Alpine Linux (mksh shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache mksh'
|
||||||
|
- name: 'Print mksh version'
|
||||||
|
run: 'apk info --no-cache mksh'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v mksh)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-oksh:
|
||||||
|
name: 'Test on Alpine Linux (oksh shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing oksh'
|
||||||
|
- name: 'Print oksh version'
|
||||||
|
run: 'apk info --no-cache oksh'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v oksh)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-yash:
|
||||||
|
name: 'Test on Alpine Linux (yash shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache yash'
|
||||||
|
- name: 'Print yash version'
|
||||||
|
run: 'apk info --no-cache yash'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v yash)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-busybox-ash:
|
||||||
|
name: 'Test on Alpine Linux (BusyBox ash shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache busybox'
|
||||||
|
- name: 'Print BusyBox version'
|
||||||
|
run: 'apk info --no-cache busybox'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v busybox) ash"'
|
||||||
|
|
||||||
|
test-alpine-latest-awk-gawk:
|
||||||
|
name: 'Test on Alpine Linux (gawk awk implementation)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache gawk'
|
||||||
|
- name: 'Print gawk version'
|
||||||
|
run: 'apk info --no-cache gawk'
|
||||||
|
- name: 'Set default awk implementation'
|
||||||
|
run: 'ln -sf "$(command -v gawk)" /usr/bin/awk'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-alpine-latest-awk-mawk:
|
||||||
|
name: 'Test on Alpine Linux (mawk awk implementation)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache mawk'
|
||||||
|
- name: 'Print mawk version'
|
||||||
|
run: 'apk info --no-cache mawk'
|
||||||
|
- name: 'Set default awk implementation'
|
||||||
|
run: 'ln -sf "$(command -v mawk)" /usr/bin/awk'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-alpine-latest-awk-busybox-awk:
|
||||||
|
name: 'Test on Alpine Linux (BusyBox awk implementation)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache busybox'
|
||||||
|
- name: 'Print busybox version'
|
||||||
|
run: 'apk info --no-cache busybox'
|
||||||
|
- name: 'Set default awk implementation'
|
||||||
|
run: 'ln -sf "$(command -v busybox)" /usr/bin/awk'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-openwrt-latest:
|
||||||
|
name: 'Test on OpenWrt'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/openwrtorg/rootfs:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Apply workarounds for GitHub Actions runner'
|
||||||
|
run: 'printf "ID=alpine\n" > /etc/_os-release'
|
||||||
|
- name: 'Update package index'
|
||||||
|
run: 'mkdir -p /var/run/; mkdir -p /var/lock/; opkg update ||:'
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'opkg install ca-certificates curl file idn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-openwrt-latest-shell-busybox-ash:
|
||||||
|
name: 'Test on OpenWrt (BusyBox ash shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/openwrtorg/rootfs:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Apply workarounds for GitHub Actions runner'
|
||||||
|
run: 'printf "ID=alpine\n" > /etc/_os-release'
|
||||||
|
- name: 'Update package index'
|
||||||
|
run: 'mkdir -p /var/run/; mkdir -p /var/lock/; opkg update ||:'
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'opkg install ca-certificates curl file idn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'opkg install busybox'
|
||||||
|
- name: 'Print BusyBox version'
|
||||||
|
run: 'opkg info busybox'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v busybox) ash"'
|
||||||
|
|
||||||
|
test-macos-latest:
|
||||||
|
name: 'Test on macOS bash'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'macos-latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'brew install curl libidn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all'
|
||||||
|
|
||||||
|
test-macos-latest-shell-bash:
|
||||||
|
name: 'Test on macOS (bash shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'macos-latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'brew install curl libidn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v bash)"'
|
||||||
|
|
||||||
|
test-macos-latest-shell-zsh:
|
||||||
|
name: 'Test on macOS (zsh shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'macos-latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'brew install curl libidn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v zsh)"'
|
||||||
|
|
||||||
|
test-macos-latest-shell-dash:
|
||||||
|
name: 'Test on macOS (dash shell)'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
runs-on: 'macos-latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'brew install curl libidn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Test project'
|
||||||
|
run: 'make test-all TEST_SHELL="$(command -v dash)"'
|
||||||
|
|
||||||
|
build-debian-latest:
|
||||||
|
name: 'Build on Debian'
|
||||||
|
needs:
|
||||||
|
- 'test-debian-latest'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/debian:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Update package index'
|
||||||
|
run: 'apt-get update'
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apt-get install -y ca-certificates curl file idn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make hosts stats index'
|
||||||
|
|
||||||
|
build-ubuntu-latest:
|
||||||
|
name: 'Build on Ubuntu'
|
||||||
|
needs:
|
||||||
|
- 'test-ubuntu-latest'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/ubuntu:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Update package index'
|
||||||
|
run: 'apt-get update'
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apt-get install -y ca-certificates curl file idn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make hosts stats index'
|
||||||
|
|
||||||
|
build-fedora-latest:
|
||||||
|
name: 'Build on Fedora'
|
||||||
|
needs:
|
||||||
|
- 'test-fedora-latest'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/fedora:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'dnf install -y ca-certificates curl findutils file idn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make hosts stats index'
|
||||||
|
|
||||||
|
build-rockylinux-latest:
|
||||||
|
name: 'Build on Rocky Linux'
|
||||||
|
needs:
|
||||||
|
- 'test-rockylinux-latest'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/rockylinux:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'dnf install -y ca-certificates curl findutils file idn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make hosts stats index'
|
||||||
|
|
||||||
|
build-opensuse-latest:
|
||||||
|
name: 'Build on openSUSE'
|
||||||
|
needs:
|
||||||
|
- 'test-opensuse-latest'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/opensuse/tumbleweed:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'zypper install -y ca-certificates curl file gzip libidn2-tools make tar'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make hosts stats index'
|
||||||
|
|
||||||
|
build-archlinux-latest:
|
||||||
|
name: 'Build on Arch Linux'
|
||||||
|
needs:
|
||||||
|
- 'test-archlinux-latest'
|
||||||
|
- 'test-archlinux-latest-awk-nawk'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/archlinux:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make hosts stats index'
|
||||||
|
|
||||||
|
build-alpine-latest:
|
||||||
|
name: 'Build on Alpine Linux'
|
||||||
|
needs:
|
||||||
|
- 'test-alpine-latest'
|
||||||
|
- 'test-alpine-latest-shell-bash'
|
||||||
|
- 'test-alpine-latest-shell-zsh'
|
||||||
|
- 'test-alpine-latest-shell-dash'
|
||||||
|
- 'test-alpine-latest-shell-mksh'
|
||||||
|
- 'test-alpine-latest-shell-oksh'
|
||||||
|
- 'test-alpine-latest-shell-yash'
|
||||||
|
- 'test-alpine-latest-shell-busybox-ash'
|
||||||
|
- 'test-alpine-latest-awk-gawk'
|
||||||
|
- 'test-alpine-latest-awk-mawk'
|
||||||
|
- 'test-alpine-latest-awk-busybox-awk'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make hosts stats index'
|
||||||
|
|
||||||
|
build-openwrt-latest:
|
||||||
|
name: 'Build on OpenWrt'
|
||||||
|
needs:
|
||||||
|
- 'test-openwrt-latest'
|
||||||
|
- 'test-openwrt-latest-shell-busybox-ash'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container: 'docker.io/openwrtorg/rootfs:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Apply workarounds for GitHub Actions runner'
|
||||||
|
run: 'printf "ID=alpine\n" > /etc/_os-release'
|
||||||
|
- name: 'Update package index'
|
||||||
|
run: 'mkdir -p /var/run/; mkdir -p /var/lock/; opkg update ||:'
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'opkg install ca-certificates curl file idn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make hosts stats index'
|
||||||
|
|
||||||
|
build-macos-latest:
|
||||||
|
name: 'Build on macOS'
|
||||||
|
needs:
|
||||||
|
- 'test-macos-latest'
|
||||||
|
- 'test-macos-latest-shell-bash'
|
||||||
|
- 'test-macos-latest-shell-zsh'
|
||||||
|
- 'test-macos-latest-shell-dash'
|
||||||
|
runs-on: 'macos-latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Use dash as sh'
|
||||||
|
run: 'sudo ln -sf /bin/dash /var/select/sh'
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'brew install curl libidn2 make'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Build project'
|
||||||
|
run: 'make hosts stats index'
|
||||||
|
|
||||||
|
package-deb:
|
||||||
|
name: 'Create deb package'
|
||||||
|
needs:
|
||||||
|
- 'build-debian-latest'
|
||||||
|
- 'build-ubuntu-latest'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container:
|
||||||
|
image: 'docker.io/debian:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Update package index'
|
||||||
|
run: 'apt-get update'
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apt-get install -y ca-certificates curl file idn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apt-get install -y build-essential debhelper dpkg-dev m4 rsync'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Package project'
|
||||||
|
run: |
|
||||||
|
make package-deb
|
||||||
|
mv ./dist/ ./dist-package-deb/
|
||||||
|
apt install -y ./dist-package-deb/packages/hblock-*.deb
|
||||||
|
command hblock -v
|
||||||
|
|
||||||
|
package-rpm:
|
||||||
|
name: 'Create RPM package'
|
||||||
|
needs:
|
||||||
|
- 'build-fedora-latest'
|
||||||
|
- 'build-rockylinux-latest'
|
||||||
|
- 'build-opensuse-latest'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container:
|
||||||
|
image: 'docker.io/fedora:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'dnf install -y ca-certificates curl findutils file idn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'dnf install -y m4 rpm-build rpmdevtools rsync systemd'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Package project'
|
||||||
|
run: |
|
||||||
|
make package-rpm
|
||||||
|
mv ./dist/ ./dist-package-rpm/
|
||||||
|
dnf install -y ./dist-package-rpm/packages/hblock-*.rpm
|
||||||
|
command hblock -v
|
||||||
|
|
||||||
|
package-pkgbuild:
|
||||||
|
name: 'Create PKGBUILD package'
|
||||||
|
needs:
|
||||||
|
- 'build-archlinux-latest'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container:
|
||||||
|
image: 'docker.io/archlinux:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'pacman -Syu --noconfirm --needed base-devel m4 rsync sudo'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Package project'
|
||||||
|
run: |
|
||||||
|
mkdir ./dist/; chown nobody ./dist/
|
||||||
|
sudo -u nobody make package-pkgbuild
|
||||||
|
mv ./dist/ ./dist-package-pkgbuild/
|
||||||
|
pacman -U --noconfirm ./dist-package-pkgbuild/packages/hblock-*.pkg.tar.*
|
||||||
|
command hblock -v
|
||||||
|
|
||||||
|
package-apkbuild:
|
||||||
|
name: 'Create APKBUILD package'
|
||||||
|
needs:
|
||||||
|
- 'build-alpine-latest'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container:
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache alpine-sdk m4 rsync sudo'
|
||||||
|
- name: 'Create unprivileged user and setup abuild'
|
||||||
|
run: |
|
||||||
|
adduser -D -G abuild build
|
||||||
|
printf "\n%s\n" "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||||
|
sudo -u build abuild-keygen -a -i -n
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Package project'
|
||||||
|
run: |
|
||||||
|
mkdir ./dist/; chown build ./dist/
|
||||||
|
sudo -u build make package-apkbuild
|
||||||
|
mv ./dist/ ./dist-package-apkbuild/
|
||||||
|
apk add --allow-untrusted ./dist-package-apkbuild/packages/hblock-*.apk
|
||||||
|
command hblock -v
|
||||||
|
|
||||||
|
package-npm:
|
||||||
|
name: 'Create npm package'
|
||||||
|
needs:
|
||||||
|
- 'build-alpine-latest'
|
||||||
|
runs-on: 'ubuntu-latest'
|
||||||
|
container:
|
||||||
|
image: 'docker.io/node:current-alpine'
|
||||||
|
steps:
|
||||||
|
- name: 'Install packages'
|
||||||
|
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- name: 'Install packages (2nd stage)'
|
||||||
|
run: 'apk add --no-cache m4 rsync'
|
||||||
|
- name: 'Checkout project'
|
||||||
|
uses: 'actions/checkout@main'
|
||||||
|
- name: 'Package project'
|
||||||
|
run: |
|
||||||
|
make package-npm
|
||||||
|
mv ./dist/ ./dist-package-npm/
|
||||||
|
npm install -g ./dist-package-npm/packages/hblock-*.tgz
|
||||||
|
command hblock -v
|
||||||
26
.github/workflows/lint.yml
vendored
26
.github/workflows/lint.yml
vendored
|
|
@ -1,26 +0,0 @@
|
||||||
name: 'Lint'
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: ['*']
|
|
||||||
pull_request:
|
|
||||||
branches: ['*']
|
|
||||||
schedule:
|
|
||||||
- cron: '42 02 * * *'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
lint-shellcheck-stable:
|
|
||||||
name: 'Lint with ShellCheck'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container:
|
|
||||||
image: 'docker.io/koalaman/shellcheck-alpine:stable'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Print ShellCheck version'
|
|
||||||
run: 'shellcheck --version'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Lint project'
|
|
||||||
run: 'make lint'
|
|
||||||
115
.github/workflows/package.yml
vendored
115
.github/workflows/package.yml
vendored
|
|
@ -1,115 +0,0 @@
|
||||||
name: 'Package'
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: ['*']
|
|
||||||
pull_request:
|
|
||||||
branches: ['*']
|
|
||||||
schedule:
|
|
||||||
- cron: '42 02 * * *'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
package-deb:
|
|
||||||
name: 'Create deb package'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container:
|
|
||||||
image: 'docker.io/debian:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Update package index'
|
|
||||||
run: 'apt-get update'
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apt-get install -y ca-certificates curl file idn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apt-get install -y build-essential debhelper dpkg-dev m4 rsync'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Package project'
|
|
||||||
run: |
|
|
||||||
make package-deb
|
|
||||||
mv ./dist/ ./dist-package-deb/
|
|
||||||
apt install -y ./dist-package-deb/packages/hblock-*.deb
|
|
||||||
command hblock -v
|
|
||||||
|
|
||||||
package-rpm:
|
|
||||||
name: 'Create RPM package'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container:
|
|
||||||
image: 'docker.io/fedora:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'dnf install -y ca-certificates curl findutils file idn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'dnf install -y m4 rpm-build rpmdevtools rsync systemd'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Package project'
|
|
||||||
run: |
|
|
||||||
make package-rpm
|
|
||||||
mv ./dist/ ./dist-package-rpm/
|
|
||||||
dnf install -y ./dist-package-rpm/packages/hblock-*.rpm
|
|
||||||
command hblock -v
|
|
||||||
|
|
||||||
package-pkgbuild:
|
|
||||||
name: 'Create PKGBUILD package'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container:
|
|
||||||
image: 'docker.io/archlinux:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'pacman -Syu --noconfirm --needed base-devel m4 rsync sudo'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Package project'
|
|
||||||
run: |
|
|
||||||
mkdir ./dist/; chown nobody ./dist/
|
|
||||||
sudo -u nobody make package-pkgbuild
|
|
||||||
mv ./dist/ ./dist-package-pkgbuild/
|
|
||||||
pacman -U --noconfirm ./dist-package-pkgbuild/packages/hblock-*.pkg.tar.*
|
|
||||||
command hblock -v
|
|
||||||
|
|
||||||
package-apkbuild:
|
|
||||||
name: 'Create APKBUILD package'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container:
|
|
||||||
image: 'docker.io/alpine:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache alpine-sdk m4 rsync sudo'
|
|
||||||
- name: 'Create unprivileged user and setup abuild'
|
|
||||||
run: |
|
|
||||||
adduser -D -G abuild build
|
|
||||||
printf "\n%s\n" "build ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
|
||||||
sudo -u build abuild-keygen -a -i -n
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Package project'
|
|
||||||
run: |
|
|
||||||
mkdir ./dist/; chown build ./dist/
|
|
||||||
sudo -u build make package-apkbuild
|
|
||||||
mv ./dist/ ./dist-package-apkbuild/
|
|
||||||
apk add --allow-untrusted ./dist-package-apkbuild/packages/hblock-*.apk
|
|
||||||
command hblock -v
|
|
||||||
|
|
||||||
package-npm:
|
|
||||||
name: 'Create npm package'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container:
|
|
||||||
image: 'docker.io/node:current-alpine'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache m4 rsync'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Package project'
|
|
||||||
run: |
|
|
||||||
make package-npm
|
|
||||||
mv ./dist/ ./dist-package-npm/
|
|
||||||
npm install -g ./dist-package-npm/packages/hblock-*.tgz
|
|
||||||
command hblock -v
|
|
||||||
363
.github/workflows/test.yml
vendored
363
.github/workflows/test.yml
vendored
|
|
@ -1,363 +0,0 @@
|
||||||
name: 'Test'
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: ['*']
|
|
||||||
pull_request:
|
|
||||||
branches: ['*']
|
|
||||||
schedule:
|
|
||||||
- cron: '42 02 * * *'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
test-debian-latest:
|
|
||||||
name: 'Test on Debian'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/debian:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Update package index'
|
|
||||||
run: 'apt-get update'
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apt-get install -y ca-certificates curl file idn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-ubuntu-latest:
|
|
||||||
name: 'Test on Ubuntu'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/ubuntu:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Update package index'
|
|
||||||
run: 'apt-get update'
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apt-get install -y ca-certificates curl file idn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-fedora-latest:
|
|
||||||
name: 'Test on Fedora'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/fedora:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'dnf install -y ca-certificates curl findutils file idn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-rockylinux-latest:
|
|
||||||
name: 'Test on Rocky Linux'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/rockylinux:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'dnf install -y ca-certificates curl findutils file idn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-opensuse-latest:
|
|
||||||
name: 'Test on openSUSE'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/opensuse/leap:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'zypper install -y ca-certificates curl file gzip libidn2-tools make tar'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-archlinux-latest:
|
|
||||||
name: 'Test on Arch Linux'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/archlinux:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-alpine-latest:
|
|
||||||
name: 'Test on Alpine Linux'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-openwrt-latest:
|
|
||||||
name: 'Test on OpenWrt'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/openwrtorg/rootfs:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Apply workarounds for GitHub Actions runner'
|
|
||||||
run: 'printf "ID=alpine\n" > /etc/_os-release'
|
|
||||||
- name: 'Update package index'
|
|
||||||
run: 'mkdir -p /var/run/; mkdir -p /var/lock/; opkg update ||:'
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'opkg install ca-certificates curl file idn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-macos-latest:
|
|
||||||
name: 'Test on macOS bash'
|
|
||||||
runs-on: 'macos-latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'brew install curl libidn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-bash:
|
|
||||||
name: 'Test on Alpine Linux Edge (bash)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:edge'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache bash'
|
|
||||||
- name: 'Print bash version'
|
|
||||||
run: 'apk info --no-cache bash'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v bash)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-zsh:
|
|
||||||
name: 'Test on Alpine Linux Edge (zsh)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:edge'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache zsh'
|
|
||||||
- name: 'Print zsh version'
|
|
||||||
run: 'apk info --no-cache zsh'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v zsh)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-dash:
|
|
||||||
name: 'Test on Alpine Linux Edge (dash)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:edge'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache dash'
|
|
||||||
- name: 'Print dash version'
|
|
||||||
run: 'apk info --no-cache dash'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v dash)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-mksh:
|
|
||||||
name: 'Test on Alpine Linux Edge (mksh)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:edge'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache mksh'
|
|
||||||
- name: 'Print mksh version'
|
|
||||||
run: 'apk info --no-cache mksh'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v mksh)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-oksh:
|
|
||||||
name: 'Test on Alpine Linux Edge (oksh)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:edge'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing oksh'
|
|
||||||
- name: 'Print oksh version'
|
|
||||||
run: 'apk info --no-cache oksh'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v oksh)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-yash:
|
|
||||||
name: 'Test on Alpine Linux Edge (yash)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:edge'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache yash'
|
|
||||||
- name: 'Print yash version'
|
|
||||||
run: 'apk info --no-cache yash'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v yash)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-busybox-ash:
|
|
||||||
name: 'Test on Alpine Linux Edge (BusyBox ash)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:edge'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache busybox'
|
|
||||||
- name: 'Print BusyBox version'
|
|
||||||
run: 'apk info --no-cache busybox'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v busybox) ash"'
|
|
||||||
|
|
||||||
test-openwrt-latest-shell-busybox-ash:
|
|
||||||
name: 'Test on OpenWrt (BusyBox ash)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/openwrtorg/rootfs:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Apply workarounds for GitHub Actions runner'
|
|
||||||
run: 'printf "ID=alpine\n" > /etc/_os-release'
|
|
||||||
- name: 'Update package index'
|
|
||||||
run: 'mkdir -p /var/run/; mkdir -p /var/lock/; opkg update ||:'
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'opkg install ca-certificates curl file idn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'opkg install busybox'
|
|
||||||
- name: 'Print BusyBox version'
|
|
||||||
run: 'opkg info busybox'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Build project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v busybox) ash"'
|
|
||||||
|
|
||||||
test-macos-latest-shell-bash:
|
|
||||||
name: 'Test on macOS (bash)'
|
|
||||||
runs-on: 'macos-latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'brew install curl libidn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v bash)"'
|
|
||||||
|
|
||||||
test-macos-latest-shell-zsh:
|
|
||||||
name: 'Test on macOS (zsh)'
|
|
||||||
runs-on: 'macos-latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'brew install curl libidn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v zsh)"'
|
|
||||||
|
|
||||||
test-macos-latest-shell-dash:
|
|
||||||
name: 'Test on macOS (dash)'
|
|
||||||
runs-on: 'macos-latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'brew install curl libidn2 make'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all TEST_SHELL="$(command -v dash)"'
|
|
||||||
|
|
||||||
test-alpine-edge-awk-gawk:
|
|
||||||
name: 'Test on Alpine Linux Edge (gawk)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:edge'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache gawk'
|
|
||||||
- name: 'Print gawk version'
|
|
||||||
run: 'apk info --no-cache gawk'
|
|
||||||
- name: 'Set default awk implementation'
|
|
||||||
run: 'ln -sf "$(command -v gawk)" /usr/bin/awk'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-alpine-edge-awk-mawk:
|
|
||||||
name: 'Test on Alpine Linux Edge (mawk)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:edge'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache mawk'
|
|
||||||
- name: 'Print mawk version'
|
|
||||||
run: 'apk info --no-cache mawk'
|
|
||||||
- name: 'Set default awk implementation'
|
|
||||||
run: 'ln -sf "$(command -v mawk)" /usr/bin/awk'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-alpine-edge-awk-busybox-awk:
|
|
||||||
name: 'Test on Alpine Linux Edge (BusyBox awk)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/alpine:edge'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'apk add --no-cache busybox'
|
|
||||||
- name: 'Print busybox version'
|
|
||||||
run: 'apk info --no-cache busybox'
|
|
||||||
- name: 'Set default awk implementation'
|
|
||||||
run: 'ln -sf "$(command -v busybox)" /usr/bin/awk'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
|
|
||||||
test-archlinux-latest-awk-nawk:
|
|
||||||
name: 'Test on Arch Linux (nawk)'
|
|
||||||
runs-on: 'ubuntu-latest'
|
|
||||||
container: 'docker.io/archlinux:latest'
|
|
||||||
steps:
|
|
||||||
- name: 'Install packages'
|
|
||||||
run: 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
|
||||||
- name: 'Install packages (2nd stage)'
|
|
||||||
run: 'pacman -Syu --noconfirm --needed nawk'
|
|
||||||
- name: 'Print nawk version'
|
|
||||||
run: 'pacman -Qi nawk'
|
|
||||||
- name: 'Set default awk implementation'
|
|
||||||
run: 'ln -sf "$(command -v nawk)" /usr/bin/awk'
|
|
||||||
- name: 'Checkout project'
|
|
||||||
uses: 'actions/checkout@main'
|
|
||||||
- name: 'Test project'
|
|
||||||
run: 'make test-all'
|
|
||||||
284
.gitlab-ci.yml
284
.gitlab-ci.yml
|
|
@ -79,6 +79,19 @@ test-archlinux-latest:
|
||||||
script:
|
script:
|
||||||
- 'make test-all'
|
- 'make test-all'
|
||||||
|
|
||||||
|
test-archlinux-latest-awk-nawk:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/archlinux:latest'
|
||||||
|
before_script:
|
||||||
|
- 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
||||||
|
- 'pacman -Syu --noconfirm --needed nawk'
|
||||||
|
- 'pacman -Qi nawk'
|
||||||
|
script:
|
||||||
|
- 'ln -sf "$(command -v nawk)" /usr/bin/awk'
|
||||||
|
- 'make test-all'
|
||||||
|
|
||||||
test-alpine-latest:
|
test-alpine-latest:
|
||||||
stage: 'test'
|
stage: 'test'
|
||||||
needs:
|
needs:
|
||||||
|
|
@ -89,6 +102,129 @@ test-alpine-latest:
|
||||||
script:
|
script:
|
||||||
- 'make test-all'
|
- 'make test-all'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-bash:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
before_script:
|
||||||
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- 'apk add --no-cache bash'
|
||||||
|
- 'apk info --no-cache bash'
|
||||||
|
script:
|
||||||
|
- 'make test-all TEST_SHELL="$(command -v bash)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-zsh:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
before_script:
|
||||||
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- 'apk add --no-cache zsh'
|
||||||
|
- 'apk info --no-cache zsh'
|
||||||
|
script:
|
||||||
|
- 'make test-all TEST_SHELL="$(command -v zsh)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-dash:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
before_script:
|
||||||
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- 'apk add --no-cache dash'
|
||||||
|
- 'apk info --no-cache dash'
|
||||||
|
script:
|
||||||
|
- 'make test-all TEST_SHELL="$(command -v dash)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-mksh:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
before_script:
|
||||||
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- 'apk add --no-cache mksh'
|
||||||
|
- 'apk info --no-cache mksh'
|
||||||
|
script:
|
||||||
|
- 'make test-all TEST_SHELL="$(command -v mksh)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-oksh:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
before_script:
|
||||||
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- 'apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing oksh'
|
||||||
|
- 'apk info --no-cache oksh'
|
||||||
|
script:
|
||||||
|
- 'make test-all TEST_SHELL="$(command -v oksh)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-yash:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
before_script:
|
||||||
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- 'apk add --no-cache yash'
|
||||||
|
- 'apk info --no-cache yash'
|
||||||
|
script:
|
||||||
|
- 'make test-all TEST_SHELL="$(command -v yash)"'
|
||||||
|
|
||||||
|
test-alpine-latest-shell-busybox-ash:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
before_script:
|
||||||
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- 'apk add --no-cache busybox'
|
||||||
|
- 'apk info --no-cache busybox'
|
||||||
|
script:
|
||||||
|
- 'make test-all TEST_SHELL="$(command -v busybox) ash"'
|
||||||
|
|
||||||
|
test-alpine-latest-awk-gawk:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
before_script:
|
||||||
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- 'apk add --no-cache gawk'
|
||||||
|
- 'apk info --no-cache gawk'
|
||||||
|
script:
|
||||||
|
- 'ln -sf "$(command -v gawk)" /usr/bin/awk'
|
||||||
|
- 'make test-all'
|
||||||
|
|
||||||
|
test-alpine-latest-awk-mawk:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
before_script:
|
||||||
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- 'apk add --no-cache mawk'
|
||||||
|
- 'apk info --no-cache mawk'
|
||||||
|
script:
|
||||||
|
- 'ln -sf "$(command -v mawk)" /usr/bin/awk'
|
||||||
|
- 'make test-all'
|
||||||
|
|
||||||
|
test-alpine-latest-awk-busybox-awk:
|
||||||
|
stage: 'test'
|
||||||
|
needs:
|
||||||
|
- 'lint-shellcheck-stable'
|
||||||
|
image: 'docker.io/alpine:latest'
|
||||||
|
before_script:
|
||||||
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
- 'apk add --no-cache busybox'
|
||||||
|
- 'apk info --no-cache busybox'
|
||||||
|
script:
|
||||||
|
- 'ln -sf "$(command -v busybox)" /usr/bin/awk'
|
||||||
|
- 'make test-all'
|
||||||
|
|
||||||
test-openwrt-latest:
|
test-openwrt-latest:
|
||||||
stage: 'test'
|
stage: 'test'
|
||||||
needs:
|
needs:
|
||||||
|
|
@ -100,90 +236,6 @@ test-openwrt-latest:
|
||||||
script:
|
script:
|
||||||
- 'make test-all'
|
- 'make test-all'
|
||||||
|
|
||||||
test-alpine-edge-shell-bash:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/alpine:edge'
|
|
||||||
before_script:
|
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- 'apk add --no-cache bash'
|
|
||||||
- 'apk info --no-cache bash'
|
|
||||||
script:
|
|
||||||
- 'make test-all TEST_SHELL="$(command -v bash)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-zsh:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/alpine:edge'
|
|
||||||
before_script:
|
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- 'apk add --no-cache zsh'
|
|
||||||
- 'apk info --no-cache zsh'
|
|
||||||
script:
|
|
||||||
- 'make test-all TEST_SHELL="$(command -v zsh)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-dash:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/alpine:edge'
|
|
||||||
before_script:
|
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- 'apk add --no-cache dash'
|
|
||||||
- 'apk info --no-cache dash'
|
|
||||||
script:
|
|
||||||
- 'make test-all TEST_SHELL="$(command -v dash)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-mksh:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/alpine:edge'
|
|
||||||
before_script:
|
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- 'apk add --no-cache mksh'
|
|
||||||
- 'apk info --no-cache mksh'
|
|
||||||
script:
|
|
||||||
- 'make test-all TEST_SHELL="$(command -v mksh)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-oksh:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/alpine:edge'
|
|
||||||
before_script:
|
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- 'apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing oksh'
|
|
||||||
- 'apk info --no-cache oksh'
|
|
||||||
script:
|
|
||||||
- 'make test-all TEST_SHELL="$(command -v oksh)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-yash:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/alpine:edge'
|
|
||||||
before_script:
|
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- 'apk add --no-cache yash'
|
|
||||||
- 'apk info --no-cache yash'
|
|
||||||
script:
|
|
||||||
- 'make test-all TEST_SHELL="$(command -v yash)"'
|
|
||||||
|
|
||||||
test-alpine-edge-shell-busybox-ash:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/alpine:edge'
|
|
||||||
before_script:
|
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- 'apk add --no-cache busybox'
|
|
||||||
- 'apk info --no-cache busybox'
|
|
||||||
script:
|
|
||||||
- 'make test-all TEST_SHELL="$(command -v busybox) ash"'
|
|
||||||
|
|
||||||
test-openwrt-latest-shell-busybox-ash:
|
test-openwrt-latest-shell-busybox-ash:
|
||||||
stage: 'test'
|
stage: 'test'
|
||||||
needs:
|
needs:
|
||||||
|
|
@ -197,58 +249,6 @@ test-openwrt-latest-shell-busybox-ash:
|
||||||
script:
|
script:
|
||||||
- 'make test-all TEST_SHELL="$(command -v busybox) ash"'
|
- 'make test-all TEST_SHELL="$(command -v busybox) ash"'
|
||||||
|
|
||||||
test-alpine-edge-awk-gawk:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/alpine:edge'
|
|
||||||
before_script:
|
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- 'apk add --no-cache gawk'
|
|
||||||
- 'apk info --no-cache gawk'
|
|
||||||
script:
|
|
||||||
- 'ln -sf "$(command -v gawk)" /usr/bin/awk'
|
|
||||||
- 'make test-all'
|
|
||||||
|
|
||||||
test-alpine-edge-awk-mawk:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/alpine:edge'
|
|
||||||
before_script:
|
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- 'apk add --no-cache mawk'
|
|
||||||
- 'apk info --no-cache mawk'
|
|
||||||
script:
|
|
||||||
- 'ln -sf "$(command -v mawk)" /usr/bin/awk'
|
|
||||||
- 'make test-all'
|
|
||||||
|
|
||||||
test-alpine-edge-awk-busybox-awk:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/alpine:edge'
|
|
||||||
before_script:
|
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
|
||||||
- 'apk add --no-cache busybox'
|
|
||||||
- 'apk info --no-cache busybox'
|
|
||||||
script:
|
|
||||||
- 'ln -sf "$(command -v busybox)" /usr/bin/awk'
|
|
||||||
- 'make test-all'
|
|
||||||
|
|
||||||
test-archlinux-latest-awk-nawk:
|
|
||||||
stage: 'test'
|
|
||||||
needs:
|
|
||||||
- 'lint-shellcheck-stable'
|
|
||||||
image: 'docker.io/archlinux:latest'
|
|
||||||
before_script:
|
|
||||||
- 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
|
||||||
- 'pacman -Syu --noconfirm --needed nawk'
|
|
||||||
- 'pacman -Qi nawk'
|
|
||||||
script:
|
|
||||||
- 'ln -sf "$(command -v nawk)" /usr/bin/awk'
|
|
||||||
- 'make test-all'
|
|
||||||
|
|
||||||
build-debian-latest:
|
build-debian-latest:
|
||||||
stage: 'build'
|
stage: 'build'
|
||||||
needs:
|
needs:
|
||||||
|
|
@ -325,6 +325,7 @@ build-archlinux-latest:
|
||||||
stage: 'build'
|
stage: 'build'
|
||||||
needs:
|
needs:
|
||||||
- 'test-archlinux-latest'
|
- 'test-archlinux-latest'
|
||||||
|
- 'test-archlinux-latest-awk-nawk'
|
||||||
image: 'docker.io/archlinux:latest'
|
image: 'docker.io/archlinux:latest'
|
||||||
before_script:
|
before_script:
|
||||||
- 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
- 'pacman -Syu --noconfirm --needed ca-certificates curl file libidn2 make'
|
||||||
|
|
@ -339,6 +340,16 @@ build-alpine-latest:
|
||||||
stage: 'build'
|
stage: 'build'
|
||||||
needs:
|
needs:
|
||||||
- 'test-alpine-latest'
|
- 'test-alpine-latest'
|
||||||
|
- 'test-alpine-latest-shell-bash'
|
||||||
|
- 'test-alpine-latest-shell-zsh'
|
||||||
|
- 'test-alpine-latest-shell-dash'
|
||||||
|
- 'test-alpine-latest-shell-mksh'
|
||||||
|
- 'test-alpine-latest-shell-oksh'
|
||||||
|
- 'test-alpine-latest-shell-yash'
|
||||||
|
- 'test-alpine-latest-shell-busybox-ash'
|
||||||
|
- 'test-alpine-latest-awk-gawk'
|
||||||
|
- 'test-alpine-latest-awk-mawk'
|
||||||
|
- 'test-alpine-latest-awk-busybox-awk'
|
||||||
image: 'docker.io/alpine:latest'
|
image: 'docker.io/alpine:latest'
|
||||||
before_script:
|
before_script:
|
||||||
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
- 'apk add --no-cache ca-certificates curl file libidn2 make'
|
||||||
|
|
@ -353,6 +364,7 @@ build-openwrt-latest:
|
||||||
stage: 'build'
|
stage: 'build'
|
||||||
needs:
|
needs:
|
||||||
- 'test-openwrt-latest'
|
- 'test-openwrt-latest'
|
||||||
|
- 'test-openwrt-latest-shell-busybox-ash'
|
||||||
image: 'docker.io/openwrtorg/rootfs:latest'
|
image: 'docker.io/openwrtorg/rootfs:latest'
|
||||||
before_script:
|
before_script:
|
||||||
- 'mkdir -p /var/run/; mkdir -p /var/lock/; opkg update ||:'
|
- 'mkdir -p /var/run/; mkdir -p /var/lock/; opkg update ||:'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue