Skip to content

Merge sample metadata #569

Merge sample metadata

Merge sample metadata #569

name: Merge sample metadata
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
push:
branches:
# When someone push to `main` branch
- main
paths:
- 'samples/**/assets/sample.json'
jobs:
build:
name: 'Merge all sample.json files to samples.json'
runs-on: ubuntu-latest
steps:
- name: Checkout main branch
uses: actions/checkout@v3
with:
ref: main
path: main
- name: Checkout gh-pages branch
uses: actions/checkout@v3
with:
ref: gh-pages
path: gh-pages
- name: Checkout Docs branch
uses: actions/checkout@v3
with:
ref: Docs
path: Docs
- name: Download Power Apps samples
run: |
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3.raw" \
-o ./main/.metadata/powerapps-samples.json \
https://raw.githubusercontent.com/pnp/powerapps-samples/main/.metadata/samples.json
- name: Download Power Automate samples
run: |
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3.raw" \
-o ./main/.metadata/powerautomate-samples.json \
https://raw.githubusercontent.com/pnp/powerautomate-samples/main/.metadata/samples.json
- name: Download Power Fx samples
run: |
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3.raw" \
-o ./main/.metadata/powerfx-samples.json \
https://raw.githubusercontent.com/pnp/powerfx-samples/main/.metadata/samples.json
- name: Download Power Virtual Agents samples
run: |
curl -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3.raw" \
-o ./main/.metadata/powerva-samples.json \
https://raw.githubusercontent.com/pnp/powerva-samples/main/.metadata/samples.json
- name: Join samples
run: |
jq -s '[.[][]]' ./main/samples/**/assets/sample.json ./main/.metadata/powerapps-samples.json ./main/.metadata/powerautomate-samples.json ./main/.metadata/powerfx-samples.json ./main/.metadata/powerva-samples.json> ./Docs/docs/samples.json
- name: Validate JSON
uses: docker://orrosenblatt/validate-json-action:latest
continue-on-error: true
env:
INPUT_SCHEMA: ./main/templates/metadata-schema.json
INPUT_JSONS: ./Docs/docs/samples.json
- name: copy file to gh-pages
uses: canastro/copy-file-action@master
with:
source: "./Docs/docs/samples.json"
target: "./gh-pages/samples.json"
- name: Commit samples.json to gh-pages
uses: EndBug/add-and-commit@v9
with:
cwd: ./gh-pages
branch: gh-pages
add: 'samples.json --force'
push: true
token: ${{ secrets.GITHUB_TOKEN }}
- name: Commit samples.json to Docs
uses: EndBug/add-and-commit@v9
with:
cwd: ./Docs
branch: Docs
add: 'docs/samples.json --force'
push: true
token: ${{ secrets.GITHUB_TOKEN }}