diff --git a/.github/workflows/build-image-beta.yml b/.github/workflows/build-image-beta.yml index ac0af5f9b47..364fbeb273b 100644 --- a/.github/workflows/build-image-beta.yml +++ b/.github/workflows/build-image-beta.yml @@ -13,7 +13,8 @@ on: paths-ignore: - "**.md" schedule: - - cron: "40 4 * * *" # 4:40 UTC everyday + - cron: "40 4 * * 1,2,3,4,5,6" # 4:40 UTC All But Sunday + - cron: "40 4 * * 0" # 4:40 UTC Sunday workflow_call: workflow_dispatch: inputs: @@ -38,3 +39,12 @@ jobs: with: brand_name: ${{ matrix.brand_name }} fedora_version: beta + + generate-release: + name: Generate Release + needs: [build-image-beta] + if: github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call' || github.event_name.scheduled == '40 4 * * 0' + secrets: inherit + uses: ./.github/workflows/generate-release.yml + with: + fedora_version: beta \ No newline at end of file diff --git a/.github/workflows/build-image-gts.yml b/.github/workflows/build-image-gts.yml index 7f63cfe4342..d2c17123e19 100644 --- a/.github/workflows/build-image-gts.yml +++ b/.github/workflows/build-image-gts.yml @@ -23,3 +23,19 @@ jobs: with: brand_name: ${{ matrix.brand_name }} fedora_version: gts + + generate_release: + name: Generate Release + needs: [build-image-gts] + if: github.event_name == 'scheduled' || github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call' + secrets: inherit + uses: ./.github/workflows/generate-release.yml + with: + fedora_version: gts + + build-iso-gts: + name: Build Stable ISOs + needs: [build-image-gts] + if: github.event_name == 'scheduled' + secrets: inherit + uses: ./.github/workflows/build-iso-stable.yml \ No newline at end of file diff --git a/.github/workflows/build-image-latest.yml b/.github/workflows/build-image-latest.yml index 463ad99a950..330ade48e5b 100644 --- a/.github/workflows/build-image-latest.yml +++ b/.github/workflows/build-image-latest.yml @@ -13,7 +13,8 @@ on: paths-ignore: - "**.md" schedule: - - cron: "40 4 * * *" # 4:40 UTC everyday + - cron: "40 4 * * 1,2,3,4,5,6" # 4:40 UTC All But Sunday + - cron: "40 4 * * 0" # 4:40 UTC Sunday workflow_call: workflow_dispatch: inputs: @@ -39,3 +40,19 @@ jobs: image_flavors: '["main", "nvidia", "hwe", "hwe-nvidia"]' brand_name: ${{ matrix.brand_name }} fedora_version: latest + + generate-release: + name: Generate Release + needs: [build-image-latest] + if: github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call' || github.event_name.scheduled == '40 4 * * 0' + secrets: inherit + uses: ./.github/workflows/generate-release.yml + with: + fedora_version: latest + + build-iso-latest: + name: Build Stable ISOs + needs: [build-image-latest] + if: github.event_name.scheduled == '40 4 * * 0' + secrets: inherit + uses: ./.github/workflows/build-iso-latest.yml \ No newline at end of file diff --git a/.github/workflows/build-image-stable.yml b/.github/workflows/build-image-stable.yml index 433382efa3d..0c61fa3cc2e 100644 --- a/.github/workflows/build-image-stable.yml +++ b/.github/workflows/build-image-stable.yml @@ -7,7 +7,8 @@ on: paths-ignore: - "**.md" schedule: - - cron: "45 5 * * *" # 5:41 UTC everyday + - cron: "45 5 * * 1,2,3,4,5,6" # 5:41 UTC everyday + - cron: "45 5 * * 0" # 5:41 UTC sunday workflow_call: workflow_dispatch: inputs: @@ -32,3 +33,19 @@ jobs: with: brand_name: ${{ matrix.brand_name }} fedora_version: stable + + generate-release: + name: Generate Release + needs: [build-image-stable] + if: github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call' || github.event_name.scheduled == '45 5 * * 0' + secrets: inherit + uses: ./.github/workflows/generate-release.yml + with: + fedora_version: stable + + build-iso-stable: + name: Build Stable ISOs + needs: [build-image-stable] + if: github.event_name.scheduled == '45 5 * * 0' + secrets: inherit + uses: ./.github/workflows/build-iso-stable.yml \ No newline at end of file diff --git a/.github/workflows/build-iso-gts.yml b/.github/workflows/build-iso-gts.yml index d44e2c2b5f3..02ab545d83d 100644 --- a/.github/workflows/build-iso-gts.yml +++ b/.github/workflows/build-iso-gts.yml @@ -1,7 +1,5 @@ name: GTS ISO on: - # schedule: - # - cron: '0 2 * * sun' # 02:00 Sunday workflow_dispatch: workflow_call: diff --git a/.github/workflows/build-iso-latest.yml b/.github/workflows/build-iso-latest.yml index 707b568def1..f4b17cd8b58 100644 --- a/.github/workflows/build-iso-latest.yml +++ b/.github/workflows/build-iso-latest.yml @@ -1,7 +1,5 @@ name: Latest ISO on: - # schedule: - # - cron: '0 4 * * sun' # 04:00 Sunday workflow_call: workflow_dispatch: inputs: diff --git a/.github/workflows/build-iso-stable.yml b/.github/workflows/build-iso-stable.yml index 34115681e25..5406d027e04 100644 --- a/.github/workflows/build-iso-stable.yml +++ b/.github/workflows/build-iso-stable.yml @@ -1,7 +1,5 @@ name: Stable ISO on: - # schedule: - # - cron: '41 6 * * 2' # 6:41 UTC every Tuesday workflow_call: workflow_dispatch: inputs: diff --git a/.github/workflows/generate_release.yml b/.github/workflows/generate-release.yml similarity index 79% rename from .github/workflows/generate_release.yml rename to .github/workflows/generate-release.yml index c27411b293b..8e606a5ebfc 100644 --- a/.github/workflows/generate_release.yml +++ b/.github/workflows/generate-release.yml @@ -1,6 +1,10 @@ on: workflow_call: inputs: + make_latest: + description: "Make latest for Release" + type: boolean + default: false fedora_version: description: "Release Tag (e.g. gts, stable)" type: string @@ -12,10 +16,10 @@ on: make_latest: description: "Make latest for Release" type: choice - default: "false" + default: 'false' options: - - "false" - - "true" + - 'false' + - 'true' fedora_version: description: "Release Tag (e.g. gts, stable)" required: true @@ -23,7 +27,10 @@ on: options: - '["gts"]' - '["stable"]' + - '["latest"]' + - '["beta"]' - '["gts", "stable"]' + - '["gts", "stable", "latest", "beta"]' permissions: contents: write @@ -64,5 +71,5 @@ jobs: name: ${{ steps.generate-release-text.outputs.title }} tag_name: ${{ steps.generate-release-text.outputs.tag }} body_path: ./changelog.md - make_latest: ${{ inputs.make_latest == 'true' && matrix.version == 'stable' || false }} - prerelease: ${{ inputs.make_latest != 'false' }} + make_latest: ${{ inputs.make_latest == true && matrix.version == 'stable' || false }} + prerelease: ${{ inputs.make_latest != false }} diff --git a/.github/workflows/reusable-build-iso.yml b/.github/workflows/reusable-build-iso.yml index 2f2e47611ca..7112c363119 100644 --- a/.github/workflows/reusable-build-iso.yml +++ b/.github/workflows/reusable-build-iso.yml @@ -16,7 +16,7 @@ on: type: string concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }}-iso + group: ${{ github.workflow }}-${{ github.ref || github.run_id }}-${{ inputs.brand_name}}-${{ inputs.fedora_version }}-iso cancel-in-progress: true jobs: diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index babc7bae5f5..c71f36b1564 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -18,6 +18,9 @@ on: description: "The full kernel version to pin" type: string outputs: + stable_release: + description: "If a release should be made for stable images" + value: ${{ jobs.build_container.outputs.stable_release }} images: description: "An array of images built and pushed to the registry" value: ${{ jobs.check.outputs.images }} @@ -480,12 +483,3 @@ jobs: exit 1 fi done - - generate_release: - name: Generate Release - needs: [build_container, check] - if: (github.event_name == 'workflow_dispatch' || github.event_name == 'scheduled') && (inputs.fedora_version == 'gts' || inputs.fedora_version == 'stable' && needs.build_container.outputs.stable_release == 'true') - secrets: inherit - uses: ./.github/workflows/generate_release.yml - with: - fedora_version: ${{ inputs.fedora_version }}