summaryrefslogtreecommitdiffstats
path: root/src/fluent-bit/.github/workflows/pr-package-tests.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'src/fluent-bit/.github/workflows/pr-package-tests.yaml')
-rw-r--r--src/fluent-bit/.github/workflows/pr-package-tests.yaml92
1 files changed, 92 insertions, 0 deletions
diff --git a/src/fluent-bit/.github/workflows/pr-package-tests.yaml b/src/fluent-bit/.github/workflows/pr-package-tests.yaml
new file mode 100644
index 000000000..b461ac4da
--- /dev/null
+++ b/src/fluent-bit/.github/workflows/pr-package-tests.yaml
@@ -0,0 +1,92 @@
+name: PR - packaging tests run on-demand via label
+on:
+ pull_request:
+ types:
+ - labeled
+ - opened
+ - reopened
+ - synchronize
+ branches:
+ - master
+
+# Cancel any running on push
+concurrency:
+ group: ${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ # This job provides this metadata for the other jobs to use.
+ pr-package-test-build-get-meta:
+ # This is a long test to run so only on-demand for certain PRs
+ if: contains(github.event.pull_request.labels.*.name, 'ok-package-test')
+ name: Get metadata to add to build
+ runs-on: ubuntu-latest
+ outputs:
+ date: ${{ steps.date.outputs.date }}
+ permissions:
+ contents: none
+ steps:
+ # For cron builds, i.e. nightly, we provide date and time as extra parameter to distinguish them.
+ - name: Get current date
+ id: date
+ run: echo "date=$(date '+%Y-%m-%d-%H_%M_%S')" >> $GITHUB_OUTPUT
+
+ - name: Debug event output
+ uses: hmarr/debug-action@v2
+
+ pr-package-test-build-generate-matrix:
+ name: PR - packages build matrix
+ needs:
+ - pr-package-test-build-get-meta
+ runs-on: ubuntu-latest
+ outputs:
+ build-matrix: ${{ steps.set-matrix.outputs.build-matrix }}
+ permissions:
+ contents: read
+ steps:
+ - name: Checkout repository, always latest for action
+ uses: actions/checkout@v4
+
+ # Set up the list of target to build so we can pass the JSON to the reusable job
+ - uses: ./.github/actions/generate-package-build-matrix
+ id: set-matrix
+ with:
+ ref: master
+
+ pr-package-test-build-packages:
+ name: PR - packages build Linux
+ needs:
+ - pr-package-test-build-get-meta
+ - pr-package-test-build-generate-matrix
+ uses: ./.github/workflows/call-build-linux-packages.yaml
+ with:
+ version: pr-${{ github.event.number }}
+ ref: ${{ github.ref }}
+ build_matrix: ${{ needs.pr-package-test-build-generate-matrix.outputs.build-matrix }}
+ unstable: ${{ needs.pr-package-test-build-get-meta.outputs.date }}
+ secrets:
+ token: ${{ secrets.GITHUB_TOKEN }}
+
+ pr-package-test-build-windows-package:
+ name: PR - packages build Windows
+ needs:
+ - pr-package-test-build-get-meta
+ uses: ./.github/workflows/call-build-windows.yaml
+ with:
+ version: pr-${{ github.event.number }}
+ ref: ${{ github.ref }}
+ unstable: ${{ needs.pr-package-test-build-get-meta.outputs.date }}
+ secrets:
+ token: ${{ secrets.GITHUB_TOKEN }}
+
+ pr-package-test-build-macos-package:
+ name: PR - packages build MacOS
+ needs:
+ - pr-package-test-build-get-meta
+ uses: ./.github/workflows/call-build-macos.yaml
+ with:
+ version: pr-${{ github.event.number }}
+ ref: ${{ github.ref }}
+ unstable: ${{ needs.pr-package-test-build-get-meta.outputs.date }}
+ secrets:
+ token: ${{ secrets.GITHUB_TOKEN }}