Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/commitizen-requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Hash-locked Linux/Python 3.12 environment for the contents-write bump job.
# Regenerate deliberately; every transitive package is exact and immutable.
argcomplete==3.6.3 --hash=sha256:f5007b3a600ccac5d25bbce33089211dfd49eab4a7718da3f10e3082525a92ce
charset-normalizer==3.4.9 --hash=sha256:5e226f6218febc71f6c1fc2fafb91c226f75bdc1d8fb12d66823716e891608fd
colorama==0.4.6 --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
commitizen==4.16.4 --hash=sha256:054e957491e3c897226a631e5bbeca5f5db772ce23412a5d588a4d7b9bb0bbc2
decli==0.6.3 --hash=sha256:5152347c7bb8e3114ad65db719e5709b28d7f7f45bdb709f70167925e55640f3
Deprecated==1.3.1 --hash=sha256:597bfef186b6f60181535a29fbe44865ce137a5079f295b479886c82729d5f3f
Jinja2==3.1.6 --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
MarkupSafe==3.0.3 --hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d
packaging==26.2 --hash=sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e
prompt-toolkit==3.0.51 --hash=sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07
PyYAML==6.0.3 --hash=sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc
questionary==2.1.1 --hash=sha256:a51af13f345f1cdea62347589fbb6df3b290306ab8930713bfae4d475a7d4a59
termcolor==3.3.0 --hash=sha256:cf642efadaf0a8ebbbf4bc7a31cec2f9b5f21a9f726f4ccbb08192c9c26f43a5
tomlkit==0.15.0 --hash=sha256:4dbc8f0fc024412b57ced8757ac7461305126a648ff8c2c807fcb8e133a78738
wcwidth==0.8.2 --hash=sha256:d63947694a0539a1d51e01eda7caf800c291020e6cdd7e28ad7b14dd33ad4f85
wrapt==2.2.2 --hash=sha256:2e096c9d39a59b35b63c9aacfbbbec2088ff51ff1fc31051acc60a07f42f273a
48 changes: 20 additions & 28 deletions .github/workflows/behave_pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ jobs:
name: Setup Environment
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

- name: Install Poetry
run: pipx install poetry==1.8.4

- uses: actions/setup-python@v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: 3.12

Expand All @@ -31,7 +31,7 @@ jobs:

- name: Get All Council Files That Have Changed
id: changed-council-files
uses: tj-actions/changed-files@v47
uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47
with:
files: |
uk_bin_collection/uk_bin_collection/councils/**.py
Expand All @@ -58,12 +58,12 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.12]
python-version: [3.12, 3.13, 3.14]
poetry-version: [1.8.4]
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

- uses: actions/setup-python@v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -77,7 +77,7 @@ jobs:
run: make unit-tests

- name: Upload Test Results to Codecov
uses: codecov/codecov-action@v7
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7
with:
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -92,9 +92,9 @@ jobs:
python-version: [3.12]
poetry-version: [1.8.4]
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

- uses: actions/setup-python@v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -111,23 +111,19 @@ jobs:
run: make parity-check repo="$repo" branch="$branch"

integration-tests:
# Preserve the established required-check identity while replacing the
# nondeterministic live scrape with a blocking fixture contract suite.
name: Run Integration Tests
needs: setup
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.12]
poetry-version: [1.8.4]
services:
selenium:
image: selenium/standalone-chrome:latest
options: --shm-size=2gb --name selenium --hostname selenium
ports:
- 4444:4444
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

- uses: actions/setup-python@v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -137,19 +133,15 @@ jobs:
- name: Install Dependencies
run: make install-dev

- name: Run Integration Tests
env:
HEADLESS: True
COUNCIL_TESTS: ${{ needs.setup.outputs.council_tests }}
run: make matrix=${{ matrix.python-version }} councils="${{ env.COUNCIL_TESTS }}" integration-tests
continue-on-error: true
- name: Run Deterministic Parser Contract Tests
run: make matrix=${{ matrix.python-version }} parser-contract-tests

- name: Upload Integration Test Results to Codecov
uses: codecov/codecov-action@v7
- name: Upload Parser Contract Test Results to Codecov
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7
with:
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
report_type: test_results
file: build/${{ matrix.python-version }}/integration-test-results/junit.xml
flags: integrationtestspr
name: integration-tests-pr
file: build/${{ matrix.python-version }}/parser-contract-test-results/junit.xml
flags: parsercontractspr
name: parser-contract-tests-pr
28 changes: 14 additions & 14 deletions .github/workflows/behave_schedule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ jobs:
name: Setup Environment
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

- name: Install Poetry
run: pipx install poetry==1.8.4

- uses: actions/setup-python@v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: 3.12

Expand All @@ -40,12 +40,12 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.12]
python-version: [3.12, 3.13, 3.14]
poetry-version: [1.8.4]
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

- uses: actions/setup-python@v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -59,7 +59,7 @@ jobs:
run: make unit-tests

- name: Upload Test Results to Codecov
uses: codecov/codecov-action@v7
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7
with:
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -74,9 +74,9 @@ jobs:
python-version: [3.12]
poetry-version: [1.8.4]
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

- uses: actions/setup-python@v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -102,14 +102,14 @@ jobs:
poetry-version: [1.8.4]
services:
selenium:
image: selenium/standalone-chrome:latest
image: selenium/standalone-chrome:4.45.0-20260606@sha256:90fbfd0cec921daba37e87f92e0edbd2c1b6e03b14d3972dba6338dec3884b70
options: --shm-size=2gb --name selenium --hostname selenium
ports:
- 4444:4444
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7

- uses: actions/setup-python@v6
- uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -124,14 +124,14 @@ jobs:
HEADLESS: True
COUNCIL_TESTS: ${{ needs.setup.outputs.council_tests }}
run: make matrix=${{ matrix.python-version }} councils="${{ env.COUNCIL_TESTS }}" integration-tests
continue-on-error: true

- name: Upload Integration Test Results to Codecov
uses: codecov/codecov-action@v7
if: always()
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7
with:
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
report_type: test_results
file: build/${{ matrix.python-version }}/integration-test-results/junit.xml
flags: integrationtestsfullnightly
name: integration-tests-full-nightly
name: integration-tests-full-nightly
Loading
Loading