Skip to content

Update content from upstream (NIST and FedRAMP) #4

Update content from upstream (NIST and FedRAMP)

Update content from upstream (NIST and FedRAMP) #4

name: Update content from upstream (NIST and FedRAMP)
on: workflow_dispatch
env:
FEDRAMP_PROFILE_NAME: "fedramp_rev5_high"
NIST_CATALOG_NAME: "nist_rev5_800_53"
jobs:
update:
name: Update content
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Generate app token
uses: tibdex/github-app-token@v1
id: get_installation_token
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.PRIVATE_KEY }}
permissions: >-
{"contents": "write", "pull_requests": "write"}
- name: Clone
uses: actions/checkout@v3
with:
token: ${{ steps.get_installation_token.outputs.token }}
- name: Set up Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Install Trestle
run: make trestle-install
- name: Update catalogs
run: |
rm -rf "catalogs/${NIST_CATALOG_NAME}"
trestle import -f https://raw.githubusercontent.com/usnistgov/oscal-content/master/nist.gov/SP800-53/rev5/json/NIST_SP-800-53_rev5_catalog.json -o "${NIST_CATALOG_NAME}"
- name: Update profiles
run: |
rm -rf "profiles/${FEDRAMP_PROFILE_NAME}"
trestle import -f https://raw.githubusercontent.com/GSA/fedramp-automation/master/dist/content/rev5/baselines/json/FedRAMP_rev5_HIGH-baseline_profile.json -o "${FEDRAMP_PROFILE_NAME}"
trestle href --name "${FEDRAMP_PROFILE_NAME}" -hr "trestle://catalogs/${NIST_CATALOG_NAME}/catalog.json"
- name: Update content
uses: RedHatProductSecurity/[email protected]
with:
markdown_path: "markdown/profiles"
oscal_model: "profile"
file_pattern: "*.json"
branch: "autoupdate-${{ github.run_id }}"
target_branch: "main"
skip_assemble: true
skip_regenerate: true
commit_user_name: "trestle-bot[bot]"
commit_user_email: "136850459+trestle-bot[bot]@users.noreply.github.com"
github_token: ${{ steps.get_installation_token.outputs.token }}