Compare commits
20
Commits
d6f0dbeb2a
..
latest
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b17c183a00 | ||
|
|
be95ef5b18 | ||
|
|
7b5294dc98 | ||
|
|
9519ff5cb0 | ||
|
|
ffec9c4298 | ||
|
|
b987ab54db | ||
|
|
ae5b4afac9 | ||
|
|
00f7aac8ab | ||
|
|
ef4d89d896 | ||
|
|
863ec9d533 | ||
|
|
ec75d04e07 | ||
|
|
febb03c381 | ||
|
|
0296e38b9d | ||
|
|
0f083c7f72 | ||
|
|
adee4f2c02 | ||
|
|
1325ec7992 | ||
|
|
2dd16d63ab | ||
|
|
cd3e9dc119 | ||
|
|
8a52e9826d | ||
|
|
6dbf4c08ad |
@@ -0,0 +1,93 @@
|
||||
name: 'Tag Build and Push Docker image'
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
registry: # id of input
|
||||
description: 'docker regisry host name'
|
||||
type: string
|
||||
default: 'gitea.phadric.de'
|
||||
cache-registry: # id of input
|
||||
description: 'docker regisry host name'
|
||||
default: 'imagecache.phadric.de'
|
||||
type: string
|
||||
image_name:
|
||||
description: 'name of the dockerimage'
|
||||
required: true
|
||||
type: string
|
||||
checkout:
|
||||
description: 'checkout repo first'
|
||||
default: 'true'
|
||||
type: string
|
||||
tag:
|
||||
description: 'checkout repo first'
|
||||
default: 'true'
|
||||
type: string
|
||||
# secrets:
|
||||
# TOKEN:
|
||||
# description: 'repo auth token'
|
||||
# required: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: slim
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
if: ${{ inputs.checkout == 'true' }}
|
||||
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- name: Bump version and push tag
|
||||
id: tag
|
||||
if: ${{ inputs.tag == 'true' }}
|
||||
uses: anothrNick/github-tag-action@4ed44965e0db8dab2b466a16da04aec3cc312fd8 # 1.75.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # if you don't want to set write permissions use a PAT token
|
||||
DEFAULT_BUMP: patch
|
||||
GIT_API_TAGGING: false # dont use API
|
||||
WITH_V: true
|
||||
PRERELEASE: true
|
||||
PRERELEASE_SUFFIX: ${{ github.ref_name }}
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6.2.0
|
||||
with:
|
||||
flavor: |
|
||||
latest=${{ github.ref_name == 'main' || github.ref_name == 'master' }}
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=semver,pattern={{version}},value=${{steps.tag.outputs.tag}}
|
||||
# output 0.1
|
||||
type=semver,pattern={{major}}.{{minor}},value=${{steps.tag.outputs.tag}}
|
||||
# disabled if major zero
|
||||
type=semver,pattern={{major}},value=${{steps.tag.outputs.tag}},enable=${{ !startsWith(steps.tag.outputs.tag, 'v0.') }}
|
||||
images: ${{ inputs.registry }}/${{ inputs.image_name }}
|
||||
- uses: int128/docker-build-cache-config-action@d1b27ffbf29fb93b7239130db030c702198fd52b # v1.64.0
|
||||
id: cache
|
||||
with:
|
||||
image: ${{ inputs.cache-registry }}/${{ inputs.image_name }}-cache
|
||||
extra-cache-to: image-manifest=true
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
|
||||
- name: Log into registry ${{ inputs.registry }}
|
||||
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
|
||||
with:
|
||||
registry: ${{ inputs.registry }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.TOKEN }}
|
||||
- name: Build and push Docker image
|
||||
id: build-and-push
|
||||
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
platforms: linux/amd64
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
cache-from: |
|
||||
type=registry,ref=${{ inputs.cache-registry }}/${{ inputs.image_name }}-cache:latest
|
||||
type=registry,ref=${{ inputs.cache-registry }}/${{ inputs.image_name }}-cache:${{ github.ref_name }}
|
||||
${{ steps.cache.outputs.cache-from }}
|
||||
cache-to: |
|
||||
${{ steps.cache.outputs.cache-to }}
|
||||
type=registry,ref=${{ inputs.cache-registry }}/${{ inputs.image_name }}-cache:latest,mode=max,image-manifest=true
|
||||
@@ -17,9 +17,11 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
||||
- name: Verify Action
|
||||
run: actionlint -ignore 'unexpected key "description" for "workflow" section' -ignore 'nexpected key "inputs" for "workflow" section.' -ignore 'unexpected key "runs" for "workflow" section.' -ignore '"on" section is missing in workflow' -ignore '"jobs" section is missing in workflow' action.yml
|
||||
- name: Verify Workflow
|
||||
run: actionlint -ignore 'label "slim" is unknown' .github/workflows/docker-build.yml
|
||||
- name: tag latest after success
|
||||
if: github.ref == 'refs/heads/main'
|
||||
id: tag
|
||||
|
||||
+6
-6
@@ -29,7 +29,7 @@ runs:
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
if: ${{ inputs.checkout == 'true' }}
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
- name: Bump version and push tag
|
||||
@@ -45,7 +45,7 @@ runs:
|
||||
PRERELEASE_SUFFIX: ${{ github.ref_name }}
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6.1.0
|
||||
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051 # v5.10.0
|
||||
with:
|
||||
flavor: |
|
||||
latest=${{ github.ref_name == 'main' || github.ref_name == 'master' }}
|
||||
@@ -57,22 +57,22 @@ runs:
|
||||
# disabled if major zero
|
||||
type=semver,pattern={{major}},value=${{steps.tag.outputs.tag}},enable=${{ !startsWith(steps.tag.outputs.tag, 'v0.') }}
|
||||
images: ${{ inputs.registry }}/${{ inputs.image_name }}
|
||||
- uses: int128/docker-build-cache-config-action@e7428bcd6851e35bd024e91ea18c0da8c0a098b4 # v1.60.0
|
||||
- uses: int128/docker-build-cache-config-action@d1b27ffbf29fb93b7239130db030c702198fd52b # v1.64.0
|
||||
id: cache
|
||||
with:
|
||||
image: ${{ inputs.cache-registry }}/${{ inputs.image_name }}-cache
|
||||
extra-cache-to: image-manifest=true
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0
|
||||
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
|
||||
- name: Log into registry ${{ inputs.registry }}
|
||||
uses: docker/login-action@c99871dec2022cc055c062a10cc1a1310835ceb4 # v4.3.0
|
||||
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
|
||||
with:
|
||||
registry: ${{ inputs.registry }}
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ inputs.token }}
|
||||
- name: Build and push Docker image
|
||||
id: build-and-push
|
||||
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
|
||||
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 # v6.19.2
|
||||
with:
|
||||
context: .
|
||||
push: true
|
||||
|
||||
Reference in New Issue
Block a user