Skip to content

Release v605

Release v605 #4579

Workflow file for this run

name: Apt based Linux
on:
push:
branches:
- master
- fluent-package-v6
pull_request:
concurrency:
group: ${{ github.head_ref || github.sha }}-${{ github.workflow }}
cancel-in-progress: true
jobs:
define-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- id: set-matrix
# See https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions#example-returning-a-json-object
run: echo "matrix=$(cat apt.matrix.json | jq --compact-output)" >> $GITHUB_OUTPUT
working-directory: .github/workflows/
build:
name: Build
runs-on: ubuntu-latest
needs: define-matrix
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Build deb on ${{ matrix.label }}
uses: ./.github/actions/build-deb
with:
rake-job: ${{ matrix.rake-job }}
next-major: 'false'
cache-group: v6
build-next:
name: Build next major
runs-on: ubuntu-latest
needs: define-matrix
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Build next major deb on ${{ matrix.label }}
uses: ./.github/actions/build-deb
with:
rake-job: ${{ matrix.rake-job }}
next-major: 'true'
cache-group: v7
check_package_size:
name: Check Package Size
runs-on: ubuntu-latest
needs: [define-matrix, build]
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: packages-${{ matrix.rake-job }}
path: fluent-package/apt/repositories
- name: Check Package Size
run: |
fluent-package/apt/pkgsize-test.sh ${{ matrix.rake-job }} amd64
installation_test:
name: Installation Test
runs-on: ubuntu-latest
needs: [define-matrix, build]
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Installation Test on ${{ matrix.label }}
uses: ./.github/actions/test-on-docker
with:
rake-job: ${{ matrix.rake-job }}
repository-type: apt
test-script: install-test.sh
test-docker-image: ${{ matrix.test-docker-image }}
piuparts_test:
name: Piuparts Test
runs-on: ubuntu-latest
needs: [define-matrix, build]
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Piuparts Test on ${{ matrix.label }}
uses: ./.github/actions/test-on-docker
with:
rake-job: ${{ matrix.rake-job }}
docker-options: --privileged
repository-type: apt
test-docker-image: ${{ matrix.test-docker-image }}
test-script: piuparts-test.sh
serverspec_test:
name: Serverspec Test
runs-on: ubuntu-latest
needs: [define-matrix, build]
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Serverspec Test on ${{ matrix.label }}
uses: ./.github/actions/test-on-docker
with:
rake-job: ${{ matrix.rake-job }}
repository-type: apt
test-docker-image: ${{ matrix.test-docker-image }}
test-script: serverspec-test.sh
binstubs_test:
name: Binstubs Test
runs-on: ubuntu-latest
needs: [define-matrix, build]
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Binstubs Test on ${{ matrix.label }}
uses: ./.github/actions/test-on-docker
with:
rake-job: ${{ matrix.rake-job }}
repository-type: apt
test-docker-image: ${{ matrix.test-docker-image }}
test-script: binstubs-test.sh
test:
name: Test ${{ matrix.label }} ${{ matrix.test }}
needs: [build-next, check_package_size, installation_test, piuparts_test, serverspec_test, binstubs_test]
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
label:
- Debian bookworm amd64
- Debian trixie amd64
- Ubuntu Jammy amd64
- Ubuntu Noble amd64
- Ubuntu Resolute amd64
test:
- "update-from-v4.sh"
- "update-from-v4.sh via-v5"
- "update-from-v5-lts.sh"
- "downgrade-to-v4.sh"
- "downgrade-to-v5-lts.sh"
- "downgrade-to-v6-lts-tmpfiles.sh"
- "install-newly.sh local"
- "install-newly.sh v6"
- "install-newly.sh lts"
- "update-to-next-version.sh"
- "update-to-next-version-with-backward-compat-for-v4.sh"
- "update-to-next-version-service-status.sh enabled active"
- "update-to-next-version-service-status.sh enabled inactive"
- "update-to-next-version-service-status.sh disabled active"
- "update-to-next-version-service-status.sh disabled inactive"
- "update-to-next-version-with-auto-and-manual.sh"
- "update-to-next-major-version.sh auto active"
- "update-to-next-major-version.sh auto inactive"
- "update-to-next-major-version.sh manual active"
- "update-to-next-major-version.sh manual inactive"
- "update-to-next-major-version.sh etc active"
- "update-to-next-major-version.sh etc inactive"
- "update-without-data-lost.sh v6 v7"
- "update-without-data-lost.sh v7 v6"
- "obsolete-plugins.sh"
- "tmpfiles.sh"
include:
- label: Debian bookworm amd64
rake-job: debian-bookworm
container-image: images:debian/12
- label: Debian trixie amd64
rake-job: debian-trixie
container-image: images:debian/13
- label: Ubuntu Jammy amd64
rake-job: ubuntu-jammy
container-image: images:ubuntu/22.04
- label: Ubuntu Noble amd64
rake-job: ubuntu-noble
container-image: images:ubuntu/24.04
- label: Ubuntu Resolute amd64
rake-job: ubuntu-resolute
container-image: images:ubuntu/26.04
exclude:
- label: Debian bookworm amd64
test: update-from-v4.sh
- label: Debian bookworm amd64
test: update-from-v4.sh via-v5
- label: Debian bookworm amd64
test: update-to-next-version-with-backward-compat-for-v4.sh
- label: Debian bookworm amd64
test: downgrade-to-v4.sh
# Temporary disable test for trixie (not released yet)
- label: Debian trixie amd64
test: update-from-v4.sh
- label: Debian trixie amd64
test: update-from-v4.sh via-v5
- label: Debian trixie amd64
test: update-from-v5-lts.sh
- label: Debian trixie amd64
test: downgrade-to-v4.sh
- label: Debian trixie amd64
test: downgrade-to-v5-lts.sh
- label: Debian trixie amd64
test: install-newly.sh v5
- label: Debian trixie amd64
test: install-newly.sh lts
- label: Debian trixie amd64
test: update-to-next-version-with-backward-compat-for-v4.sh
- label: Ubuntu Noble amd64
test: update-from-v4.sh
- label: Ubuntu Noble amd64
test: update-from-v4.sh via-v5
- label: Ubuntu Noble amd64
test: update-to-next-version-with-backward-compat-for-v4.sh
- label: Ubuntu Noble amd64
test: downgrade-to-v4.sh
# Resolute
- label: Ubuntu Resolute amd64
test: update-from-v4.sh
- label: Ubuntu Resolute amd64
test: update-from-v4.sh via-v5
- label: Ubuntu Resolute amd64
test: update-from-v5-lts.sh
- label: Ubuntu Resolute amd64
test: downgrade-to-v4.sh
- label: Ubuntu Resolute amd64
test: downgrade-to-v4.sh
- label: Ubuntu Resolute amd64
test: downgrade-to-v5-lts.sh
- label: Ubuntu Resolute amd64
test: downgrade-to-v6-lts-tmpfiles.sh
- label: Ubuntu Resolute amd64
test: update-to-next-version-with-backward-compat-for-v4.sh
- label: Ubuntu Resolute amd64
test: install-newly.sh v6
- label: Ubuntu Resolute amd64
test: install-newly.sh lts
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: packages-${{ matrix.rake-job }}
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: v7-packages-${{ matrix.rake-job }}
path: v7-test
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: packages-apt-source-${{ matrix.rake-job }}
- name: Setup Incus
run: ./fluent-package/test-tools/setup-incus.sh
- name: Run Test ${{ matrix.test }} on ${{ matrix.container-image }}
run: fluent-package/apt/systemd-test/test.sh ${{ matrix.container-image }} ${{ matrix.test }}
confluent_test:
name: Confluent Test
runs-on: ubuntu-latest
needs: [define-matrix, test]
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: packages-${{ matrix.rake-job }}
path: fluent-package/apt/repositories
- name: Confluent Test
run: |
mkdir -p .bundle
docker run \
--rm \
--tty \
--env CI=true \
--volume ${PWD}:/fluentd:ro \
${{ matrix.test-docker-image }} \
/fluentd/fluent-package/apt/confluent-test.sh
s3_test:
name: S3 Test (${{ matrix.label }} s3.sh
needs: [define-matrix, test]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: packages-${{ matrix.rake-job }}
- name: Setup Incus
run: ./fluent-package/test-tools/setup-incus.sh
- name: Setup localstack on host
run: |
docker run -d --name localstack -p 4566:4566 \
-e AWS_ACCESS_KEY_ID=localstack-test -e AWS_SECRET_ACCESS_KEY=localstack-test -e AWS_DEFAULT_REGION=ap-northeast-1 localstack/localstack:4.13.1
- name: Copy s3.conf
run: cp fluent-package/test-tools/s3.conf fluent-package/apt/systemd-test
- name: Ensure localstack availability from host
run: sleep 10 && curl http://127.0.0.1:4566/_localstack/health
- name: Run Test ${{matrix.test}} on ${{ matrix.test-incus-image }}
run: fluent-package/apt/systemd-test/test.sh ${{ matrix.test-incus-image }} s3.sh
elasticsearch_test:
name: Elasticsearch Test ${{ matrix.label }}
needs: [define-matrix, test]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: packages-${{ matrix.rake-job }}
- name: Setup Incus
run: ./fluent-package/test-tools/setup-incus.sh
- name: Setup Elasticsearch on host
run: |
docker run -d -p 9200:9200 -e "discovery.type=single-node" -e "xpack.security.enabled=false" docker.elastic.co/elasticsearch/elasticsearch:8.19.11
- name: Copy elasticsearch.conf
run: cp fluent-package/test-tools/elasticsearch.conf fluent-package/apt/systemd-test
- name: Ensure elasticsearch availability from host
run: |
until curl --silent "http://localhost:9200/_cluster/health" | jq --raw-output ".status // empty" | grep -E "yellow|green"; do
sleep 5
done
curl --silent "http://localhost:9200/_cat/indices?v"
- name: Run Test elasticsearch.sh on ${{ matrix.test-incus-image }}
run: fluent-package/apt/systemd-test/test.sh ${{ matrix.test-incus-image }} elasticsearch.sh
opensearch_test:
name: Opensearch Test ${{ matrix.label }}
needs: [define-matrix, test]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: packages-${{ matrix.rake-job }}
- name: Setup Incus
run: ./fluent-package/test-tools/setup-incus.sh
- name: Setup Opensearch on host
run: |
docker run -d -p 9200:9200 -p 9600:9600 \
-e "discovery.type=single-node" -e OPENSEARCH_INITIAL_ADMIN_PASSWORD=Passvv0rd@ opensearchproject/opensearch:2
- name: Copy opensearch.conf
run: cp fluent-package/test-tools/opensearch.conf fluent-package/apt/systemd-test
- name: Ensure Opensearch availability from host
run: |
until curl --silent --insecure --user "admin:Passvv0rd@" \
"https://localhost:9200/_cluster/health" | jq --raw-output ".status // empty" | grep -E "yellow|green"; do
sleep 5
done
curl --silent --insecure --user "admin:Passvv0rd@" "https://localhost:9200/_cat/indices?v"
- name: Run Test opensearch.sh on ${{ matrix.test-incus-image }}
run: fluent-package/apt/systemd-test/test.sh ${{ matrix.test-incus-image }} opensearch.sh