Skip to content

Fix stream publish checks to include filestore max message size #7207

Fix stream publish checks to include filestore max message size

Fix stream publish checks to include filestore max message size #7207

Workflow file for this run

name: NATS Server Tests
on:
push:
pull_request:
workflow_dispatch:
permissions:
contents: read
env:
RACE: ${{ (github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/heads/release/') && github.event_name != 'pull_request') && '-race' || '' }}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/heads/release/') }}
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
- name: Run golangci-lint
# Use commit hash here to avoid a re-tagging attack, as this is a third-party action
# Commit 82606bf257cbaff209d206a39f5134f0cfbfd2ee = tag v9.2.1
uses: golangci/golangci-lint-action@82606bf257cbaff209d206a39f5134f0cfbfd2ee
with:
version: v2.9.0
skip-cache: true
skip-save-cache: true
args: --timeout=5m --config=.golangci.yml
build-latest:
name: Build (Latest Go)
needs: [lint]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Build NATS Server 64-bit
run: GOARCH=amd64 GOOS=linux go build
- name: Build NATS Server 32-bit
run: GOARCH=386 GOOS=linux go build
build-supported:
name: Build (Minimum Go)
needs: [lint]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
- name: Build NATS Server 64-bit
run: GOARCH=amd64 GOOS=linux go build
- name: Build NATS Server 32-bit
run: GOARCH=386 GOOS=linux go build
# Using GitHub-supplied workers for Windows for now.
# Note that the below testing steps depend on the Linux build
# only, as the Windows builds take a fair bit longer to set up.
build-windows:
name: Build (Minimum Go, ${{ matrix.os }})
needs: [lint]
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version-file: "go.mod"
- name: Build NATS Server
run: go build
store:
name: Test Stores
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_MEDIUM || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh store_tests
js-no-cluster:
name: Test JetStream
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh js_tests
raft:
name: Test Raft
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh raft_tests
js-consumers:
name: Test JetStream Consumers
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh js_consumer_tests
js-cluster-1:
name: Test JetStream Cluster 1
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh js_cluster_tests_1
js-cluster-2:
name: Test JetStream Cluster 2
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh js_cluster_tests_2
js-cluster-3:
name: Test JetStream Cluster 3
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh js_cluster_tests_3
js-cluster-4:
name: Test JetStream Cluster 4
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh js_cluster_tests_4
js-supercluster:
name: Test JetStream Supercluster
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh js_super_cluster_tests
no-race-1:
name: Test No-Race 1
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh no_race_1_tests
no-race-2:
name: Test No-Race 2
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh no_race_2_tests
mqtt:
name: Test MQTT
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_MEDIUM || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh mqtt_tests
msgtrace:
name: Test Message Tracing
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_MEDIUM || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh msgtrace_tests
jwt:
name: Test JWT
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh jwt_tests
server-pkg-non-js:
name: Test Remaining Server Tests
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_LARGE || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh srv_pkg_non_js_tests
non-server-pkg:
name: Test Other Packages
needs: [build-latest, build-supported, lint]
runs-on: ${{ vars.GHA_WORKER_MEDIUM || 'ubuntu-latest' }}
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: stable
- name: Run unit tests
run: ./scripts/runTestsOnTravis.sh non_srv_pkg_tests