forked from ed-asriyan/lottie-converter
-
Notifications
You must be signed in to change notification settings - Fork 0
130 lines (113 loc) · 3.7 KB
/
Copy pathbuild-linux-and-docker.yml
File metadata and controls
130 lines (113 loc) · 3.7 KB
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
name: Build for Linux & Docker
on:
workflow_call:
inputs:
output-artifact-name:
description: Name of artifact as which Docker image to be uploaded
required: true
type: string
arch:
description: "amd64 or arm64"
required: true
type: string
version:
description: Version to replace with
required: false
type: string
jobs:
build-docker:
name: Build linux and docker images
runs-on: ubuntu-latest
env:
DOCKER_BUILDKIT: 1
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v2
- name: Replace version
if: ${{ inputs.version != '' }}
uses: ./.github/actions/replace-version
with:
version: ${{ inputs.version }}
- name: Build lottie-to-apng
uses: docker/build-push-action@v4
with:
context: .
tags: lottie-to-apng:${{ inputs.arch }}
platforms: ${{ inputs.arch }}
target: lottie-to-apng
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Upload lottie-to-apng as artifact
uses: ishworkh/container-image-artifact-upload@v2.0.0
with:
image: lottie-to-apng:${{ inputs.arch }}
- name: Build lottie-to-gif
uses: docker/build-push-action@v4
with:
context: .
tags: lottie-to-gif:${{ inputs.arch }}
platforms: ${{ inputs.arch }}
target: lottie-to-gif
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Upload lottie-to-gif as artifact
uses: ishworkh/container-image-artifact-upload@v2.0.0
with:
image: lottie-to-gif:${{ inputs.arch }}
- name: Build lottie-to-png
uses: docker/build-push-action@v4
with:
context: .
tags: lottie-to-png:${{ inputs.arch }}
platforms: ${{ inputs.arch }}
target: lottie-to-png
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Upload lottie-to-png as artifact
uses: ishworkh/container-image-artifact-upload@v2.0.0
with:
image: lottie-to-png:${{ inputs.arch }}
- name: Build lottie-to-webp
uses: docker/build-push-action@v4
with:
context: .
tags: lottie-to-webp:${{ inputs.arch }}
platforms: ${{ inputs.arch }}
target: lottie-to-webp
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Upload lottie-to-webp as artifact
uses: ishworkh/container-image-artifact-upload@v2.0.0
with:
image: lottie-to-webp:${{ inputs.arch }}
- name: Build lottie-to-webm
uses: docker/build-push-action@v4
with:
context: .
tags: lottie-to-webm:${{ inputs.arch }}
platforms: ${{ inputs.arch }}
target: lottie-to-webm
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Upload lottie-to-webm as artifact
uses: ishworkh/container-image-artifact-upload@v2.0.0
with:
image: lottie-to-webm:${{ inputs.arch }}
- name: Extract executable
run: |
id=$(docker create lottie-to-png:${{ inputs.arch }}) &&
docker cp $id:/usr/bin/lottie_to_png bin/ &&
docker rm -v $id
- name: Upload executable as artifact
uses: actions/upload-artifact@v4.6.2
with:
name: ${{ inputs.output-artifact-name }}
path: bin/lottie_to_png