Skip to content
shuffle

GitHub Action

Get Matrix from JSON

v2.0.0 Latest version

Get Matrix from JSON

shuffle

Get Matrix from JSON

Gets a GitHub Action Matrix array for every item in a JSON

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Get Matrix from JSON

uses: Surnet/[email protected]

Learn more about this action in Surnet/get-json-matrix

Choose a version

Build Status

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

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 }}"