From 45b459a03a9a4fcf8690ef74f351eac1848eb367 Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Thu, 27 Jul 2023 14:00:23 +0200 Subject: [PATCH] Trigger docker workflow at the end of other jobs. --- .github/scripts/build_release_nightly.py | 7 +------ .github/scripts/trigger_docker_workflow.py | 17 +++++++++++++++++ .github/workflows/releaseNigthly.yml | 19 ++++++++++++++++++- 3 files changed, 36 insertions(+), 7 deletions(-) create mode 100755 .github/scripts/trigger_docker_workflow.py diff --git a/.github/scripts/build_release_nightly.py b/.github/scripts/build_release_nightly.py index 7f71cd1..e97cda6 100755 --- a/.github/scripts/build_release_nightly.py +++ b/.github/scripts/build_release_nightly.py @@ -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: diff --git a/.github/scripts/trigger_docker_workflow.py b/.github/scripts/trigger_docker_workflow.py new file mode 100755 index 0000000..27280de --- /dev/null +++ b/.github/scripts/trigger_docker_workflow.py @@ -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) diff --git a/.github/workflows/releaseNigthly.yml b/.github/workflows/releaseNigthly.yml index c95d8da..d00cd3a 100644 --- a/.github/workflows/releaseNigthly.yml +++ b/.github/workflows/releaseNigthly.yml @@ -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}}