From 5748aa65d7e4964157efec370e9eaa1c9275adb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Iwanicki?= Date: Wed, 5 Feb 2025 17:25:08 +0100 Subject: [PATCH 1/3] workflow: run only one workflow at a time MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MichaƂ Iwanicki --- .github/workflows/ci.yml | 2 +- .github/workflows/develop.yml | 2 +- .github/workflows/test.yml | 2 +- .github/workflows/weekly.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2225578a..ad148eeb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: - '!v*-rc*' concurrency: - group: ${{ github.workflow }} + group: run-only-one-workflow jobs: build: diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 6a8ddbdf..58cd2dc9 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -6,7 +6,7 @@ on: - 'v*-rc*' concurrency: - group: ${{ github.workflow }} + group: run-only-one-workflow jobs: build: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 663fd02c..2cd67aef 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,7 +6,7 @@ on: - "main" concurrency: - group: ${{ github.workflow }} + group: run-only-one-workflow jobs: build-dts: diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index 400f973a..e81e4bbc 100644 --- a/.github/workflows/weekly.yml +++ b/.github/workflows/weekly.yml @@ -6,7 +6,7 @@ on: workflow_dispatch: concurrency: - group: ${{ github.workflow }} + group: run-only-one-workflow jobs: build: From 674aa80f0966922e7c919a8ef2e48f7f86ee4189 Mon Sep 17 00:00:00 2001 From: Pawel Langowski Date: Thu, 30 Jan 2025 09:17:04 +0100 Subject: [PATCH 2/3] .github/workflows: Build DTS from kas-uefi-sb.yml Signed-off-by: Pawel Langowski --- .github/workflows/build.yml | 7 +++++-- .github/workflows/ci.yml | 17 ++++++++++++++++- .github/workflows/develop.yml | 17 ++++++++++++++++- .github/workflows/test.yml | 1 + .github/workflows/weekly.yml | 2 ++ 5 files changed, 40 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 82940306..8951c56c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,6 +6,9 @@ on: cacheless: type: boolean required: true + kas-path: + type: string + required: true jobs: build: @@ -22,13 +25,13 @@ jobs: if: ${{ inputs.cacheless }} shell: bash run: | - sed -i '/cache.yml/d' meta-dts/kas.yml + sed -i '/cache.yml/d' "${{ inputs.kas-path }}" - name: Build DTS image shell: bash id: build_image run: | for attempt in {1..5}; do - if kas-container build meta-dts/kas.yml; then + if kas-container build "${{ inputs.kas-path }}"; then echo "Build command succeeded on attempt $attempt" break else diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ad148eeb..561b4a06 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,10 +10,25 @@ concurrency: group: run-only-one-workflow jobs: + build-uefi-sb: + uses: ./.github/workflows/build.yml + with: + cacheless: false + kas-path: meta-dts/kas-uefi-sb.yml + move-build-artifacts: + needs: build-uefi-sb + runs-on: + labels: dts-builder + steps: + - name: Move UEFI SB build artifacts + run: | + mv build build-sb build: + needs: move-build-artifacts uses: ./.github/workflows/build.yml with: cacheless: false + kas-path: meta-dts/kas.yml deploy-images: name: Deploy DTS artifacts on boot.dasharo.com and GitHub Release needs: build @@ -134,4 +149,4 @@ jobs: rm -rf ~/.ssh/dts-ci-key rm -rf dts-release-cicd-pipeline rm -f ~/.ssh/gitea_dts_release_cicd - rm -rf build meta-dts + rm -rf build build-sb meta-dts diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 58cd2dc9..28eeb376 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -9,10 +9,25 @@ concurrency: group: run-only-one-workflow jobs: + build-uefi-sb: + uses: ./.github/workflows/build.yml + with: + cacheless: false + kas-path: meta-dts/kas-uefi-sb.yml + move-build-artifacts: + needs: build-uefi-sb + runs-on: + labels: dts-builder + steps: + - name: Move UEFI SB build artifacts + run: | + mv build build-sb build: + needs: move-build-artifacts uses: ./.github/workflows/build.yml with: cacheless: false + kas-path: meta-dts/kas.yml deploy-images: name: Deploy DTS artifacts on boot.dasharo.com needs: build @@ -125,4 +140,4 @@ jobs: rm -rf ~/.ssh/dts-ci-key rm -rf dts-release-cicd-pipeline rm -f ~/.ssh/gitea_dts_release_cicd - rm -rf build meta-dts + rm -rf build build-sb meta-dts diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2cd67aef..1216aab3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,6 +13,7 @@ jobs: uses: ./.github/workflows/build.yml with: cacheless: false + kas-path: meta-dts/kas.yml checkout-osfv: runs-on: dts-builder diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index e81e4bbc..6255cea5 100644 --- a/.github/workflows/weekly.yml +++ b/.github/workflows/weekly.yml @@ -13,6 +13,8 @@ jobs: uses: ./.github/workflows/build.yml with: cacheless: true + kas-path: meta-dts/kas.yml + deploy-cache: name: Deploy cache on cache.dasharo.com needs: build From 73551b8ee9088c3d77d624f9e49ffb4fb0a9bdc8 Mon Sep 17 00:00:00 2001 From: Pawel Langowski Date: Fri, 7 Feb 2025 10:49:48 +0100 Subject: [PATCH 3/3] Use separate cache for kas-uefi-sb + build kas-uefi-sb in weekly workflow Signed-off-by: Pawel Langowski --- .github/workflows/build.yml | 6 +++++- .github/workflows/weekly.yml | 20 ++++++++++++++++++-- kas-uefi-sb.yml | 4 ++++ 3 files changed, 27 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8951c56c..9905f2b3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,7 +25,11 @@ jobs: if: ${{ inputs.cacheless }} shell: bash run: | - sed -i '/cache.yml/d' "${{ inputs.kas-path }}" + if [ ${{inputs.kas-path}} == "meta-dts/kas-uefi-sb.yml" ]; then + sed -i '/cache-uefi-sb.yml/d' "${{ inputs.kas-path }}" + else + sed -i '/cache.yml/d' "${{ inputs.kas-path }}" + fi - name: Build DTS image shell: bash id: build_image diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index 6255cea5..72b3090a 100644 --- a/.github/workflows/weekly.yml +++ b/.github/workflows/weekly.yml @@ -9,12 +9,25 @@ concurrency: group: run-only-one-workflow jobs: + build-uefi-sb: + uses: ./.github/workflows/build.yml + with: + cacheless: true + kas-path: meta-dts/kas-uefi-sb.yml + move-build-artifacts: + needs: build-uefi-sb + runs-on: + labels: dts-builder + steps: + - name: Move UEFI SB build artifacts + run: | + mv build build-sb build: + needs: move-build-artifacts uses: ./.github/workflows/build.yml with: cacheless: true kas-path: meta-dts/kas.yml - deploy-cache: name: Deploy cache on cache.dasharo.com needs: build @@ -32,11 +45,14 @@ jobs: shell: bash run: | ssh -i ~/.ssh/dts-ci-key builder@10.1.40.2 "mkdir -p cache/yocto/dts" + ssh -i ~/.ssh/dts-ci-key builder@10.1.40.2 "mkdir -p cache/yocto/dts/dts-uefi-sb" rsync -P -e "ssh -i ~/.ssh/dts-ci-key" -rlptD --delete build/sstate-cache builder@10.1.40.2:cache/yocto/dts + rsync -P -e "ssh -i ~/.ssh/dts-ci-key" -rlptD --delete build-sb/sstate-cache builder@10.1.40.2:cache/yocto/dts/dts-uefi-sb - name: Send downloads folder to cache.dasharo.com shell: bash run: | rsync -P -e "ssh -i ~/.ssh/dts-ci-key" -rlptD --delete build/downloads builder@10.1.40.2:cache/yocto/dts + rsync -P -e "ssh -i ~/.ssh/dts-ci-key" -rlptD --delete build-sb/downloads builder@10.1.40.2:cache/yocto/dts/dts-uefi-sb cleanup: name: Cleanup if: always() @@ -48,4 +64,4 @@ jobs: shell: bash run: | rm -rf ~/.ssh/dts-ci-key - rm -rf build + rm -rf build build-sb diff --git a/kas-uefi-sb.yml b/kas-uefi-sb.yml index 31ba524f..2574310c 100644 --- a/kas-uefi-sb.yml +++ b/kas-uefi-sb.yml @@ -23,3 +23,7 @@ repos: meta-openembedded: layers: meta-perl: + +local_conf_header: + yocto-cache-uefi-sb: | + PROJECT_NAME = "yocto/dts/dts-uefi-sb"