From 4a4f40783fe9a8e5ab8d0527d9362187e51e754c Mon Sep 17 00:00:00 2001 From: Emmanuel Raviart Date: Mon, 21 Oct 2024 13:23:49 +0200 Subject: [PATCH] Add deployment to legislation parameters viewer (WIP) --- .github/workflows/tax-benefit.yml | 89 ++++++++++++++++++++++++++++++- 1 file changed, 88 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tax-benefit.yml b/.github/workflows/tax-benefit.yml index ab3e71e..3783040 100644 --- a/.github/workflows/tax-benefit.yml +++ b/.github/workflows/tax-benefit.yml @@ -11,7 +11,94 @@ jobs: parameters_path: "openfisca_tunisia/parameters" secrets: token: ${{ secrets.CONTROL_CENTER_TOKEN }} - deploy: + + deploy_parameters: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Clone Legislation Parameters Explorer + run: git clone https://git.leximpact.dev/leximpact/legislation-parameters-explorer.git + - name: Install Node.js version LTS + uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + - name: Install viewer dependencies + run: npm install + working-directory: legislation-parameters-explorer/packages/viewer + - name: Configure viewer + run: | + rm -f .env + cat > .env << EOF + # Customizations to apply to the site (theme, URLs…) + CUSTOMIZATION="openfisca" + + DBNOMICS_DATASET_CODE="openfisca_tunisia" + DBNOMICS_PROVIDER_CODE="OpenFisca" + DBNOMICS_URL="https://db.nomics.world/" + + EDITOR_URL="https://editors.parameters.tn.tax-benefit.org/" + + EXPORT_CSV=true + EXPORT_JSON=false + EXPORT_XLSX=true + + # Path of directory containing legislation parameters of country + PARAMETERS_DIR="../../../openfisca_tunisia/parameters/" + + # Description of parameters remote repository + PARAMETERS_AUTHOR_EMAIL="editors.parameters.tn@tax-benefit.org" + PARAMETERS_AUTHOR_NAME="Éditeur des paramètres d'OpenFisca-Tunisia" + PARAMETERS_BRANCH="master" + PARAMETERS_FORGE="gitlab.com" + PARAMETERS_GROUP="openfisca" + PARAMETERS_PROJECT="openfisca-tunisia" + PARAMETERS_PROJECT_DIR="openfisca_tunisia/parameters" + + SHOW_LAST_BREADCRUMB_ITEM = false + + # TABLE_OF_CONTENTS_DIR="../../../openfisca_tunisia/tables/" + + TITLE="OpenFisca" + + # Path of file containing units used by French legislation parameters + UNITS_FILE_PATH="../../../openfisca_tunisia/units.yaml" + EOF + working-directory: legislation-parameters-explorer/packages/viewer + - name: Initialize .svelte-kit directory of viewer + run: npx svelte-kit sync + working-directory: legislation-parameters-explorer/packages/viewer + - name: Generate data of viewer + run: npx tsx src/scripts/generate_data.ts + working-directory: legislation-parameters-explorer/packages/viewer + - name: Build viewer + run: npm run build + working-directory: legislation-parameters-explorer/packages/viewer + - name: Configure ssh for deployment to server + env: + SSH_PRIVATE_KEY: ${{ secrets.PARAMETERS_EXPLORER_SSH_PRIVATE_KEY }} + run: | + eval $(ssh-agent -s) + echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - + mkdir -p ~/.ssh + chmod 700 ~/.ssh + cat >> ~/.ssh/known_hosts << EOF + # Result of ssh-keyscan -p 2222 parameters.tn.tax-benefit.org + # parameters.tn.tax-benefit.org:2222 SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u3 + [parameters.tn.tax-benefit.org]:2222 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDS79gVwSy3CfWG5UNovhgZJS34vwflj7Sk9cFh0XfEBuGNnYTt4YHo0a8NcufbhXeKRNcGwvx7QxNRzgQfuCKi+HuWhOcxhCzoNSPbLfuEKF+qZfvY1Bz+a/C5/EptweF8fj+jnRBhTqfpgxkUGMVrebzbAx8gWLY6wZD+BDFmSTVQcPkq2pqEXX8cW0cgMPbeaifknmyeEp5UlS5oUeLJ7M29b9P6/k0d+rUUGWdflPB8sEqoli2MfZgqUMGZuVxRrForm17D6LAbdbMkqBYG3N/r4ypMhgPxq7P2C3fpe8rQi2hChRP5ZprmYGD1ZoUbauFvA+D5bB8FsjVcQCcHSjrqa48w+nqEXG665ny/K2arStvgW0JDk6C5oajCdoNzCMRc0GfiJME/IE2IlrY4NTZb/nX8ymD2Rpam6Gt7n1qwFHo0l7WzPXAACd1wd//4X8CkTMgpvtdWnYvu2Xg1ibzQu+YK/pLfBR0GClCP13HEoufuYC7X1zazG/vuvsU= + # parameters.tn.tax-benefit.org:2222 SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u3 + [parameters.tn.tax-benefit.org]:2222 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEtIEVpN2Fc8OiDhRx66xmKycWNAjg3pnUQxQKGqnyEWydpT0+w0b11n/jbz6Nb9ZYo0oIFlTBboDDPKqzY0S2A= + # parameters.tn.tax-benefit.org:2222 SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u3 + [parameters.tn.tax-benefit.org]:2222 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDM/Q1D3k4z9bqBArZxJGuLAK7IhPNlTkb6uOA002R1E + # parameters.tn.tax-benefit.org:2222 SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u3 + # parameters.tn.tax-benefit.org:2222 SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u3 + EOF + chmod 644 ~/.ssh/known_hosts + - name: Deploy to Server using rsync + run: rsync -az --delete -e 'ssh -p 2222 -vvv' build/ ssh-proxy@parameters.tn.tax-benefit.org:public_html/ + working-directory: legislation-parameters-explorer/packages/viewer + + deploy_simulator: uses: tax-benefit/actions/.github/workflows/deploy.yml@v2.1.0 with: python_package: "openfisca_tunisia"