name: fileserver-nightly # The environments that cannot run on every pull request: a real network filesystem, a foreign # filesystem, and the long-running fault matrices. They are nightly rather than skipped because a # green pull-request run is not certification of any of them. on: workflow_dispatch: schedule: - cron: '0 18 * * *' permissions: contents: read concurrency: group: ${{ github.workflow }} cancel-in-progress: false jobs: fileserver-nfs-ambiguity: runs-on: ubuntu-latest timeout-minutes: 45 env: FILESERVER_NFS_TESTS: "true" steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # actions/checkout@v4.2.2 - uses: ./.github/actions/setup-gradle-java - name: Start the NFSv4 certification environment run: docker compose -f infra/fileserver/nfs/compose.yml up -d --wait - name: Run the network-filesystem ambiguity suite working-directory: src run: >- ./gradlew :adapter:outbound:fileserver:test --tests '*NfsAmbiguityIntegrationTest' --no-daemon --stacktrace - name: Tear down the NFS environment if: always() run: docker compose -f infra/fileserver/nfs/compose.yml down -v fileserver-process-kill-matrix: runs-on: ubuntu-latest timeout-minutes: 45 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # actions/checkout@v4.2.2 - uses: ./.github/actions/setup-gradle-java - name: Run the crash matrix and reconciliation suites working-directory: src run: >- ./gradlew :adapter:outbound:fileserver:test --tests '*CrashRecoveryMatrixTest' :application-core:test --tests '*FileReconciliationServiceTest' --rerun-tasks --no-daemon --stacktrace fileserver-large-file-performance: runs-on: ubuntu-latest timeout-minutes: 60 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # actions/checkout@v4.2.2 - uses: ./.github/actions/setup-gradle-java - name: Run the large-file and slow-client suites under a constrained heap working-directory: src env: GRADLE_OPTS: -Xmx512m run: >- ./gradlew :adapter:outbound:fileserver:test --tests '*LargeFileBoundedMemoryTest' :adapter:outbound:fileserver:test --tests '*LocalAppendMemoryTest' --rerun-tasks --no-daemon --stacktrace fileserver-multi-instance-lease: runs-on: ubuntu-latest timeout-minutes: 30 steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # actions/checkout@v4.2.2 - uses: ./.github/actions/setup-gradle-java - name: Prove no run commits bytes from a stale lease working-directory: src run: >- ./gradlew :application-core:test --tests '*MultiInstanceWriterLeaseTest' --rerun-tasks --no-daemon --stacktrace