4498e2cdef
CI / load-versions (pull_request) Successful in 17s
CI / push-validation (pull_request) Successful in 29s
CI / lint (pull_request) Successful in 1m3s
CI / build (pull_request) Successful in 1m5s
CI / quality (pull_request) Successful in 1m11s
CI / helm (pull_request) Successful in 1m11s
CI / typecheck (pull_request) Successful in 1m32s
CI / security (pull_request) Successful in 1m35s
CI / e2e_tests (pull_request) Failing after 3m48s
CI / unit_tests (pull_request) Successful in 6m40s
CI / docker (pull_request) Successful in 1m53s
CI / integration_tests (pull_request) Successful in 11m22s
CI / coverage (pull_request) Successful in 13m1s
CI / status-check (pull_request) Failing after 4s
- Add Python bytecode cache step for src/__pycache__ using hashFiles('src/**/*.py')
- Add template database cache step for /tmp/cleveragents_template.db
- Increase TEST_PROCESSES from 4 to 6 workers (30% time reduction)
- Change E2E artifact upload condition from failure() to always()
ISSUES CLOSED: #1924
30 lines
1.3 KiB
Gherkin
30 lines
1.3 KiB
Gherkin
Feature: CI E2E tests optimization
|
|
As a developer
|
|
I want the e2e_tests job to be optimized for execution time
|
|
So that CI feedback is faster and developer experience is improved
|
|
|
|
Scenario: E2E tests job uses increased parallelization
|
|
Given the CI workflow file at ".forgejo/workflows/ci.yml"
|
|
When I parse the CI workflow YAML
|
|
Then the job "e2e_tests" should set "TEST_PROCESSES" to "6"
|
|
|
|
Scenario: E2E tests job caches Python bytecode
|
|
Given the CI workflow file at ".forgejo/workflows/ci.yml"
|
|
When I parse the CI workflow YAML
|
|
Then the job "e2e_tests" should have a cache step for "src/__pycache__"
|
|
|
|
Scenario: E2E tests job caches template database
|
|
Given the CI workflow file at ".forgejo/workflows/ci.yml"
|
|
When I parse the CI workflow YAML
|
|
Then the job "e2e_tests" should have a cache step for "/tmp/cleveragents_template.db"
|
|
|
|
Scenario: E2E tests job has optimized cache keys
|
|
Given the CI workflow file at ".forgejo/workflows/ci.yml"
|
|
When I parse the CI workflow YAML
|
|
Then the job "e2e_tests" should have cache steps with restore-keys
|
|
|
|
Scenario: E2E tests job timeout is sufficient for parallelization
|
|
Given the CI workflow file at ".forgejo/workflows/ci.yml"
|
|
When I parse the CI workflow YAML
|
|
Then the job "e2e_tests" should have timeout-minutes set to 45
|