89 lines
2.9 KiB
YAML
89 lines
2.9 KiB
YAML
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'
|
|
|
|
--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
|
|
|
|
--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
|
|
|
|
--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
|
|
|
|
--stacktrace
|