Skip to content

Build Environment

Build Environment #14

---
name: Build Environment
on:
workflow_dispatch:
# pull_request:
# branches:
# - main
# paths:
# - 'inventory/**.yml'
# - 'inventory/**.yaml'
env:
CML_PASSWORD: ${{ secrets.CML_PASSWORD }}
CML_LAB: ${{ secrets.CML_LAB }}
CML_USERNAME: ${{ secrets.CML_USERNAME }}
CML_HOST: ${{ secrets.CML_HOST }}
CML_VERIFY_CERT: ${{ secrets.CML_VERIFY_CERT }}
jobs:
build:
runs-on: self-hosted
environment: mdd-dev
concurrency: mdd-dev
container:
image: ghcr.io/model-driven-devops/ansible-mdd/mdd:1.2.10
steps:
- name: Checkout Inventory
uses: actions/checkout@v2
- name: Clean existing topology
run: ansible-playbook cisco.cml.clean
- name: Build new topology
run: ansible-playbook cisco.cml.build -e startup='host' -e wait=yes
- name: Install NSO
run: ansible-playbook ciscops.mdd.nso_install
- name: Install NSO Pacakges
run: ansible-playbook ciscops.mdd.nso_update_packages
- name: Initialize NSO
run: ansible-playbook ciscops.mdd.nso_init
- name: Update NSO Devices
run: ansible-playbook ciscops.mdd.nso_update_devices
- name: Validate Data
run: ansible-playbook ciscops.mdd.validate
- name: Push Data
run: ansible-playbook ciscops.mdd.update -e dry_run=no
- name: Sleep to let the network settle
run: sleep 60s
shell: bash
- name: Check State
run: ansible-playbook ciscops.mdd.check