Skip to content

Ran build playbooks

Ran build playbooks #8

Workflow file for this run

---
# This workflow is conditionned to only run on the main repo
# aristanetworks/avd and not on forks
# cf - https://github.com/actions/runner/issues/859
# TODO - revisist if a feature is ever published
name: "Devel Code Management"
on:
push:
branches:
- devel
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref }}
cancel-in-progress: true
jobs:
file-changes:
runs-on: ubuntu-20.04
outputs:
eos_design: ${{ steps.filter.outputs.eos_design }}
config_gen: ${{ steps.filter.outputs.config_gen }}
cloudvision: ${{ steps.filter.outputs.cloudvision }}
dhcp: ${{ steps.filter.outputs.dhcp }}
plugins: ${{ steps.filter.outputs.plugins }}
requirements: ${{ steps.filter.outputs.requirements }}
docs: ${{ steps.filter.outputs.docs }}
if: |
github.event_name != 'workflow_dispatch' &&
github.repository == 'aristanetworks/avd'
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
eos_design:
- 'ansible_collections/arista/avd/roles/eos_designs/*'
- 'ansible_collections/arista/avd/roles/eos_designs/**/*'
- 'ansible_collections/arista/avd/molecule/*'
- 'ansible_collections/arista/avd/molecule/**/*'
- '!ansible_collections/arista/avd/roles/eos_config_deploy_cvp/*'
- '!ansible_collections/arista/avd/roles/eos_config_deploy_cvp/**/*'
- '!ansible_collections/arista/avd/molecule/cvp_configlet_upload/*'
- '!ansible_collections/arista/avd/molecule/cvp_configlet_upload/**/*'
config_gen:
- 'ansible_collections/arista/avd/roles/eos_cli_config_gen/*'
- 'ansible_collections/arista/avd/roles/eos_cli_config_gen/**/*'
- 'ansible_collections/arista/avd/molecule/eos_cli_config_gen/*'
- 'ansible_collections/arista/avd/molecule/eos_cli_config_gen/**/*'
cloudvision:
- 'ansible_collections/arista/avd/roles/eos_config_deploy_cvp/*'
- 'ansible_collections/arista/avd/roles/eos_config_deploy_cvp/**/*'
- 'ansible_collections/arista/avd/molecule/cvp_configlet_upload/*'
- 'ansible_collections/arista/avd/molecule/cvp_configlet_upload/**/*'
dhcp:
- 'ansible_collections/arista/avd/roles/dhcp_provisioner/*'
- 'ansible_collections/arista/avd/roles/dhcp_provisioner/**/*'
plugins:
- 'ansible_collections/arista/avd/plugins/filter/**'
- 'ansible_collections/arista/avd/plugins/test/**'
requirements:
- 'ansible_collections/arista/avd/requirements.txt'
- 'ansible_collections/arista/avd/requirements-dev.txt'
- 'ansible_collections/arista/avd/meta/runtime.yml'
docs:
- 'mkdocs.yml'
- 'ansible_collections/arista/avd/docs/**'
- 'ansible_collections/arista/avd/roles/**/*.md'
- 'ansible_collections/arista/avd/**/*.md'
- 'ansible_collections/arista/avd/README.md'
# ----------------------------------- #
# Rebuild docker base image
#
# secrets.AVD_BUILDER_TOKEN needs to be a Personal Access Token to the remote
# repository which is https://github.com/arista-netdevops-community/docker-avd-base
#
# The PAT needs to have specific permissions as described here
# https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#create-a-repository-dispatch-event
#
# PAT on arista-netdevops-community are allowed and required to be approved by
# admins of the organization
#
# current PAT belongs to @gmuloc
#
# ----------------------------------- #
docker_build:
name: Webhook to 'arista-netdevops-community/docker-avd-base' to build image
runs-on: ubuntu-20.04
needs: file-changes
# run only if on main repo and if
# * either there is a file change
# * or it is a manually triggered workflow on devel
if: |
github.repository == 'aristanetworks/avd' &&
(needs.file-changes.outputs.requirements == 'true' ||
(github.ref == 'refs/heads/devel' && github.event_name == 'workflow_dispatch'))
steps:
- uses: actions/checkout@v3
- name: 'Trigger avd-base refresh'
run: |
curl \
-X POST \
-H "Accept: application/vnd.github.v3+json" \
-H "Authorization: token ${{secrets.AVD_BUILDER_TOKEN}}" \
https://api.github.com/repos/arista-netdevops-community/docker-avd-base/dispatches \
-d '{"event_type":"refresh"}' \
-f