-
Notifications
You must be signed in to change notification settings - Fork 27
87 lines (83 loc) · 2.42 KB
/
manual-build.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
82
83
84
85
86
87
---
name: Manual Build Matrix
on:
workflow_dispatch:
inputs:
flavors:
description: "Base images"
default: '[ "base", "slim", "alpine" ]'
required: false
type: choice
options:
- '[ "base", "slim", "alpine" ]'
- '[ "base", "slim" ]'
- '[ "base", "alpine" ]'
- '[ "slim", "alpine" ]'
- '[ "base" ]'
- '[ "slim" ]'
- '[ "alpine" ]'
version:
description: "EteBase Version"
required: false
default: ""
type: string
platforms:
description: "Platforms to build"
required: false
default: "linux/amd64,linux/arm64"
type: choice
options:
- "linux/amd64,linux/arm64,linux/arm/v7"
- "linux/amd64,linux/arm64"
- "linux/arm64,linux/arm/v7"
- "linux/amd64"
- "linux/arm64"
- "linux/arm/v7"
pushit:
description: "Should push?"
required: false
default: false
type: boolean
tag:
description: "Custom Tag"
required: false
default: ""
type: string
jobs:
prepare-manual-build:
runs-on: ubuntu-latest
outputs:
ete_version: ${{ steps.get_version.outputs.version }}
steps:
- name: Checkout Version and Workflow files
uses: actions/checkout@v4
with:
sparse-checkout: |
server_version
./.github/actions/
- id: get_version
name: Get Server Version
uses: ./.github/actions/get-server-version
with:
version: ${{ github.event.inputs.version }}
manual-build-matrix:
needs: prepare-manual-build
uses: ./.github/workflows/call_build_push.yml
strategy:
matrix:
flavor: ${{ fromJson(github.event.inputs.flavors) }}
with:
flavor: ${{ matrix.flavor }}
version: ${{ needs.prepare-manual-build.outputs.ete_version }}
platforms: ${{ github.event.inputs.platforms }}
pushit: ${{ github.event.inputs.pushit == 'true' }}
tag: ${{ github.event.inputs.tag }}
secrets:
dckr_username: ${{ secrets.DOCKER_USER }}
dckr_token: ${{ secrets.DOCKER_TOKEN }}
manual-create-releases:
if: inputs.pushit
needs: [ prepare-manual-build, manual-build-matrix ]
uses: ./.github/workflows/call_release.yml
with:
version: ${{ needs.prepare-manual-build.outputs.ete_version }}