Finished basic multivaluemap implementation. #117
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Main testing workflow for Handy-Httpd. | |
# All testing is done in a single workflow (and job) to reduce load on the | |
# runners, since we only need to checkout and setup DLang once. | |
name: Testing | |
on: | |
push: | |
branches: ["*"] | |
paths: | |
- source/** | |
- examples/** | |
- integration-tests/** | |
- .github/workflows/testing.yml | |
pull_request: | |
branches: ["main"] | |
permissions: | |
contents: read | |
jobs: | |
unit-tests: | |
name: Unit Tests | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
compiler: [dmd-latest, ldc-1.31.0, ldc-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Setup DLang | |
uses: dlang-community/setup-dlang@v1 | |
with: | |
compiler: ${{ matrix.compiler }} | |
- name: Build handy-httpd | |
run: dub -q build | |
- name: Run Unit Tests | |
run: dub -q test | |
integration-tests: | |
name: Integration Tests | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
compiler: [dmd-latest, ldc-1.31.0, ldc-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Setup DLang | |
uses: dlang-community/setup-dlang@v1 | |
with: | |
compiler: ${{ matrix.compiler }} | |
- name: Setup Java | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version: "17" | |
- name: Speed Test | |
working-directory: integration-tests/speed-test | |
run: dub -q run | |
- name: File Test | |
working-directory: integration-tests/file-test | |
run: java Tests.java | |
- name: Multipart Test | |
working-directory: integration-tests/multipart | |
run: dub run --single server.d | |
examples: | |
name: Examples | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
compiler: [dmd-latest, ldc-1.31.0, ldc-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Setup DLang | |
uses: dlang-community/setup-dlang@v1 | |
with: | |
compiler: ${{ matrix.compiler }} | |
- name: "Example: file-upload" | |
working-directory: examples/file-upload | |
run: dub -q build --single server.d | |
- name: "Example: handler-testing" | |
working-directory: examples/handler-testing | |
run: dub test --single handler.d | |
- name: "Example: multiple-handlers" | |
working-directory: examples/multiple-handlers | |
run: dub -q build | |
- name: "Example: single-file-server" | |
working-directory: examples/single-file-server | |
run: dub -q build --single hello.d | |
- name: "Example: static-content-server" | |
working-directory: examples/static-content-server | |
run: dub -q build --single content_server.d |