Skip to content

Merge pull request #844 from c-po/T6674-tacacs #78

Merge pull request #844 from c-po/T6674-tacacs

Merge pull request #844 from c-po/T6674-tacacs #78

name: Trigger to build package
on:
push:
branches:
- current
jobs:
changes:
runs-on: ubuntu-latest
env:
REF: main # Used for curl to trigger build package
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.ref_name }}
- uses: dorny/paths-filter@v3
id: changes
with:
base: ${{ github.ref_name }}
filters: |
amazon-cloudwatch-agent:
- 'scripts/package-build/amazon-cloudwatch-agent/**'
amazon-ssm-agent:
- 'scripts/package-build/amazon-ssm-agent/**'
aws-gwlbtun:
- 'scripts/package-build/aws-gwlbtun/**'
ddclient:
- 'scripts/package-build/ddclient/**'
dropbear:
- 'scripts/package-build/dropbear/**'
ethtool:
- 'scripts/package-build/ethtool/**'
frr:
- 'scripts/package-build/frr/**'
frr_exporter:
- 'scripts/package-build/frr_exporter/**'
hostap:
- 'scripts/package-build/hostap/**'
hsflowd:
- 'scripts/package-build/hsflowd/**'
isc-dhcp:
- 'scripts/package-build/isc-dhcp/**'
kea:
- 'scripts/package-build/kea/**'
keepalived:
- 'scripts/package-build/keepalived/**'
linux-kernel:
- 'data/defaults.toml'
- 'scripts/package-build/linux-kernel/**'
ndppd:
- 'scripts/package-build/ndppd/**'
net-snmp:
- 'scripts/package-build/net-snmp/**'
netfilter:
- 'scripts/package-build/netfilter/**'
node_exporter:
- 'scripts/package-build/node_exporter/**'
opennhrp:
- 'scripts/package-build/opennhrp/**'
openvpn-otp:
- 'scripts/package-build/openvpn-otp/**'
owamp:
- 'scripts/package-build/owamp/**'
pam_tacplus:
- 'scripts/package-build/pam_tacplus/**'
pmacct:
- 'scripts/package-build/pmacct/**'
podman:
- 'scripts/package-build/podman/**'
pyhumps:
- 'scripts/package-build/pyhumps/**'
radvd:
- 'scripts/package-build/radvd/**'
strongswan:
- 'scripts/package-build/strongswan/**'
tacacs:
- 'scripts/package-build/tacacs/**'
telegraf:
- 'scripts/package-build/telegraf/**'
waagent:
- 'scripts/package-build/waagent/**'
wide-dhcpv6:
- 'scripts/package-build/wide-dhcpv6/**'
xen-guest-agent:
- 'scripts/package-build/xen-guest-agent/**'
- name: Trigger builds for changed packages
run: |
set -eux
function trigger_build() {
PACKAGE_NAME=$1
echo "${PACKAGE_NAME} change detected!"
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.PAT }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/${{ secrets.REMOTE_OWNER }}/${{ secrets.REMOTE_REUSE_REPO }}/actions/workflows/build-package.yml/dispatches \
-d '{"ref": "${{ env.REF }}", "inputs":{"package_name":"'"$PACKAGE_NAME"'", "gpg_key_id": "${{ secrets.GPG_KEY_ID }}", "package_branch": "${{ github.ref_name }}"}}'
}
# Trigger builds based on detected changes
if [ "${{ steps.changes.outputs.amazon-cloudwatch-agent }}" == "true" ]; then
trigger_build "amazon-cloudwatch-agent"
fi
if [ "${{ steps.changes.outputs.amazon-ssm-agent }}" == "true" ]; then
trigger_build "amazon-ssm-agent"
fi
if [ "${{ steps.changes.outputs.aws-gwlbtun }}" == "true" ]; then
trigger_build "aws-gwlbtun"
fi
if [ "${{ steps.changes.outputs.ddclient }}" == "true" ]; then
trigger_build "ddclient"
fi
if [ "${{ steps.changes.outputs.dropbear }}" == "true" ]; then
trigger_build "dropbear"
fi
if [ "${{ steps.changes.outputs.ethtool }}" == "true" ]; then
trigger_build "ethtool"
fi
if [ "${{ steps.changes.outputs.frr }}" == "true" ]; then
trigger_build "frr"
fi
if [ "${{ steps.changes.outputs.frr_exporter }}" == "true" ]; then
trigger_build "frr_exporter"
fi
if [ "${{ steps.changes.outputs.hostap }}" == "true" ]; then
trigger_build "hostap"
fi
if [ "${{ steps.changes.outputs.hsflowd }}" == "true" ]; then
trigger_build "hsflowd"
fi
if [ "${{ steps.changes.outputs.isc-dhcp }}" == "true" ]; then
trigger_build "isc-dhcp"
fi
if [ "${{ steps.changes.outputs.kea }}" == "true" ]; then
trigger_build "kea"
fi
if [ "${{ steps.changes.outputs.keepalived }}" == "true" ]; then
trigger_build "keepalived"
fi
if [ "${{ steps.changes.outputs.linux-kernel }}" == "true" ]; then
trigger_build "linux-kernel"
fi
if [ "${{ steps.changes.outputs.ndppd }}" == "true" ]; then
trigger_build "ndppd"
fi
if [ "${{ steps.changes.outputs.net-snmp }}" == "true" ]; then
trigger_build "net-snmp"
fi
if [ "${{ steps.changes.outputs.netfilter }}" == "true" ]; then
trigger_build "netfilter"
fi
if [ "${{ steps.changes.outputs.node_exporter }}" == "true" ]; then
trigger_build "node_exporter"
fi
if [ "${{ steps.changes.outputs.opennhrp }}" == "true" ]; then
trigger_build "opennhrp"
fi
if [ "${{ steps.changes.outputs.openvpn-otp }}" == "true" ]; then
trigger_build "openvpn-otp"
fi
if [ "${{ steps.changes.outputs.owamp }}" == "true" ]; then
trigger_build "owamp"
fi
if [ "${{ steps.changes.outputs.pam_tacplus }}" == "true" ]; then
trigger_build "pam_tacplus"
fi
if [ "${{ steps.changes.outputs.pmacct }}" == "true" ]; then
trigger_build "pmacct"
fi
if [ "${{ steps.changes.outputs.podman }}" == "true" ]; then
trigger_build "podman"
fi
if [ "${{ steps.changes.outputs.pyhumps }}" == "true" ]; then
trigger_build "pyhumps"
fi
if [ "${{ steps.changes.outputs.radvd }}" == "true" ]; then
trigger_build "radvd"
fi
if [ "${{ steps.changes.outputs.strongswan }}" == "true" ]; then
trigger_build "strongswan"
fi
if [ "${{ steps.changes.outputs.tacacs }}" == "true" ]; then
trigger_build "tacacs"
fi
if [ "${{ steps.changes.outputs.telegraf }}" == "true" ]; then
trigger_build "telegraf"
fi
if [ "${{ steps.changes.outputs.waagent }}" == "true" ]; then
trigger_build "waagent"
fi
if [ "${{ steps.changes.outputs.wide-dhcpv6 }}" == "true" ]; then
trigger_build "ethtool"
fi
if [ "${{ steps.changes.outputs.xen-guest-agent }}" == "true" ]; then
trigger_build "xen-guest-agent"
fi