This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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: ${{ fromJSON(needs.decision.outputs.data)[github.job] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: "${{ matrix.title }}" | |
# 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 |