Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add checks and sync script #3

Merged
merged 6 commits into from
Dec 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions .github/workflows/sync_checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: Sync and update Compliance Checks

on:
# Manually trigger the workflow
workflow_dispatch:

permissions:
# We will create a pull request, so we need write permissions
pull-requests: write
# We will be committing to the repository, so we need write permissions
contents: write

jobs:
sync-and-update:
runs-on: ubuntu-latest

services:
postgres:
image: postgres:17.2
env:
POSTGRES_DB: dashboard
POSTGRES_USER: visionBoard
POSTGRES_PASSWORD: password
ports:
- 5432:5432
options: >-
--health-cmd="pg_isready -U visionBoard"
--health-interval=10s
--health-timeout=5s
--health-retries=5

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Create or Checkout Branch (chore/update-content)
run: |
git fetch origin chore/update-content || true
git checkout chore/update-content || git checkout -b chore/update-content

- name: Clone visionBoard and import checks
run: |
git clone https://github.com/OpenPathfinder/visionBoard.git temp-visionBoard
cd temp-visionBoard
npm install
npm run db:migrate
mkdir -p output
npm run db:export-checks
cp output/checks.json ../data/checks.json
cd ..
rm -rf temp-visionBoard
env:
PGHOST: localhost
PGUSER: visionBoard
PGPASSWORD: password
PGDATABASE: dashboard

- name: Debug Git Changes
run: |
git status
git diff

- name: Commit Updated Checks
run: |
git config user.name "GitHub Actions"
git config user.email "[email protected]"
git add -A
git diff --cached --quiet || git commit -m "chore: sync with visionBoard Checks"

- name: Install Dependencies and update dynamic content
run: |
npm install
npm run populate-checks

- name: Debug Git Changes
run: |
git status
git diff

- name: Commit and Push Changes
run: |
git config user.name "GitHub Actions"
git config user.email "[email protected]"
git add -A
git diff --cached --quiet || git commit -m "chore: auto-update content"
git push origin chore/update-content
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create and Assign Pull Request
run: |
gh pr create \
--base main \
--head chore/update-content \
--title "[AUTO] Sync with dashboard database" \
--body "This PR updates the content based on the current state of the Dashboard." \
--assignee "${{ github.actor }}" \
--reviewer "${{ github.actor }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading
Loading