name: 'Build (All)' on: [push, pull_request] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} cancel-in-progress: true jobs: controller: name: 'Create test plan' runs-on: 'ubuntu-latest' outputs: platforms-level1: ${{ steps.plan.outputs.platforms-level1 }} platforms-others: ${{ steps.plan.outputs.platforms-others }} steps: - uses: actions/setup-python@main with: python-version: 3.x - uses: actions/checkout@main with: sparse-checkout: '.github/workflows/create-test-plan.py' - name: 'Create plan' id: plan run: | # Adding [sdl-ci-filter GLOB] to the commit message will limit the jobs # e.g. [sdl-ci-filter msvc-*] EOF=$(openssl rand -hex 32) cat >/tmp/commit_message.txt <<$EOF ${{ github.event.head_commit.message }} $EOF python .github/workflows/create-test-plan.py \ --github-variable-prefix platforms \ --github-ci \ --verbose \ ${{ (github.repository_owner != 'libsdl-org' && '--no-artifact') || '' }} \ --commit-message-file /tmp/commit_message.txt level1: needs: [controller] uses: './.github/workflows/generic.yml' with: platforms: ${{ needs.controller.outputs.platforms-level1 }} level2: needs: [controller, level1] uses: './.github/workflows/generic.yml' with: platforms: ${{ needs.controller.outputs.platforms-others }}