Skip to content

Added comment

Added comment #121

Workflow file for this run

# 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