streamline action steps
Build Container Image / build_arm64 (push) Successful in 10s Details
Build Container Image / build_armhf (push) Successful in -2m30s Details
Build Container Image / publish_arm64 (push) Successful in 4s Details
Build Container Image / build_riscv64 (push) Successful in 15s Details
Build Container Image / publish_armhf (push) Successful in -2m37s Details
Build Container Image / publish_riscv64 (push) Successful in 7s Details
Build Container Image / build_amd64 (push) Successful in 32s Details
Build Container Image / build_manifest (push) Successful in 3s Details
Build Container Image / publish_amd64 (push) Successful in 25s Details
Build Container Image / publish_manifest (push) Successful in -2m17s Details

This commit is contained in:
Daniel Wolf 2023-05-02 16:33:38 -04:00
parent cc5bf48b3d
commit d43b72c4db
Signed by: nephatrine
GPG Key ID: 59D70EC2E4AAB4D0
1 changed files with 60 additions and 74 deletions

View File

@ -2,9 +2,9 @@ name: Build Container Image
run-name: ${{ gitea.actor }} pushed to ${{ gitea.repository }}:${{ gitea.ref_name }}
on: [push, workflow_call]
jobs:
buildamd64:
build_amd64:
if: gitea.repository_owner == 'NephNET' && !contains(github.event.head_commit.message, '#noci')
runs-on: nephnet
runs-on: nephnet-amd64
steps:
- name: Checkout Repository
uses: actions/checkout@v3
@ -12,13 +12,21 @@ jobs:
run: |
docker build --pull -t code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-cached --target builder ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-amd64 ${{ gitea.workspace }}
- name: Docker Login
uses: actions/docker-login@v2
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
run: docker push code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-amd64
- name: Notify Discord
uses: actions/discord-status@v1
if: always()
with:
title: "Container Build (X86_64)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
buildarm64:
build_arm64:
if: gitea.repository_owner == 'NephNET' && !contains(github.event.head_commit.message, '#noci')
runs-on: nephnet-arm64
steps:
@ -28,13 +36,21 @@ jobs:
run: |
docker build --pull -t code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-cached --target builder ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-arm64v8 ${{ gitea.workspace }}
- name: Docker Login
uses: actions/docker-login@v2
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
run: docker push code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-arm64v8
- name: Notify Discord
uses: actions/discord-status@v1
if: always()
with:
title: "Container Build (AARCH64)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
buildarmhf:
build_armhf:
if: gitea.repository_owner == 'NephNET' && !contains(github.event.head_commit.message, '#noci')
runs-on: nephnet-armhf
steps:
@ -44,13 +60,21 @@ jobs:
run: |
docker build --pull -t code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-cached --target builder ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-armv7 ${{ gitea.workspace }}
- name: Docker Login
uses: actions/docker-login@v2
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
run: docker push code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-armv7
- name: Notify Discord
uses: actions/discord-status@v1
if: always()
with:
title: "Container Build (ARMV7L)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
buildriscv64:
build_riscv64:
if: gitea.repository_owner == 'NephNET' && !contains(github.event.head_commit.message, '#noci')
runs-on: nephnet-riscv64
steps:
@ -60,56 +84,6 @@ jobs:
run: |
docker build --pull -t code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-cached --target builder ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-riscv64 ${{ gitea.workspace }}
- name: Notify Discord
uses: actions/discord-status@v1
if: always()
with:
title: "Container Build (RISCV64)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
packageamd64:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildamd64]
runs-on: nephnet
steps:
- name: Docker Login
uses: actions/docker-login@v2
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
run: docker push code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-amd64
packagearm64:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildarm64]
runs-on: nephnet-arm64
steps:
- name: Docker Login
uses: actions/docker-login@v2
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
run: docker push code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-arm64v8
packagearmhf:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildarmhf]
runs-on: nephnet-armhf
steps:
- name: Docker Login
uses: actions/docker-login@v2
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
run: docker push code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-armv7
packageriscv64:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildriscv64]
runs-on: nephnet-riscv64
steps:
- name: Docker Login
uses: actions/docker-login@v2
with:
@ -118,9 +92,14 @@ jobs:
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
run: docker push code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-riscv64
manifestpkg:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [packageamd64, packagearm64, packagearmhf, packageriscv64]
- name: Notify Discord
uses: actions/discord-status@v1
if: always()
with:
title: "Container Build (RISCV64)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
build_manifest:
needs: [build_amd64, build_arm64, build_armhf, build_riscv64]
runs-on: nephnet
steps:
- name: Docker Login
@ -133,10 +112,10 @@ jobs:
run: |
docker manifest create code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }} --amend code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-amd64 --amend code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-arm64v8 --amend code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-armv7 --amend code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}-riscv64
docker manifest push --purge code.nephatrine.net/nephnet/nginx-ssl:${{ gitea.ref_name }}
publishamd64:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildamd64]
runs-on: nephnet
publish_amd64:
if: gitea.ref_name == 'master'
needs: [build_amd64]
runs-on: nephnet-amd64
steps:
- name: Check Base Image
if: github.event_name != 'push'
@ -162,9 +141,9 @@ jobs:
description: "The container image was pushed to [DockerHub](https://hub.docker.com/repository/docker/nephatrine/nginx-ssl/general).\nPull `nephatrine/nginx-ssl:latest-amd64` for the newest image."
nodetail: true
webhook: ${{ secrets.DISCORD_WEBHOOK_PACKAGE }}
publisharm64:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildarm64]
publish_arm64:
if: gitea.ref_name == 'master'
needs: [build_arm64]
runs-on: nephnet-arm64
steps:
- name: Docker Login
@ -176,9 +155,9 @@ jobs:
run: |
docker tag code.nephatrine.net/nephnet/nginx-ssl:master-arm64v8 nephatrine/nginx-ssl:latest-arm64v8
docker push nephatrine/nginx-ssl:latest-arm64v8
publisharmhf:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildarmhf]
publish_armhf:
if: gitea.ref_name == 'master'
needs: [build_armhf]
runs-on: nephnet-armhf
steps:
- name: Docker Login
@ -190,9 +169,9 @@ jobs:
run: |
docker tag code.nephatrine.net/nephnet/nginx-ssl:master-armv7 nephatrine/nginx-ssl:latest-armv7
docker push nephatrine/nginx-ssl:latest-armv7
publishriscv64:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [buildriscv64]
publish_riscv64:
if: gitea.ref_name == 'master'
needs: [build_riscv64]
runs-on: nephnet-riscv64
steps:
- name: Docker Login
@ -204,9 +183,8 @@ jobs:
run: |
docker tag code.nephatrine.net/nephnet/nginx-ssl:master-riscv64 nephatrine/nginx-ssl:latest-riscv64
docker push nephatrine/nginx-ssl:latest-riscv64
manifesthub:
if: gitea.repository_owner == 'NephNET' && gitea.ref_name == 'master'
needs: [publishamd64, publisharm64, publisharmhf, publishriscv64]
publish_manifest:
needs: [publish_amd64, publish_arm64, publish_armhf, publish_riscv64]
runs-on: nephnet
steps:
- name: Docker Login
@ -224,3 +202,11 @@ jobs:
docker manifest push --purge nephatrine/nginx-ssl:1.24
docker manifest push --purge nephatrine/nginx-ssl:1
docker manifest push --purge nephatrine/nginx-ssl:latest
- name: Checkout Repository
uses: actions/checkout@v3
- name: Docker Describe
uses: actions/dockerhub-update-description@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
repository: nephatrine/nginx-ssl