Fix tests and update country packages (#2581) #2093
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Push | |
on: | |
push: | |
branches: | |
- master | |
env: | |
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true | |
concurrency: | |
group: deploy | |
jobs: | |
Lint: | |
runs-on: ubuntu-latest | |
if: | | |
(github.repository == 'PolicyEngine/policyengine-uk') | |
&& (github.event.head_commit.message == 'Update PolicyEngine API') | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Check formatting | |
uses: "lgeiger/black-action@master" | |
with: | |
args: ". -l 79 --check" | |
ensure-model-version-aligns-with-sim-api: | |
name: Ensure model version aligns with simulation API | |
runs-on: ubuntu-latest | |
if: | | |
(github.repository == 'PolicyEngine/policyengine-api') | |
&& (github.event.head_commit.message == 'Update PolicyEngine API') | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: GCP authentication | |
uses: "google-github-actions/auth@v2" | |
with: | |
credentials_json: "${{ secrets.GCP_SA_KEY }}" | |
- name: Install dependencies (required for finding API model versions) | |
run: make install | |
- name: Install jq (required only for GitHub Actions) | |
run: sudo apt-get install -y jq | |
- name: Find API model versions and write to environment variable | |
run: python3 .github/find-api-model-versions.py | |
- name: Ensure full API and simulation API model versions are in sync | |
run: ".github/request-simulation-model-versions.sh -b prod-api-v2-c4d5-metadata -us ${{ env.US_VERSION }} -uk ${{ env.UK_VERSION }}" | |
versioning: | |
name: Update versioning | |
if: | | |
(github.repository == 'PolicyEngine/policyengine-api') | |
&& !(github.event.head_commit.message == 'Update PolicyEngine API') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ github.event.pull_request.head.repo.full_name }} | |
ref: ${{ github.event.pull_request.head.ref }} | |
token: ${{ secrets.POLICYENGINE_GITHUB }} | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Build changelog | |
run: pip install yaml-changelog && make changelog | |
- name: Preview changelog update | |
run: ".github/get-changelog-diff.sh" | |
- name: Update changelog | |
uses: EndBug/add-and-commit@v9 | |
with: | |
add: "." | |
committer_name: Github Actions[bot] | |
author_name: Github Actions[bot] | |
message: Update PolicyEngine API | |
deploy: | |
name: Deploy API | |
runs-on: ubuntu-latest | |
if: | | |
(github.repository == 'PolicyEngine/policyengine-api') | |
&& (github.event.head_commit.message == 'Update PolicyEngine API') | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: GCP authentication | |
uses: "google-github-actions/auth@v2" | |
with: | |
credentials_json: "${{ secrets.GCP_SA_KEY }}" | |
- name: Set up GCloud | |
uses: "google-github-actions/setup-gcloud@v2" | |
- name: Deploy | |
run: make deploy | |
env: | |
POLICYENGINE_DB_PASSWORD: ${{ secrets.POLICYENGINE_DB_PASSWORD }} | |
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GCP_SA_KEY }} | |
POLICYENGINE_GITHUB_MICRODATA_AUTH_TOKEN: ${{ secrets.POLICYENGINE_GITHUB_MICRODATA_AUTH_TOKEN }} | |
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} | |
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
HUGGING_FACE_TOKEN: ${{ secrets.HUGGING_FACE_TOKEN }} | |
docker: | |
name: Docker | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- name: Log in to the Container registry | |
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.POLICYENGINE_DOCKER }} | |
- name: Build container | |
run: docker build -t ghcr.io/policyengine/policyengine docker | |
- name: Push container | |
run: docker push ghcr.io/policyengine/policyengine |