mirror of
https://github.com/zabbix/zabbix-docker.git
synced 2025-05-31 23:26:16 +02:00
Prepare universal workflow
This commit is contained in:
parent
85bb6be131
commit
3be3d5f3fb
50
.github/workflows/images_build_windows.yml
vendored
50
.github/workflows/images_build_windows.yml
vendored
@ -122,6 +122,7 @@ jobs:
|
|||||||
contents: read
|
contents: read
|
||||||
env:
|
env:
|
||||||
BASE_BUILD_ARTIFACT_FILE_SUFFIX: "_${{ matrix.os }}_${{ matrix.component }}"
|
BASE_BUILD_ARTIFACT_FILE_SUFFIX: "_${{ matrix.os }}_${{ matrix.component }}"
|
||||||
|
CACHE_FILE_NAME: ${{ env.BASE_BUILD_NAME }}${{ env.BASE_BUILD_ARTIFACT_FILE_SUFFIX }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@ -207,10 +208,17 @@ jobs:
|
|||||||
$context
|
$context
|
||||||
if (-not $?) {throw "Failed"}
|
if (-not $?) {throw "Failed"}
|
||||||
|
|
||||||
|
$digest=$(docker inspect $tags_array[0] --format "{{ index .RepoDigests 0}}").Split('@')[-1]
|
||||||
|
if (-not $?) {throw "Failed"}
|
||||||
|
|
||||||
|
echo "digest=$digest" >> $Env:GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Push image
|
- name: Push image
|
||||||
if: ${{ env.AUTO_PUSH_IMAGES }}
|
if: ${{ env.AUTO_PUSH_IMAGES }}
|
||||||
|
env:
|
||||||
|
TAGS: ${{ steps.meta.outputs.tags }}
|
||||||
run: |
|
run: |
|
||||||
$tags_array=$( "${{ steps.meta.outputs.tags }}".Split("`r`n") )
|
$tags_array=$( "$Env:TAGS".Split("`n") )
|
||||||
|
|
||||||
Foreach ($tag in $tags_array) {
|
Foreach ($tag in $tags_array) {
|
||||||
echo "docker image push $tag"
|
echo "docker image push $tag"
|
||||||
@ -218,33 +226,31 @@ jobs:
|
|||||||
if (-not $?) {throw "Failed"}
|
if (-not $?) {throw "Failed"}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- name: Sign the images with GitHub OIDC Token
|
||||||
|
env:
|
||||||
|
DIGEST: ${{ steps.docker_build.outputs.digest }}
|
||||||
|
TAGS: ${{ steps.meta.outputs.tags }}
|
||||||
|
run: |
|
||||||
|
images=""
|
||||||
|
for tag in ${TAGS}; do
|
||||||
|
images+="${tag}@${DIGEST} "
|
||||||
|
done
|
||||||
|
cosign sign --yes ${images}
|
||||||
|
|
||||||
- name: Image digest
|
- name: Image digest
|
||||||
if: ${{ env.AUTO_PUSH_IMAGES }}
|
if: ${{ env.AUTO_PUSH_IMAGES }}
|
||||||
env:
|
env:
|
||||||
TAGS: ${{ steps.meta.outputs.tags }}
|
DIGEST: ${{ steps.docker_build.outputs.digest }}
|
||||||
BASE_BUILD_ARTIFACT_FILE_SUFFIX: ${{ env.BASE_BUILD_ARTIFACT_FILE_SUFFIX }}
|
CACHE_FILE_NAME: ${{ env.BASE_BUILD_NAME }}${{ env.BASE_BUILD_ARTIFACT_FILE_SUFFIX }}
|
||||||
BASE_BUILD_NAME: ${{ env.BASE_BUILD_NAME }}
|
|
||||||
run: |
|
run: |
|
||||||
$tags_array=$( "$Env:TAGS".Split("`r`n") )
|
echo "$Env:DIGEST"
|
||||||
|
$Env:DIGEST | Set-Content -Path $Env:CACHE_FILE_NAME
|
||||||
|
|
||||||
$digest=$(docker inspect $tags_array[0] --format "{{ index .RepoDigests 0}}").Split('@')[-1]
|
- name: Cache image digest
|
||||||
if (-not $?) {throw "Failed"}
|
uses: actions/cache@v4
|
||||||
|
|
||||||
echo $digest
|
|
||||||
$digest | Set-Content -Path $Env:BASE_BUILD_NAME$Env:BASE_BUILD_ARTIFACT_FILE_SUFFIX
|
|
||||||
|
|
||||||
- name: Upload SHA256 tag
|
|
||||||
if: ${{ env.AUTO_PUSH_IMAGES }}
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
with:
|
||||||
name: ${{ env.BASE_BUILD_NAME }}${{ env.BASE_BUILD_ARTIFACT_FILE_SUFFIX }}
|
path: ${{ env.CACHE_FILE_NAME }}
|
||||||
path: ${{ env.BASE_BUILD_NAME }}${{ env.BASE_BUILD_ARTIFACT_FILE_SUFFIX }}
|
key: ${{ env.BASE_BUILD_NAME }}-${{ matrix.os }}-${{ github.run_id }}
|
||||||
if-no-files-found: error
|
|
||||||
|
|
||||||
- name: Logout from DockerHub
|
|
||||||
run: |
|
|
||||||
docker logout
|
|
||||||
if (-not $?) {throw "Failed"}
|
|
||||||
|
|
||||||
build_components:
|
build_components:
|
||||||
timeout-minutes: 70
|
timeout-minutes: 70
|
||||||
|
Loading…
x
Reference in New Issue
Block a user