name: GitHub CI on: pull_request: push: schedule: - cron: 0 0 * * 0 defaults: run: shell: 'bash -Eeuo pipefail -x {0}' jobs: generate-jobs: name: Generate Jobs runs-on: ubuntu-latest outputs: strategy: ${{ steps.generate-jobs.outputs.strategy }} steps: - uses: actions/checkout@v2 - id: generate-jobs name: Generate Jobs run: | git clone --depth 1 https://github.com/docker-library/bashbrew.git -b master ~/bashbrew strategy="$(~/bashbrew/scripts/github-actions/generate.sh)" jq . <<<"$strategy" # sanity check / debugging aid echo "::set-output name=strategy::$strategy" test: needs: generate-jobs strategy: ${{ fromJson(needs.generate-jobs.outputs.strategy) }} name: ${{ matrix.name }} runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Prepare Environment run: ${{ matrix.runs.prepare }} - name: Pull Dependencies run: ${{ matrix.runs.pull }} - name: Build ${{ matrix.name }} run: ${{ matrix.runs.build }} - name: History ${{ matrix.name }} run: ${{ matrix.runs.history }} - name: Test ${{ matrix.name }} run: ${{ matrix.runs.test }} - name: '"docker images"' run: ${{ matrix.runs.images }}