Trigger docker workflow at the end of other jobs.

This commit is contained in:
Matthieu Gautier 2023-07-27 14:00:23 +02:00
parent 8070a750f5
commit 45b459a03a
3 changed files with 36 additions and 7 deletions

View File

@ -11,7 +11,6 @@ from common import (
update_flathub_git,
upload_archive,
fix_macos_rpath,
trigger_docker_publish,
BASE_DIR,
OS_NAME,
PLATFORM_TARGET,
@ -19,7 +18,7 @@ from common import (
notarize_macos_build,
)
from build_definition import select_build_targets, BUILD, PUBLISH, SOURCE_PUBLISH, DOCKER
from build_definition import select_build_targets, BUILD, PUBLISH, SOURCE_PUBLISH
@ -30,10 +29,8 @@ if MAKE_RELEASE:
def release_filter(project):
return release_versions.get(project) is not None
TARGETS = tuple(filter(release_filter, TARGETS))
docker_trigger = select_build_targets(DOCKER)
else:
TARGETS = select_build_targets(BUILD)
docker_trigger = []
for target in TARGETS:
run_kiwix_build(target, platform=PLATFORM_TARGET, make_release=MAKE_RELEASE)
@ -46,8 +43,6 @@ for target in TARGETS:
archive = make_archive(target, make_release=MAKE_RELEASE)
if archive:
upload_archive(archive, target, make_release=MAKE_RELEASE)
if target in docker_trigger:
trigger_docker_publish(target)
# We have few more things to do for release:
if MAKE_RELEASE:

17
.github/scripts/trigger_docker_workflow.py vendored Executable file
View File

@ -0,0 +1,17 @@
#!/usr/bin/env python3
from common import (
trigger_docker_publish,
MAKE_RELEASE,
)
from build_definition import select_build_targets, DOCKER
# Filter what to build if we are doing a release.
if MAKE_RELEASE:
docker_trigger = select_build_targets(DOCKER)
else:
docker_trigger = []
for target in docker_trigger:
trigger_docker_publish(target)

View File

@ -110,7 +110,6 @@ jobs:
PLATFORM_TARGET: ${{matrix.target}}
BINTRAY_USER: kiwix
BINTRAY_PASS: ${{secrets.bintray_pass}}
GITHUB_PAT: ${{secrets.GHCR_TOKEN}}
- name: Upload failure logs
if: failure()
run: $HOME/kiwix-build/.github/scripts/upload_failure_logs.sh
@ -236,3 +235,21 @@ jobs:
run: $GITHUB_WORKSPACE/.github/scripts/upload_failure_logs.sh
env:
PLATFORM_TARGET: ${{matrix.target}}
Trigger_Docker:
needs: [Linux]
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install python modules
shell: bash
run: |
pip3 install --user --no-deps $GITHUB_WORKSPACE
- name: Trigger docker workflow
shell: bash
run: |
cd $HOME
$GITHUB_WORKSPACE/.github/scripts/trigger_docker_workflow.py
env:
GITHUB_PAT: ${{secrets.DOCKER_TRIGGER_GITHUB_PAT}}