Skip to content

fix: corrected path in ci-cd #127

fix: corrected path in ci-cd

fix: corrected path in ci-cd #127

Workflow file for this run

name: NetDevOps CI/CD
on:
push:
paths:
- 'playbooks/**'
- 'configs/**'
- 'inventory/**'
- 'ansible.cfg'
- 'requirements.yml'
- 'test/**'
branches:
- main
workflow_dispatch:
jobs:
Validate:
runs-on: self-hosted
steps:
- name: Checkout repo
uses: actions/checkout@v4
# - name: Setup Python
# uses: actions/setup-python@v5
# with:
# python-version: '3.13'
- name: Sync dependencies with uv
run: |
uv python install 3.14
uv sync --python 3.14
- name: Ansible Syntax Check
run: |
uv run ansible-playbook --syntax-check playbooks/*.yml -i inventory/lab.yml
Backup:
runs-on: self-hosted
env:
CISCO_USER: ${{ secrets.CISCO_USER }}
CISCO_PASS: ${{ secrets.CISCO_PASS }}
needs: Validate
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Sync Dependencies With uv
run: |
uv sync
- name: Backup Configs
run: |
uv run ansible-playbook -i inventory/lab.yml playbooks/infra/01_config_backup.yml
- name: Copy Backups
run: |
cp -v backups/* ~/projects/netdevops/backups/
Deploy:
runs-on: self-hosted
env:
CISCO_USER: ${{ secrets.CISCO_USER }}
CISCO_PASS: ${{ secrets.CISCO_PASS }}
needs: Backup
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Sync Dependencies With uv
run: |
uv sync
- name: Deploy Changes
run: |
uv run ansible-playbook -i inventory/lab.yml playbooks/02_ntp_config.yml
Tests:
runs-on: self-hosted
env:
CISCO_USER: ${{ secrets.CISCO_USER }}
CISCO_PASS: ${{ secrets.CISCO_PASS }}
needs: Deploy
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Sync Dependencies With uv
run: |
uv sync
- name: Export env vars for pyATS
run: |
echo "CISCO_USER=${CISCO_USER}" >> $GITHUB_ENV
echo "CISCO_PASS=${CISCO_PASS}" >> $GITHUB_ENV
- name: Run pyATS Tests
run: |
uv run pyats run job tests/job.py --no-mail --no-archive