From 594a33b950d1515c6c2f5287f08916b3db85c1ca Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Jul 2026 22:11:13 +0000 Subject: [PATCH 1/2] Initial plan From 609917c2a62cfe0d23ecca7bda84c33ef3f2eb88 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 1 Jul 2026 22:17:04 +0000 Subject: [PATCH 2/2] Migrate CI from Travis to GitHub Actions (main branch) --- .github/workflows/integration-tests.yml | 41 +++++++++++++++++++++++++ .github/workflows/unit-tests.yml | 41 +++++++++++++++++++++++++ .travis.yml | 11 ------- README.md | 3 +- 4 files changed, 84 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/integration-tests.yml create mode 100644 .github/workflows/unit-tests.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml new file mode 100644 index 0000000..f498c38 --- /dev/null +++ b/.github/workflows/integration-tests.yml @@ -0,0 +1,41 @@ +name: Integration Tests + +on: + push: + branches: [main] + pull_request: + branches: [main] + schedule: + # Daily run that fans out across every active branch via the matrix + # job below. GitHub only fires `schedule:` from the workflow file on + # the default branch (main); copies of this file on + # non-default branches keep the block for symmetry but it is dormant + # there. + - cron: '0 8 * * *' + workflow_dispatch: + +jobs: + tests: + if: github.event_name != 'schedule' + uses: logstash-plugins/.ci/.github/workflows/integration-tests.yml@1.x + # Forward org/repo secrets (e.g. SLACK_BOT_TOKEN used by the reusable's + # failure-notification step). The reusable does not declare a + # workflow_call.secrets block, so `inherit` is required. + secrets: inherit + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + with: + timeout-minutes: 60 + + scheduled: + if: github.event_name == 'schedule' + strategy: + fail-fast: false + matrix: + branch: [main] + uses: logstash-plugins/.ci/.github/workflows/integration-tests.yml@1.x + secrets: inherit + with: + ref: ${{ matrix.branch }} + timeout-minutes: 60 diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml new file mode 100644 index 0000000..a83caab --- /dev/null +++ b/.github/workflows/unit-tests.yml @@ -0,0 +1,41 @@ +name: Unit Tests + +on: + push: + branches: [main] + pull_request: + branches: [main] + schedule: + # Daily run that fans out across every active branch via the matrix + # job below. GitHub only fires `schedule:` from the workflow file on + # the default branch (main); copies of this file on + # non-default branches keep the block for symmetry but it is dormant + # there. + - cron: '0 8 * * *' + workflow_dispatch: + +jobs: + tests: + if: github.event_name != 'schedule' + uses: logstash-plugins/.ci/.github/workflows/unit-tests.yml@1.x + # Forward org/repo secrets (e.g. SLACK_BOT_TOKEN used by the reusable's + # failure-notification step). The reusable does not declare a + # workflow_call.secrets block, so `inherit` is required. + secrets: inherit + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + with: + timeout-minutes: 60 + + scheduled: + if: github.event_name == 'schedule' + strategy: + fail-fast: false + matrix: + branch: [main] + uses: logstash-plugins/.ci/.github/workflows/unit-tests.yml@1.x + secrets: inherit + with: + ref: ${{ matrix.branch }} + timeout-minutes: 60 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 890a1c5..0000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -import: -- logstash-plugins/.ci:travis/travis.yml@1.x - -jobs: - include: - - stage: "Integration Tests" - env: INTEGRATION=true LOG_LEVEL=info ELASTIC_STACK_VERSION=8.current - - env: INTEGRATION=true LOG_LEVEL=info ELASTIC_STACK_VERSION=9.current - - env: INTEGRATION=true SNAPSHOT=true LOG_LEVEL=info ELASTIC_STACK_VERSION=8.current - - env: INTEGRATION=true SNAPSHOT=true LOG_LEVEL=info ELASTIC_STACK_VERSION=9.current - - env: INTEGRATION=true SNAPSHOT=true LOG_LEVEL=info ELASTIC_STACK_VERSION=main \ No newline at end of file diff --git a/README.md b/README.md index 562d54b..c58550d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Logstash Plugin -[![Travis Build Status](https://travis-ci.com/logstash-plugins/logstash-codec-avro.svg)](https://travis-ci.com/logstash-plugins/logstash-codec-avro) +[![Unit Tests](https://github.com/logstash-plugins/logstash-codec-avro/actions/workflows/unit-tests.yml/badge.svg?branch=main)](https://github.com/logstash-plugins/logstash-codec-avro/actions/workflows/unit-tests.yml) +[![Integration Tests](https://github.com/logstash-plugins/logstash-codec-avro/actions/workflows/integration-tests.yml/badge.svg?branch=main)](https://github.com/logstash-plugins/logstash-codec-avro/actions/workflows/integration-tests.yml) This is a plugin for [Logstash](https://github.com/elastic/logstash).