diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4b85ba33ad..48c0cabf72 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,6 +29,45 @@ jobs: source .venv/bin/activate make lint + test-app: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build image + run: | + DOCKER_BUILD_VERBOSE=true ./securedrop/bin/dev-shell true + - name: Run application tests + run: | + make test-app + + test-functional: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build image + run: | + DOCKER_BUILD_VERBOSE=true ./securedrop/bin/dev-shell true + - name: Run functional tests + run: | + make test-functional + + test-pageslayout: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build image + run: | + DOCKER_BUILD_VERBOSE=true ./securedrop/bin/dev-shell true + - name: Run page layout tests + run: | + make test-pageslayout + - name: Validate HTML (informational) + run: | + make validate-test-html || true + - name: Validate accessibility (informational) + run: | + make accessibility-summary || true + rust: runs-on: ubuntu-latest # Keep version in sync with rust-toolchain.toml diff --git a/Makefile b/Makefile index 65aa9a4b42..2122e96053 100644 --- a/Makefile +++ b/Makefile @@ -316,12 +316,19 @@ otp: ## Show (and opportunistically copy) the current development OTP (to the cl .PHONY: test test: ## Run the test suite in a Docker container. - @echo "███ Running SecureDrop application tests..." + @echo "███ Running all SecureDrop tests..." @$(DEVSHELL) $(SDBIN)/run-test -v $${TESTFILES:-tests} @echo -.PHONY: test-focal -test-focal: test +.PHONY: test-app +test-app: ## Run the application tests + @echo "███ Running SecureDrop application tests..." + TESTFILES="$(shell cd securedrop; echo tests/test*py tests/functional/test*py)" $(MAKE) test + +.PHONY: test-pageslayout +test-pageslayout: ## Run the page layout tests + @echo "███ Running page layout tests..." + TESTFILES="$(shell cd securedrop; echo tests/functional/pageslayout/test*py)" $(MAKE) test .PHONY: rust-test rust-test: