|
1 | | -# Manual Workflow (Application) |
2 | | - |
3 | | -name: manual |
| 1 | +name: "manual_build_image" |
4 | 2 |
|
5 | 3 | on: |
6 | 4 | workflow_dispatch: |
7 | 5 | inputs: |
8 | 6 | Manual Build: |
9 | 7 | description: 'Manual Build' |
10 | 8 | required: false |
11 | | -jobs: |
12 | | - docker: |
13 | | - runs-on: ubuntu-latest |
14 | | - steps: |
15 | | - - name: Checkout |
16 | | - uses: actions/checkout@v3 |
17 | | - |
18 | | - - name: Prepare |
19 | | - id: prep |
20 | | - run: | |
21 | | - DOCKER_IMAGE=${GITHUB_REPOSITORY/docker-/} |
22 | | - if [[ $GITHUB_REF == refs/heads/* ]]; then |
23 | | - if [[ $GITHUB_REF == refs/heads/*/* ]] ; then |
24 | | - BRANCH="${DOCKER_IMAGE}:$(echo $GITHUB_REF | sed "s|refs/heads/||g" | sed "s|/|-|g")" |
25 | | - else |
26 | | - BRANCH=${GITHUB_REF#refs/heads/} |
27 | | - fi |
28 | | -
|
29 | | - case ${BRANCH} in |
30 | | - "main" | "master" ) |
31 | | - BRANCHTAG="${DOCKER_IMAGE}:latest" |
32 | | - ;; |
33 | | - "develop" ) |
34 | | - BRANCHTAG="${DOCKER_IMAGE}:develop" |
35 | | - ;; |
36 | | - * ) |
37 | | - if [ -n "${{ secrets.LATEST }}" ] ; then |
38 | | - if [ "${BRANCHTAG}" = "${{ secrets.LATEST }}" ]; then |
39 | | - BRANCHTAG="${DOCKER_IMAGE}:${BRANCH},${DOCKER_IMAGE}:${BRANCH}-latest,${DOCKER_IMAGE}:latest" |
40 | | - else |
41 | | - BRANCHTAG="${DOCKER_IMAGE}:${BRANCH},${DOCKER_IMAGE}:${BRANCH}-latest" |
42 | | - fi |
43 | | - else |
44 | | - BRANCHTAG="${DOCKER_IMAGE}:${BRANCH},${DOCKER_IMAGE}:${BRANCH}-latest" |
45 | | - fi |
46 | | - ;; |
47 | | - esac |
48 | | - fi |
49 | | -
|
50 | | -
|
51 | | - if [[ $GITHUB_REF == refs/tags/* ]]; then |
52 | | - GITTAG="${DOCKER_IMAGE}:$(echo $GITHUB_REF | sed 's|refs/tags/||g')" |
53 | | - fi |
54 | | -
|
55 | | - if [ -n "${BRANCHTAG}" ] && [ -n "${GITTAG}" ]; then |
56 | | - TAGS=${BRANCHTAG},${GITTAG} |
57 | | - else |
58 | | - TAGS="${BRANCHTAG}${GITTAG}" |
59 | | - fi |
60 | | -
|
61 | | - echo ::set-output name=tags::${TAGS} |
62 | | - echo ::set-output name=docker_image::${DOCKER_IMAGE} |
63 | 9 |
|
64 | | - - name: Set up QEMU |
65 | | - uses: docker/setup-qemu-action@v2 |
66 | | - with: |
67 | | - platforms: all |
68 | | - |
69 | | - - name: Set up Docker Buildx |
70 | | - id: buildx |
71 | | - uses: docker/setup-buildx-action@v2 |
72 | | - |
73 | | - - name: Login to DockerHub |
74 | | - if: github.event_name != 'pull_request' |
75 | | - uses: docker/login-action@v2 |
76 | | - with: |
77 | | - username: ${{ secrets.DOCKER_USERNAME }} |
78 | | - password: ${{ secrets.DOCKER_PASSWORD }} |
79 | | - |
80 | | - - name: Label |
81 | | - id: Label |
82 | | - run: | |
83 | | - if [ -f "Dockerfile" ] ; then |
84 | | - sed -i "/FROM .*/a LABEL tiredofit.image.git_repository=\"https://github.com/${GITHUB_REPOSITORY}\"" Dockerfile |
85 | | - sed -i "/FROM .*/a LABEL tiredofit.image.git_commit=\"${GITHUB_SHA}\"" Dockerfile |
86 | | - sed -i "/FROM .*/a LABEL tiredofit.image.git_committed_by=\"${GITHUB_ACTOR}\"" Dockerfile |
87 | | - sed -i "/FROM .*/a LABEL tiredofit.image_build_date=\"$(date +'%Y-%m-%d %H:%M:%S')\"" Dockerfile |
88 | | - if [ -f "CHANGELOG.md" ] ; then |
89 | | - sed -i "/FROM .*/a LABEL tiredofit.db-backup.git_changelog_version=\"$(head -n1 ./CHANGELOG.md | awk '{print $2}')\"" Dockerfile |
90 | | - mkdir -p install/assets/.changelogs ; cp CHANGELOG.md install/assets/.changelogs/${GITHUB_REPOSITORY/\//_}.md |
91 | | - fi |
92 | | -
|
93 | | -
|
94 | | - if [[ $GITHUB_REF == refs/tags/* ]]; then |
95 | | - sed -i "/FROM .*/a LABEL tiredofit.image.git_tag=\"${GITHUB_REF#refs/tags/v}\"" Dockerfile |
96 | | - fi |
97 | | -
|
98 | | - if [[ $GITHUB_REF == refs/heads/* ]]; then |
99 | | - sed -i "/FROM .*/a LABEL tiredofit.image.git_branch=\"${GITHUB_REF#refs/heads/}\"" Dockerfile |
100 | | - fi |
101 | | - fi |
102 | | -
|
103 | | - - name: Build |
104 | | - uses: docker/build-push-action@v3 |
105 | | - with: |
106 | | - builder: ${{ steps.buildx.outputs.name }} |
107 | | - context: . |
108 | | - file: ./Dockerfile |
109 | | - platforms: linux/amd64,linux/arm/v7,linux/arm64 |
110 | | - push: true |
111 | | - tags: ${{ steps.prep.outputs.tags }} |
| 10 | +jobs: |
| 11 | + build: |
| 12 | + uses: tiredofit/github_actions/.github/workflows/default_amd64_armv7_arm64.yml@main |
| 13 | + #uses: tiredofit/github_actions/.github/workflows/default_amd64.yml@main |
| 14 | + #uses: tiredofit/github_actions/.github/workflows/default_amd64_armv7_arm64.yml@main |
| 15 | + #uses: tiredofit/github_actions/.github/workflows/default_amd64_arm64.yml@main |
| 16 | + secrets: inherit |
0 commit comments