Reuse app domain for domain identity (#834) #389
This file contains 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: Template Deploy | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
# Only allow one workflow at a time to prevent race conditions when pushing changes to the project repo | |
concurrency: platform-template-only-cd | |
jobs: | |
deploy: | |
name: Deploy to ${{ matrix.project_repo }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: true | |
matrix: | |
project_repo: | |
- navapbc/platform-test | |
- navapbc/platform-test-flask | |
- navapbc/platform-test-nextjs | |
- navapbc/pfml-starter-kit-app | |
steps: | |
- name: Checkout template-infra repo | |
uses: actions/checkout@v4 | |
with: | |
path: template-infra | |
# Fetch history because the Platform CLI needs it to do the update | |
fetch-depth: 0 | |
- name: Checkout project repo | |
uses: actions/checkout@v4 | |
with: | |
path: project-repo | |
repository: ${{ matrix.project_repo }} | |
token: ${{ secrets.PLATFORM_BOT_GITHUB_TOKEN }} | |
# Set up Python since built in Python version (3.10.12) is not supported by Platform CLI (<4.0,>=3.11) | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.13' | |
- name: Install nava-platform CLI | |
run: pipx install --python "$(which python)" git+https://github.com/navapbc/platform-cli | |
- name: Configure git | |
working-directory: project-repo | |
run: | | |
git config user.name nava-platform-bot | |
git config user.email [email protected] | |
- name: Update infra template | |
working-directory: project-repo | |
run: nava-platform infra update --template-uri ../template-infra --version HEAD . | |
- name: Install example app | |
if: "${{ matrix.project_repo == 'navapbc/platform-test' }}" | |
run: | | |
# replace existing app with updated example app code | |
rm -rf ./project-repo/app | |
mv -vf ./template-infra/template-only-app ./project-repo/app | |
# and commit if there are changes | |
cd project-repo | |
if [[ $(git status app --porcelain | wc -l) -ne 0 ]]; then | |
git add app | |
git commit --message "Update app/ from example" | |
fi | |
- name: Push changes to project repo | |
working-directory: project-repo | |
run: git push |