Skip to content

Workflow file for this run

# TODO: https://stackoverflow.com/questions/59180385/using-an-array-of-values-to-repeat-a-step-in-github-actions-workflow
name: environment and tools
on: [push]
jobs:
decision:
runs-on: ubuntu-latest
outputs:
data: ${{ steps.decision.outputs.data }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/decision
id: decision
docker-base:
if: ${{ github.sha == '1' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/task
with:
name: "docker image: base"
docker:
if: ${{ !cancelled() }}
needs: [decision, docker-base]
strategy:
fail-fast: false
matrix:
include: [ { "task": "docker image: build", "runner": "ubuntu-latest" }, { "task": "docker image: test", "runner": "ubuntu-latest" }, { "task": "docker image: build-tools", "runner": "ubuntu-latest" } ]
# include: ${{ fromJSON(needs.decision.outputs.data)[github.job] }}
runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/task
with:
name: "${{ matrix.task }}"
# msys-base:
# if: ${{ github.sha == '1' }}
# runs-on: ubuntu-latest
# needs: docker-base
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: "msys2 image: base x86_64"
#
# msys:
# if: ${{ github.sha == '1' }}
# strategy:
# fail-fast: false
# matrix:
# image:
# - build
# - test
# runs-on: windows-latest
# needs: msys-base
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: "msys2 image: ${{ matrix.image }} x86_64"
#
# git:
# if: ${{ github.sha == '1' }}
# strategy:
# fail-fast: false
# matrix:
# version:
# - 1.8.5
# - 2.7.4
# - 2.47.1
# - 2.47.1.windows.1 windows x86_64
# runner: [ubuntu-latest]
# include:
# - version: 2.47.1 macos x86_64
# runner: macos-13
# - version: 2.47.1 macos arm64
# runner: macos-14
# runs-on: ${{ matrix.runner }}
# needs: docker
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: git v${{ matrix.version }}
#
# mercurial:
# if: ${{ github.sha == '1' }}
# strategy:
# fail-fast: false
# matrix:
# version:
# - 1.9.3
# - 2.5.4
# - 3.4.2
# - 6.8
# runner: [ubuntu-latest]
# include:
# - version: 6.8 windows x86_64
# runner: windows-latest
# - version: 6.8 macos x86_64
# runner: macos-13
# - version: 6.8 macos arm64
# runner: macos-14
# runs-on: ${{ matrix.runner }}
# needs: [docker, msys]
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: hg v${{ matrix.version }}
#
# git-cinnabar:
# if: ${{ !cancelled() }}
# strategy:
# fail-fast: false
# matrix:
# type:
# - linux arm64
# - linux x86_64
# - linux x86_64 asan
# - linux x86_64 coverage
# - windows x86_64
# runner: [ubuntu-latest]
# include:
# - type: macos x86_64
# runner: macos-13
# - type: macos arm64
# runner: macos-14
# runs-on: ${{ matrix.runner }}
# needs: docker
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: build ${{ matrix.type }}
#
# cram:
# if: ${{ !cancelled() }}
# strategy:
# fail-fast: false
# matrix:
# type:
# - git-2.47.1 hg-6.8
# - git-2.47.1 hg-6.8 asan
# runner: [ubuntu-latest]
# include:
# - type: git-2.47.1 hg-6.8 macos x86_64
# runner: macos-13
# - type: git-2.47.1 hg-6.8 macos arm64
# runner: macos-14
# runs-on: ${{ matrix.runner }}
# needs: [docker, git, mercurial, git-cinnabar]
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: cram w/ ${{ matrix.type }}
#
# download:
# if: ${{ !cancelled() }}
# strategy:
# fail-fast: false
# matrix:
# include:
# - type: linux x86_64
# runner: ubuntu-latest
# - type: macos x86_64
# runner: macos-13
# - type: macos arm64
# runner: macos-14
# - type: windows x86_64
# runner: windows-latest
# runs-on: ${{ matrix.runner }}
# needs: [docker, git, git-cinnabar, msys]
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: download build ${{ matrix.type }}
#
# hg-clone:
# if: ${{ github.sha == '1' }}
# needs: [docker, mercurial]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: hg clone w/ 6.8
#
# clone:
# if: ${{ !cancelled() }}
# needs: [git, git-cinnabar, hg-clone]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: clone w/ ${{ github.sha }}
#
# graft-tests:
# if: ${{ !cancelled() }}
# strategy:
# fail-fast: false
# matrix:
# type:
# - git-2.47.1 hg-6.8
# - git-2.47.1 hg-6.8 asan
# runner: [ubuntu-latest]
# include:
# - type: git-2.47.1 hg-6.8 macos x86_64
# runner: macos-13
# - type: git-2.47.1 hg-6.8 macos arm64
# runner: macos-14
# runs-on: ${{ matrix.runner }}
# needs: [docker, git, git-cinnabar, mercurial, clone, hg-clone]
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: graft tests w/ ${{ matrix.type }}
#
# tests:
# if: ${{ !cancelled() }}
# strategy:
# fail-fast: false
# matrix:
# type:
# - git-2.47.1 hg-6.8
# - git-2.47.1 hg-6.8 asan
# - git-2.47.1 hg-3.4.2
# - git-2.47.1 hg-2.5.4
# - git-2.47.1 hg-1.9.3
# - git-2.7.4 hg-6.8 asan
# - git-1.8.5 hg-6.8
# runner: [ubuntu-latest]
# include:
# - type: git-2.47.1 hg-6.8 macos x86_64
# runner: macos-13
# - type: git-2.47.1 hg-6.8 macos arm64
# runner: macos-14
# - type: git-2.47.1 hg-6.8 windows x86_64
# runner: windows-latest
# runs-on: ${{ matrix.runner }}
# needs: [docker, git, git-cinnabar, mercurial, clone, hg-clone]
# steps:
# - uses: actions/checkout@v4
# - uses: ./.github/actions/task
# with:
# name: test w/ ${{ matrix.type }}
#
# env:
# runs-on: ubuntu-latest
# steps:
# - shell: bash
# run: |
# env
# cat<<'EOF'
# ${{ toJSON(github) }}
# EOF