-
Notifications
You must be signed in to change notification settings - Fork 159
47 lines (45 loc) · 1.3 KB
/
docker_reuse.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
name: Reusable Docker workflow
on:
workflow_call:
inputs:
target:
description: 'Target docker image name to upload to'
required: true
type: string
tag:
description: 'Optional tag (defaults to `latest`)'
required: false
default: 'latest'
type: string
dockerfile:
description: 'Path to the dockerfile required to build image'
required: true
type: string
secrets:
# Docker login information
DOCKERHUB_USER:
required: true
DOCKERHUB_TOKEN:
required: true
jobs:
docker_workflow:
name: "Build the ${{ inputs.target }} container"
runs-on: [self-hosted, Linux]
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Build and push ${{ inputs.target }}
uses: docker/build-push-action@v4
with:
push: true
no-cache: true
file: ${{ inputs.dockerfile }}
tags: firedrakeproject/${{ inputs.target }}:${{ inputs.tag }}