summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/check-scripts-executable.yml32
-rw-r--r--.github/workflows/cleanup-mirror-pr-branch.yml16
-rw-r--r--.github/workflows/mirror-pr-and-sync.yml21
-rw-r--r--.github/workflows/repo-sync.yml17
-rw-r--r--.github/workflows/trigger-docker-image-build.yml47
-rw-r--r--.github/workflows/trigger-pr-mirror-repo-sync.yml18
-rw-r--r--.github/workflows/trigger_rebuild_packages.yml68
7 files changed, 166 insertions, 53 deletions
diff --git a/.github/workflows/check-scripts-executable.yml b/.github/workflows/check-scripts-executable.yml
deleted file mode 100644
index 123e9895..00000000
--- a/.github/workflows/check-scripts-executable.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-name: "Check for Jenkins build scripts has executable bit"
-
-on:
- pull_request:
- branches:
- - current
- - circinus
- - sagitta
- - equuleus
-
-permissions:
- contents: read
-
-jobs:
- check-scripts-executable:
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v3
- with:
- repository: ${{ github.repository }}
- - name: Checking scripts are executable
- run: |
- files=$(find packages/ -type f -name '*.py' -or -name '*.sh' -not -executable -print)
- if [[ -n $files ]]; then
- echo "Found files without executable bit:"
- for file in $files; do
- echo $file;
- done;
- exit 1;
- fi
- shell: bash
diff --git a/.github/workflows/cleanup-mirror-pr-branch.yml b/.github/workflows/cleanup-mirror-pr-branch.yml
new file mode 100644
index 00000000..a62e44b2
--- /dev/null
+++ b/.github/workflows/cleanup-mirror-pr-branch.yml
@@ -0,0 +1,16 @@
+name: Cleanup pr mirror branch
+
+on:
+ pull_request:
+ types: [closed]
+ branches:
+ - current
+
+permissions:
+ contents: write
+
+jobs:
+ call-delete-branch:
+ if: github.repository_owner != 'vyos'
+ uses: vyos/.github/.github/workflows/cleanup-mirror-pr-branch.yml@current
+ secrets: inherit
diff --git a/.github/workflows/mirror-pr-and-sync.yml b/.github/workflows/mirror-pr-and-sync.yml
new file mode 100644
index 00000000..120e116d
--- /dev/null
+++ b/.github/workflows/mirror-pr-and-sync.yml
@@ -0,0 +1,21 @@
+name: Create Mirror PR and Repo Sync
+on:
+ workflow_dispatch:
+ inputs:
+ sync_branch:
+ description: 'branch to sync'
+ required: true
+ type: string
+
+permissions:
+ pull-requests: write
+ contents: write
+
+jobs:
+ call-mirror-pr-and-sync:
+ if: github.repository_owner != 'vyos'
+ uses: VyOS-Networks/vyos-reusable-workflows/.github/workflows/mirror-pr-and-sync.yml@main
+ with:
+ sync_branch: ${{ inputs.sync_branch }}
+ secrets:
+ PAT: ${{ secrets.PAT }}
diff --git a/.github/workflows/repo-sync.yml b/.github/workflows/repo-sync.yml
deleted file mode 100644
index 6da2fb40..00000000
--- a/.github/workflows/repo-sync.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: Repo-sync
-
-on:
- pull_request_target:
- types:
- - closed
- branches:
- - current
- workflow_dispatch:
-
-jobs:
- trigger-sync:
- uses: vyos/.github/.github/workflows/trigger-repo-sync.yml@current
- secrets:
- REMOTE_REPO: ${{ secrets.REMOTE_REPO }}
- REMOTE_OWNER: ${{ secrets.REMOTE_OWNER }}
- PAT: ${{ secrets.PAT }}
diff --git a/.github/workflows/trigger-docker-image-build.yml b/.github/workflows/trigger-docker-image-build.yml
new file mode 100644
index 00000000..5e0b07ef
--- /dev/null
+++ b/.github/workflows/trigger-docker-image-build.yml
@@ -0,0 +1,47 @@
+name: Trigger Docker image build
+
+on:
+ pull_request_target:
+ types:
+ - closed
+ branches:
+ - current
+
+permissions:
+ packages: write
+ contents: read
+ attestations: write
+ id-token: write
+ pull-requests: read
+
+jobs:
+ track-changes:
+ if: github.event.pull_request.merged == true
+ runs-on: ubuntu-latest
+
+ env:
+ REF: main # Used for curl to trigger image build
+
+ steps:
+ - name: Checkout vyos/vyos-build repo
+ uses: actions/checkout@v4
+ with:
+ ref: ${{ github.ref_name }}
+
+ - uses: dorny/paths-filter@v3
+ id: changes
+ with:
+ filters: |
+ docker-dir:
+ - 'docker/**'
+
+ - name: "Trigger Docker image build for ${{ github.ref_name }}"
+ if: ${{ steps.changes.outputs.docker-dir == 'true' }}
+ run: |
+ 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-docker-image.yml/dispatches \
+ -d '{"ref": "${{ env.REF }}", "inputs":{"branch":"${{ github.ref_name }}", "environment":"production"}}' \ No newline at end of file
diff --git a/.github/workflows/trigger-pr-mirror-repo-sync.yml b/.github/workflows/trigger-pr-mirror-repo-sync.yml
new file mode 100644
index 00000000..7b4a241f
--- /dev/null
+++ b/.github/workflows/trigger-pr-mirror-repo-sync.yml
@@ -0,0 +1,18 @@
+name: Trigger Mirror PR and Repo Sync
+on:
+ pull_request_target:
+ types:
+ - closed
+ branches:
+ - current
+
+permissions:
+ pull-requests: write
+ contents: write
+ issues: write
+
+jobs:
+ call-trigger-mirror-pr-repo-sync:
+ if: github.repository_owner == 'vyos' && github.event.pull_request.merged == true
+ uses: vyos/.github/.github/workflows/trigger-pr-mirror-repo-sync.yml@current
+ secrets: inherit
diff --git a/.github/workflows/trigger_rebuild_packages.yml b/.github/workflows/trigger_rebuild_packages.yml
index 2be662e8..cfaf6d5c 100644
--- a/.github/workflows/trigger_rebuild_packages.yml
+++ b/.github/workflows/trigger_rebuild_packages.yml
@@ -23,8 +23,16 @@ jobs:
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/**'
+ blackbox_exporter:
+ - 'scripts/package-build/blackbox_exporter/**'
+ bash-completion:
+ - 'scripts/package-build/bash-completion/**'
ddclient:
- 'scripts/package-build/ddclient/**'
dropbear:
@@ -33,6 +41,8 @@ jobs:
- 'scripts/package-build/ethtool/**'
frr:
- 'scripts/package-build/frr/**'
+ frr_exporter:
+ - 'scripts/package-build/frr_exporter/**'
hostap:
- 'scripts/package-build/hostap/**'
hsflowd:
@@ -43,6 +53,10 @@ jobs:
- 'scripts/package-build/kea/**'
keepalived:
- 'scripts/package-build/keepalived/**'
+ libnss-mapuser:
+ - 'scripts/package-build/libnss-mapuser/**'
+ libpam-radius-auth:
+ - 'scripts/package-build/libpam-radius-auth/**'
linux-kernel:
- 'data/defaults.toml'
- 'scripts/package-build/linux-kernel/**'
@@ -52,8 +66,8 @@ jobs:
- 'scripts/package-build/net-snmp/**'
netfilter:
- 'scripts/package-build/netfilter/**'
- opennhrp:
- - 'scripts/package-build/opennhrp/**'
+ node_exporter:
+ - 'scripts/package-build/node_exporter/**'
openvpn-otp:
- 'scripts/package-build/openvpn-otp/**'
owamp:
@@ -70,12 +84,18 @@ jobs:
- 'scripts/package-build/radvd/**'
strongswan:
- 'scripts/package-build/strongswan/**'
+ tacacs:
+ - 'scripts/package-build/tacacs/**'
telegraf:
- 'scripts/package-build/telegraf/**'
+ vpp:
+ - 'scripts/package-build/vpp/**'
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: |
@@ -93,10 +113,26 @@ jobs:
}
# 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.bash-completion }}" == "true" ]; then
+ trigger_build "bash-completion"
+ fi
+
+ if [ "${{ steps.changes.outputs.blackbox_exporter }}" == "true" ]; then
+ trigger_build "blackbox_exporter"
+ fi
+
if [ "${{ steps.changes.outputs.ddclient }}" == "true" ]; then
trigger_build "ddclient"
fi
@@ -113,6 +149,10 @@ jobs:
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
@@ -133,6 +173,14 @@ jobs:
trigger_build "keepalived"
fi
+ if [ "${{ steps.changes.outputs.libnss-mapuser }}" == "true" ]; then
+ trigger_build "libnss-mapuser"
+ fi
+
+ if [ "${{ steps.changes.outputs.libpam-radius-auth }}" == "true" ]; then
+ trigger_build "libpam-radius-auth"
+ fi
+
if [ "${{ steps.changes.outputs.linux-kernel }}" == "true" ]; then
trigger_build "linux-kernel"
fi
@@ -149,8 +197,8 @@ jobs:
trigger_build "netfilter"
fi
- if [ "${{ steps.changes.outputs.opennhrp }}" == "true" ]; then
- trigger_build "opennhrp"
+ if [ "${{ steps.changes.outputs.node_exporter }}" == "true" ]; then
+ trigger_build "node_exporter"
fi
if [ "${{ steps.changes.outputs.openvpn-otp }}" == "true" ]; then
@@ -185,10 +233,18 @@ jobs:
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.vpp }}" == "true" ]; then
+ trigger_build "vpp"
+ fi
+
if [ "${{ steps.changes.outputs.waagent }}" == "true" ]; then
trigger_build "waagent"
fi
@@ -196,3 +252,7 @@ jobs:
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