-
Notifications
You must be signed in to change notification settings - Fork 159
81 lines (79 loc) · 2.33 KB
/
docker.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
name: Build and push Docker images
on:
workflow_call:
inputs:
tag:
description: 'Optional tag (defaults to `latest`)'
required: false
default: 'latest'
type: string
status:
description: 'Firedrake test status'
required: true
type: string
secrets:
# Docker login information
DOCKERHUB_USER:
required: true
DOCKERHUB_TOKEN:
required: true
jobs:
# Firedrake environment container
docker_env:
uses: ./.github/workflows/docker_reuse.yml
with:
target: firedrake-env
tag: ${{ inputs.tag }}
dockerfile: docker/Dockerfile.env
secrets: inherit
# Firedrake container (just Firedrake)
docker_vanilla:
needs: docker_env
# Only run if "Build Firedrake" succeeds
if: ${{ inputs.status == 'success' }}
uses: ./.github/workflows/docker_reuse.yml
with:
target: firedrake-vanilla
tag: ${{ inputs.tag }}
dockerfile: docker/Dockerfile.vanilla
secrets: inherit
# Firedrake container (Firedrake and friends)
docker_firedrake:
# Artificial dependency on docker_complex due to CI race condition
needs: [docker_vanilla, docker_complex]
uses: ./.github/workflows/docker_reuse.yml
with:
target: firedrake
tag: ${{ inputs.tag }}
dockerfile: docker/Dockerfile.firedrake
secrets: inherit
# Firedrake container with documentation dependencies and TeX
docker_docdeps:
# Artificial dependency on docker_complex due to CI race condition
needs: [docker_vanilla, docker_complex]
uses: ./.github/workflows/docker_reuse.yml
with:
target: firedrake-docdeps
tag: ${{ inputs.tag }}
dockerfile: docker/Dockerfile.docdeps
secrets: inherit
# Firedrake complex container
docker_complex:
needs: docker_env
# Only run if "Build Firedrake" succeeds
if: ${{ inputs.status == 'success' }}
uses: ./.github/workflows/docker_reuse.yml
with:
target: firedrake-complex
tag: ${{ inputs.tag }}
dockerfile: docker/Dockerfile.complex
secrets: inherit
# Firedrake container with Jupyter notebooks
docker_jupyter:
needs: docker_firedrake
uses: ./.github/workflows/docker_reuse.yml
with:
target: firedrake-jupyter
tag: ${{ inputs.tag }}
dockerfile: docker/Dockerfile.jupyter
secrets: inherit