Skip to content

Update Lookup Tables #1

Update Lookup Tables

Update Lookup Tables #1

Workflow file for this run

name: Update Lookup Tables
on:
workflow_dispatch:
inputs:
debug_enabled:
type: boolean
description: 'With build debug'
required: false
default: false
schedule:
# 05:35 every wednesday
- cron: '35 5 * * WED'
# push:
# branches:
# - master
jobs:
update_tables:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal access token.
fetch-depth: 0 # otherwise, there would be errors pushing refs to the destination repository.
- name: Install Perl dependencies
run: |
sudo apt install cpanminus
cpanm Text::CSV
- name: Download and Build Products Table
run: |
export TARGET="products/product.sql"
echo 'DELETE FROM "product";' > ${TARGET}.new
echo 'COPY "product" ("oid", "mib", "leaf", "description") FROM STDIN;' >> ${TARGET}.new
curl --silent --location "https://mibbrowser.online/mibdb_search.php?all=1" | \
grep JUNIPER-CHASSIS-DEFINES | \
grep -o 'mib=[^"]\+' | \
sed -e 's/mib=//' | \
grep -hi -E '(product|oid|JUNIPER-CHASSIS-DEFINES)' | \
while read mib; do \
curl --silent --location "https://mibbrowser.online/mibs_json/$mib.json" | \
products/pysmi-json-to-products-table.py >> ${TARGET}.new; \
done
echo '\.' >> ${TARGET}.new
mv ${TARGET}.new ${TARGET}
- name: Download and Build Enterprises Table
run: |
export TARGET="ieee/SMI/enterprise.sql"
echo 'DELETE FROM "enterprise";' > ${TARGET}.new
echo 'COPY "enterprise" ("enterprise_number", "organization") FROM STDIN;' >> ${TARGET}.new
curl --silent --location "https://www.iana.org/assignments/enterprise-numbers.txt" | \
ieee/SMI/smi-to-enterprise-table.py >> ${TARGET}.new
echo '\.' >> ${TARGET}.new
mv ${TARGET}.new ${TARGET}
- name: Commit files
run: |
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add --all
git diff --staged --quiet || git commit -m "Updated Products via Github Actions"
- name: Push changes
uses: ad-m/github-push-action@master
if: ${{ github.event_name == 'workflow_dispatch' && ! inputs.debug_enabled }}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
## if: always() && github.event.inputs.debug_enabled
# if: always() && ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
## with:
## sudo: true