https://github.com/surnet/get-json-matrix
Gets a GitHub Action Matrix array for every item in a JSON
https://github.com/surnet/get-json-matrix
actions github github-actions json matrix
Last synced: 8 months ago
JSON representation
Gets a GitHub Action Matrix array for every item in a JSON
- Host: GitHub
- URL: https://github.com/surnet/get-json-matrix
- Owner: Surnet
- License: mit
- Created: 2023-06-13T12:09:08.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-21T23:17:29.000Z (about 1 year ago)
- Last Synced: 2025-05-12T09:41:37.404Z (9 months ago)
- Topics: actions, github, github-actions, json, matrix
- Language: TypeScript
- Homepage:
- Size: 915 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
[](https://github.com/Surnet/get-json-matrix)
# Surnet/get-json-matrix
This action gets a GitHub Action Matrix from a JSON.
## Inputs
### `filepath`
The path to the JSON file (defaults to: ./matrix.json)
## Example usage
This runs for the file ./matrix.json in our repository and outputs the
```yaml
name: Run for every X in JSON
on:
push:
jobs:
get-matrix:
name: Get Matrix from JSON
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
matrix: ${{ steps.matrix.outputs.matrix }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Get Matrix
id: matrix
uses: Surnet/get-json-matrix@v1
with:
filepath: ./matrix.json
run-for-everything:
name: Run for each Key Value combination in the JSON
needs: get-matrix
permissions: {}
runs-on: ubuntu-latest
strategy:
matrix: ${{ fromJson(needs.get-matrix.outputs.matrix) }}
steps:
- name: Echo matrix
run: |
echo "${{ matrix.key }}"
echo "${{ matrix.value }}"
```