From 2702f4f9d960ef23c662d070cbd2335386926db9 Mon Sep 17 00:00:00 2001 From: Pat Date: Tue, 31 Oct 2023 13:27:38 +0000 Subject: [PATCH] workflows: update to handle 2.2 releases (#8113) Signed-off-by: Patrick Stephens --- .github/PULL_REQUEST_TEMPLATE.md | 6 ++-- .github/workflows/README.md | 6 ++-- .github/workflows/cron-unstable-build.yaml | 6 ++-- .github/workflows/staging-release.yaml | 40 +++++++++++++++++----- .github/workflows/unit-tests.yaml | 2 ++ 5 files changed, 43 insertions(+), 17 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index fc910708004..17bdebf05f6 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -7,16 +7,18 @@ Enter `[N/A]` in the box, if an item is not applicable to your change. **Testing** Before we can approve your change; please submit the following in a comment: + - [ ] Example configuration file for the change - [ ] Debug log output from testing the change - - [ ] Attached [Valgrind](https://valgrind.org/docs/manual/quick-start.html) output that shows no leaks or memory corruption was found If this is a change to packaging of containers or native binaries then please confirm it works for all targets. + - [ ] Run [local packaging test](./packaging/local-build-all.sh) showing all targets (including any new ones) build. - [ ] Set `ok-package-test` label to test for all targets (requires maintainer to do). diff --git a/.github/workflows/README.md b/.github/workflows/README.md index aa52f593f35..e13624adf65 100644 --- a/.github/workflows/README.md +++ b/.github/workflows/README.md @@ -184,13 +184,13 @@ Take the checksums from the release process above, the AppVeyor stage provides t ## Unstable/nightly builds These happen every 24 hours and [reuse the same workflow](./cron-unstable-build.yaml) as the staging build so are identical except they skip the upload to S3 step. -This means all targets are built nightly for `master` and `2.0` branches including container images and Linux, macOS and Windows packages. +This means all targets are built nightly for `master` and `2.1` branches including container images and Linux, macOS and Windows packages. The container images are available here (the tag refers to the branch): -* [ghcr.io/fluent/fluent-bit/unstable:2.0](ghcr.io/fluent/fluent-bit/unstable:2.0) +* [ghcr.io/fluent/fluent-bit/unstable:2.1](ghcr.io/fluent/fluent-bit/unstable:2.1) * [ghcr.io/fluent/fluent-bit/unstable:master](ghcr.io/fluent/fluent-bit/unstable:master) -* [ghcr.io/fluent/fluent-bit/unstable:windows-2019-2.0](ghcr.io/fluent/fluent-bit/unstable:windows-2019-2.0) +* [ghcr.io/fluent/fluent-bit/unstable:windows-2019-2.1](ghcr.io/fluent/fluent-bit/unstable:windows-2019-2.1) * [ghcr.io/fluent/fluent-bit/unstable:windows-2019-master](ghcr.io/fluent/fluent-bit/unstable:windows-2019-master) The Linux, macOS and Windows packages are available to download from the specific workflow run. diff --git a/.github/workflows/cron-unstable-build.yaml b/.github/workflows/cron-unstable-build.yaml index 82235a41518..76fdb5ce658 100644 --- a/.github/workflows/cron-unstable-build.yaml +++ b/.github/workflows/cron-unstable-build.yaml @@ -13,7 +13,7 @@ on: # Run nightly build at this time, bit of trial and error but this seems good. schedule: - cron: "0 6 * * *" # master build - - cron: "0 12 * * *" # 2.0 build + - cron: "0 12 * * *" # 2.1 build # We do not want a new unstable build to run whilst we are releasing the current unstable build. concurrency: unstable-build-release @@ -51,10 +51,10 @@ jobs: echo "cron_branch=master" >> $GITHUB_ENV shell: bash - - name: 2.0 run + - name: 2.1 run if: github.event_name == 'schedule' && github.event.schedule=='0 12 * * *' run: | - echo "cron_branch=2.0" >> $GITHUB_ENV + echo "cron_branch=2.1" >> $GITHUB_ENV shell: bash - name: Output the branch to use diff --git a/.github/workflows/staging-release.yaml b/.github/workflows/staging-release.yaml index 8ae352bdacd..ca8fd7535bf 100644 --- a/.github/workflows/staging-release.yaml +++ b/.github/workflows/staging-release.yaml @@ -459,7 +459,7 @@ jobs: shell: bash - name: Promote container images from staging to GHCR.io - if: ${{ startsWith(github.event.inputs.version, '2.0') || ! startsWith(matrix.tag, 'latest') }} + if: ${{ startsWith(github.event.inputs.version, '2.0') || startsWith(github.event.inputs.version, '2.1') || ! startsWith(matrix.tag, 'latest') }} run: | docker run --rm \ quay.io/skopeo/stable:latest \ @@ -479,9 +479,6 @@ jobs: # Part of resolution for: https://github.com/fluent/fluent-bit/issues/7748 # More recent build-push-actions may mean legacy format is not preserved so we provide arch-specific tags just in case staging-release-images-arch-specific-legacy-tags: - # TODO: remove next release once we are happy this all works, for now though do not block a release - continue-on-error: true - # name: Release ${{ matrix.arch }} legacy format Linux container images runs-on: ubuntu-latest needs: @@ -545,8 +542,8 @@ jobs: TAG: ${{ steps.get-tag.outputs.tag }} staging-release-images-latest-tags: - # Only update latest tags for 2.1 releases - if: startsWith(github.event.inputs.version, '2.1') + # Only update latest tags for 2.2 releases + if: startsWith(github.event.inputs.version, '2.2') name: Release latest Linux container images runs-on: ubuntu-latest needs: @@ -821,7 +818,7 @@ jobs: tag_name: v${{ inputs.version }} target_commitish: '2.0' - - name: Release 2.1 and latest + - name: Release 2.1 - not latest uses: softprops/action-gh-release@v1 if: startsWith(inputs.version, '2.1') with: @@ -830,6 +827,17 @@ jobs: generate_release_notes: true name: "Fluent Bit ${{ inputs.version }}" tag_name: v${{ inputs.version }} + target_commitish: '2.1' + + - name: Release 2.2 and latest + uses: softprops/action-gh-release@v1 + if: startsWith(inputs.version, '2.2') + with: + body: "https://fluentbit.io/announcements/v${{ inputs.version }}/" + draft: false + generate_release_notes: true + name: "Fluent Bit ${{ inputs.version }}" + tag_name: v${{ inputs.version }} staging-release-create-docs-pr: name: Create docs updates for new release @@ -849,9 +857,17 @@ jobs: ref: 2.0 token: ${{ secrets.GH_PA_TOKEN }} - - name: Release 2.1 and latest + - name: Release 2.1 - not latest if: startsWith(inputs.version, '2.1') uses: actions/checkout@v4 + with: + repository: fluent/fluent-bit-docs + ref: 2.1 + token: ${{ secrets.GH_PA_TOKEN }} + + - name: Release 2.2 and latest + if: startsWith(inputs.version, '2.2') + uses: actions/checkout@v4 with: repository: fluent/fluent-bit-docs token: ${{ secrets.GH_PA_TOKEN }} @@ -914,9 +930,15 @@ jobs: with: ref: 2.0 - - name: Release 2.1 and latest + - name: Release 2.1 if: startsWith(inputs.version, '2.1') uses: actions/checkout@v4 + with: + ref: 2.1 + + - name: Release 2.2 and latest + if: startsWith(inputs.version, '2.2') + uses: actions/checkout@v4 # Get the new version to use - name: 'Get next minor version' diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 282879c5f51..61355f4a977 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -3,6 +3,7 @@ on: push: branches: - master + - 2.1 - 2.0 - 1.9 - 1.8 @@ -18,6 +19,7 @@ on: - 'examples/**' branches: - master + - 2.1 - 2.0 - 1.9 - 1.8