summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorViacheslav Hletenko <v.gletenko@vyos.io>2024-09-06 10:45:27 +0000
committerViacheslav Hletenko <v.gletenko@vyos.io>2024-09-06 11:34:08 +0000
commitc9a5a93834fce33f1e999dd50381cb7ff9e5fabb (patch)
tree26d03e228ca55acc5fc29d4ad18e8331b79e8605 /.github
parent70122746469e930a6775e0c42c4d1fd30bc6d514 (diff)
downloadvyos-build-c9a5a93834fce33f1e999dd50381cb7ff9e5fabb.tar.gz
vyos-build-c9a5a93834fce33f1e999dd50381cb7ff9e5fabb.zip
T6674: Add build-scrips for packages without Jenkins
Add build scripts for .deb packages without Jenkins. To exclude Jenkins we need some place where we can put new builds-scripts to run in parallel (old/new) during meantime. We will deprecate old Jenkins package builds in the future.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/trigger_rebuild_packages.yml198
1 files changed, 198 insertions, 0 deletions
diff --git a/.github/workflows/trigger_rebuild_packages.yml b/.github/workflows/trigger_rebuild_packages.yml
new file mode 100644
index 00000000..0ca9cc28
--- /dev/null
+++ b/.github/workflows/trigger_rebuild_packages.yml
@@ -0,0 +1,198 @@
+name: Trigger to build package
+
+on:
+ push:
+ branches:
+ - circinus
+
+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: |
+ 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/**'
+ 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/**'
+ 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/**'
+ telegraf:
+ - 'scripts/package-build/telegraf/**'
+ waagent:
+ - 'scripts/package-build/waagent/**'
+ wide-dhcpv6:
+ - 'scripts/package-build/wide-dhcpv6/**'
+
+ - 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.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.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.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.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