diff --git a/.github/user-profile-schema-validation.json b/.github/user-profile-schema-validation.json new file mode 100644 index 0000000..21a54fd --- /dev/null +++ b/.github/user-profile-schema-validation.json @@ -0,0 +1,75 @@ +{ + "type": "object", + "properties": { + "name": { "type": "string" }, + "github_username": { "type": "string" }, + "opensearch_slack_username": { "type": "string" }, + "company": { "type": "string" }, + "job_title": { "type": "string" }, + "location": { "type": "string" }, + "profile_image": { + "type": "string", + "pattern": "^\\.\\./assets/profile-images/.*\\.jpg$" + }, + "social_media_profiles": { + "type": "object", + "properties": { + "linkedin_id": { "type": "string" }, + "twitter_id": { "type": "string" } + }, + "additionalProperties": false + }, + "personas": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "author", + "conference_speaker", + "osci" + ] + }, + "details": { + "type": "object", + "properties": { + "years": { + "type": "array", + "items": { + "type": "integer", + "enum": [2023, 2024] + }, + "uniqueItems": true + }, + "conference_ids": { + "type": "array", + "items": { "type": "string" }, + "uniqueItems": true + } + }, + "required": [], + "additionalProperties": false + } + }, + "required": ["type"], + "additionalProperties": false + }, + "uniqueItems": true + }, + "description": { + "type": "string", + "maxLength": 255 + } + }, + "required": [ + "name", + "github_username", + "opensearch_slack_username", + "company", + "job_title", + "description" + ], + "additionalProperties": false +} diff --git a/.github/workflows/user-profile-validation.yml b/.github/workflows/user-profile-validation.yml new file mode 100644 index 0000000..e4c0b53 --- /dev/null +++ b/.github/workflows/user-profile-validation.yml @@ -0,0 +1,20 @@ +name: Validate User Profiles + +on: + workflow_dispatch: + pull_request: + paths: + - 'user-profiles/*.json' + +jobs: + json-yaml-validate: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: json-yaml-validate + id: json-yaml-validate + uses: GrantBirki/json-yaml-validate@v3.2.1 + with: + json_schema: '.github/user-profile-schema-validation.json' + comment: "true" diff --git a/assets/profile-images/getsaurabh02.jpg b/assets/profile-images/getsaurabh02.jpg new file mode 100644 index 0000000..5a8b58c Binary files /dev/null and b/assets/profile-images/getsaurabh02.jpg differ diff --git a/assets/profile-images/prudhvigodithi.jpg b/assets/profile-images/prudhvigodithi.jpg new file mode 100644 index 0000000..7769d59 Binary files /dev/null and b/assets/profile-images/prudhvigodithi.jpg differ diff --git a/user-profiles/CMDWillYang.json b/user-profiles/CMDWillYang.json new file mode 100644 index 0000000..2a7b6b4 --- /dev/null +++ b/user-profiles/CMDWillYang.json @@ -0,0 +1,16 @@ +{ + "name": "Will Yang", + "github_username": "CMDWillYang", + "opensearch_slack_username": "Will Yang", + "company": "Purdue University", + "job_title": "Senior", + "personas": [ + { + "type": "osci", + "details": { + "years": [2023] + } + } + ], + "description": "A senior at Purdue University studying CS!" +} diff --git a/user-profiles/getsaurabh02.json b/user-profiles/getsaurabh02.json new file mode 100644 index 0000000..798b24b --- /dev/null +++ b/user-profiles/getsaurabh02.json @@ -0,0 +1,24 @@ +{ + "name": "Saurabh Singh", + "github_username": "getsaurabh02", + "opensearch_slack_username": "Saurabh Singh", + "company": "AWS", + "job_title": "Software Development Manager", + "location": "Seattle WA", + "social_media_profiles": { + "linkedin_id": "getsaurabh02" + }, + "personas": [ + { + "type": "conference_speaker", + "details": { + "conference_ids": ["2023-north-america"] + } + }, + { + "type": "author" + } + ], + "description": "Saurabh is a Software Development Manager at AWS leading the core search, release, and benchmarking areas of the OpenSearch Project. His passion lies in finding solutions for intricate challenges within large-scale distributed systems.", + "profile_image": "../assets/profile-images/getsaurabh02.jpg" +} diff --git a/user-profiles/prudhvigodithi.json b/user-profiles/prudhvigodithi.json new file mode 100644 index 0000000..bacd2d4 --- /dev/null +++ b/user-profiles/prudhvigodithi.json @@ -0,0 +1,19 @@ +{ + "name": "Prudhvi Godithi", + "github_username": "prudhvigodithi", + "opensearch_slack_username": "prudhvi godithi", + "company": "Amazon", + "job_title": "Software Development Engineer", + "location": "Seattle WA", + "social_media_profiles": { + "linkedin_id": "prudhvi-godithi", + "twitter_id": "PGodithi" + }, + "personas": [ + { + "type": "author" + } + ], + "description": "Prudhvi Godithi is an AWS Software Development Engineer working on the OpenSearch project.", + "profile_image": "../assets/profile-images/prudhvigodithi.jpg" +}