Skip to content

AFIDs Validator Deploy #12

AFIDs Validator Deploy

AFIDs Validator Deploy #12

Workflow file for this run

name: AFIDs Validator Deploy
on:
workflow_dispatch:
inputs:
comments:
description: "Comments"
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Print author
run: |
echo "Author: ${{ github.event.inputs.author }}"
echo "Date: ${{ github.event.inputs.date }}"
echo "Comments: ${{ github.event.inputs.comments }}"
- name: Checkout reference branch
uses: actions/checkout@v4
- name: Install poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
- name: Install project
run: |
poetry install
- name: Build package with poetry
run: |
poetry build
- name: Write .env file
env:
DATABASE_URL: ${{ secrets.PRODUCTION_DATABASE_URL }}
FLASK_ENV: ${{ secrets.PRODUCTION_FLASK_ENV }}
ORCID_OAUTH_CLIENT_ID: ${{ secrets.PRODUCTION_ORCID_OAUTH_CLIENT_ID }}
ORCID_OAUTH_CLIENT_SECRET: ${{ secrets.PRODUCTION_ORCID_OAUTH_CLIENT_SECRET }}
SECRET_KEY: ${{ secrets.PRODUCTION_SECRET_KEY }}
run: |
echo DATABASE_URL="$DATABASE_URL" >> .env
echo FLASK_ENV="$FLASK_ENV" >> .env
echo ORCID_OAUTH_CLIENT_ID="$ORCID_OAUTH_CLIENT_ID" >> .env
echo ORCID_OAUTH_CLIENT_SECRET="$ORCID_OAUTH_CLIENT_SECRET" >> .env
echo SECRET_KEY="$SECRET_KEY" >> .env
- name: Build release
run: |
DATE=`date +%s`
mkdir -p releases/afidsvalidator-"$DATE"
cp .env releases/afidsvalidator-"$DATE"
WHEEL=`ls dist | grep whl`
cp dist/"$WHEEL" releases/afidsvalidator-"$DATE"
echo WHEEL="$WHEEL" >> $GITHUB_ENV
echo DATE="$DATE" >> $GITHUB_ENV
- name: Deploy release
env:
PRODUCTION_URL: ${{ secrets.PRODUCTION_URL }}
PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
run: |
echo "$PRIVATE_KEY" > .private_key
poetry run python3 fabrictasks.py "$PRODUCTION_URL" releases/afidsvalidator-"$DATE" /opt/afidsvalidator/releases "$WHEEL" /opt/afidsvalidator/venv-afidsvalidator .private_key