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
name: environment and tools | |
on: | |
push: [] | |
pull_request: [] | |
schedule: | |
- cron: '*/10 * * * *' | |
jobs: | |
decision: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.decision.outputs.matrix }} | |
artifacts: ${{ steps.decision.outputs.artifacts }} | |
mounts: ${{ steps.decision.outputs.mounts }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/decision | |
id: decision | |
docker-base: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['docker-base'] && !cancelled() }} | |
needs: decision | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['docker-base'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
docker: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['docker'] && !cancelled() }} | |
needs: [decision, docker-base] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['docker'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
msys2-base: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['msys2-base'] && !cancelled() }} | |
needs: [decision, docker-base] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['msys2-base'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
msys2: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['msys2'] && !cancelled() }} | |
needs: [decision, msys2-base] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['msys2'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
git: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['git'] && !cancelled() }} | |
needs: [decision, docker] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['git'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
hg: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['hg'] && !cancelled() }} | |
needs: [decision, docker, msys2] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['hg'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
build: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['build'] && !cancelled() }} | |
needs: [decision, docker] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['build'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
cram: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['cram'] && !cancelled() }} | |
needs: [decision, docker, git, hg, build] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['cram'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
download: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['download'] && !cancelled() }} | |
needs: [decision, docker, git, build, msys2] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['download'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
hg-clone: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['hg-clone'] && !cancelled() }} | |
needs: [decision, docker, hg] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['hg-clone'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
clone: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['clone'] && !cancelled() }} | |
needs: [decision, git, build, hg-clone] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['clone'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
graft: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['graft'] && !cancelled() }} | |
needs: [decision, docker, git, build, hg, clone, hg-clone] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['graft'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
test: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['test'] && !cancelled() }} | |
needs: [decision, docker, git, build, hg, clone, hg-clone] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['test'] }} | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
upload: | |
if: ${{ fromJSON(needs.decision.outputs.matrix)['upload'] && !failure() }} | |
needs: [decision, docker, build, cram, graft, test] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: ${{ fromJSON(needs.decision.outputs.matrix)['upload'] }} | |
runs-on: ${{ matrix.runner }} | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/task | |
with: | |
name: ${{ matrix.task }} | |
mounts: ${{ toJSON(fromJSON(needs.decision.outputs.mounts)[matrix.task]) }} | |
artifacts: ${{ toJSON(fromJSON(needs.decision.outputs.artifacts)[matrix.task]) }} | |
env: | |
runs-on: ubuntu-latest | |
steps: | |
- shell: bash | |
run: | | |
env | |
cat<<'EOF' | |
${{ toJSON(github) }} | |
EOF |