diff --git a/.github/workflows/code_changes.yaml b/.github/workflows/code_changes.yaml index d9845f2de..9888140b8 100644 --- a/.github/workflows/code_changes.yaml +++ b/.github/workflows/code_changes.yaml @@ -22,6 +22,9 @@ jobs: args: ". -l 79 --check" Test: runs-on: ubuntu-latest + permissions: + contents: "read" + id-token: "write" steps: - name: Checkout repo uses: actions/checkout@v2 @@ -32,6 +35,10 @@ jobs: uses: actions/setup-python@v2 with: python-version: '3.12' + - uses: "google-github-actions/auth@v2" + with: + workload_identity_provider: "projects/322898545428/locations/global/workloadIdentityPools/policyengine-research-id-pool/providers/prod-github-provider" + service_account: "policyengine-research@policyengine-research.iam.gserviceaccount.com" - name: Install package run: uv pip install -e .[dev] --system diff --git a/.github/workflows/pr_code_changes.yaml b/.github/workflows/pr_code_changes.yaml index 18db3e2ea..20b28dde7 100644 --- a/.github/workflows/pr_code_changes.yaml +++ b/.github/workflows/pr_code_changes.yaml @@ -25,6 +25,9 @@ jobs: matrix: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} + permissions: + contents: "read" + id-token: "write" steps: - name: Checkout repo uses: actions/checkout@v2 @@ -35,6 +38,10 @@ jobs: uses: actions/setup-python@v2 with: python-version: '3.12' + - uses: "google-github-actions/auth@v2" + with: + workload_identity_provider: "projects/322898545428/locations/global/workloadIdentityPools/policyengine-research-id-pool/providers/prod-github-provider" + service_account: "policyengine-research@policyengine-research.iam.gserviceaccount.com" - name: Install package run: uv pip install -e .[dev] --system diff --git a/changelog_entry.yaml b/changelog_entry.yaml index e69de29bb..b0362b694 100644 --- a/changelog_entry.yaml +++ b/changelog_entry.yaml @@ -0,0 +1,4 @@ +- bump: patch + changes: + fixed: + - Bug in employer NI incidence parameters. diff --git a/policyengine_uk/variables/contrib/policyengine/employer_ni/employer_ni_fixed_employer_cost_change.py b/policyengine_uk/variables/contrib/policyengine/employer_ni/employer_ni_fixed_employer_cost_change.py index 8978d6eeb..bc10a0236 100644 --- a/policyengine_uk/variables/contrib/policyengine/employer_ni/employer_ni_fixed_employer_cost_change.py +++ b/policyengine_uk/variables/contrib/policyengine/employer_ni/employer_ni_fixed_employer_cost_change.py @@ -134,10 +134,9 @@ class employer_ni_response_consumer_incidence(Variable): unit = GBP def formula(person, period, parameters): - consumer_incidence = parameters( - period - ).gov.contrib.policyengine.employer_ni.consumer_incidence - if consumer_incidence == 0: + emp_ni = parameters(period).gov.contrib.policyengine.employer_ni + if emp_ni.consumer_incidence == 0 or emp_ni.employee_incidence == 1: + # If consumer incidence is zero, or if the employee incidence is 100%, then there is no capital incidence.: return 0 if not hasattr(person.simulation, "dataset"): @@ -179,10 +178,9 @@ class employer_ni_response_capital_incidence(Variable): unit = GBP def formula(person, period, parameters): - capital_incidence = parameters( - period - ).gov.contrib.policyengine.employer_ni.capital_incidence - if capital_incidence == 0: + emp_ni = parameters(period).gov.contrib.policyengine.employer_ni + if emp_ni.capital_incidence == 0 or emp_ni.employee_incidence == 1: + # If capital incidence is zero, or if the employee incidence is 100%, then there is no capital incidence.: return 0 if not hasattr(person.simulation, "dataset"):