Skip to content

Play Deploy

Play Deploy #99

Workflow file for this run

name: Play Deploy
on: workflow_dispatch
jobs:
deploy:
runs-on: ubuntu-latest
environment: prod
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12.1
cache: pipenv
- name: Install pipenv
run: |
python -m pip install --upgrade pip
pip install pipenv
pipenv install --dev
- name: Create .ansible_ssh_key
uses: "DamianReeves/write-file-action@master"
with:
path: .ansible_ssh_key
contents: ${{secrets.SSH_PRIVATE_KEY}}
- name: .ansible_ssh_key EOF and chmod
run: |
printf "\n" >> .ansible_ssh_key
chmod 600 .ansible_ssh_key
- name: Create oidc.key
uses: "DamianReeves/write-file-action@master"
with:
path: certs/oidc.key
contents: ${{secrets.OIDC_KEY}}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Run Deploy
env:
SECRET_KEY: ${{ secrets.SECRET_KEY }}
DOCKER_APP_IMAGE_TAG: ${{ github.sha }}
DOCKER_STATICS_IMAGE_TAG: ${{ github.sha }}
DOCKER_REGISTRY_USERNAME: ${{vars.DOCKER_REGISTRY_USERNAME}}
DOCKER_REGISTRY_PASSWORD: ${{secrets.DOCKER_REGISTRY_PASSWORD}}
LOCAL_CERTS_DIR: ${{github.workspace}}/certs
ROLL_SERVERS_DOMAIN: ${{vars.ROLL_SERVERS_DOMAIN}}
ROLL_SUBDOMAIN_BASE: ${{vars.ROLL_SUBDOMAIN_BASE}}
ANSIBLE_HOST_KEY_CHECKING: 0
CONFIG_DIR: /roll/config
SCRIPTS_DIR: /roll/scripts
TWILIO_ARGS: ${{vars.TWILIO_API_KEY}} ${{secrets.TWILIO_API_SECRET}} ${{vars.TWILIO_ACCOUNT_SID}} ${{vars.TWILIO_MESSAGING_SERVICE_SID}}
NEWRELIC_LICENSE_KEY: ${{secrets.NEWRELIC_LICENSE_KEY}}
SOCIAL_AUTH_ROLL_KEY: ${{vars.SOCIAL_AUTH_ROLL_KEY}}
SOCIAL_AUTH_ROLL_SECRET: ${{secrets.SOCIAL_AUTH_ROLL_SECRET}}
run: pipenv run deploy --key-file .ansible_ssh_key