Skip to content

added confidence multiple choice q #21

added confidence multiple choice q

added confidence multiple choice q #21

Workflow file for this run

# This is a basic workflow to deploy your smile experiment
name: DEPLOY
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches-ignore:
- analysis # want this to be all branches eventually
- models
- docs
paths-ignore: # ignore any changes to the docs for this workflow or unimportant files
- 'docs/**'
- 'README.md'
- 'LICENSE'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
deploy:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
## TODO CHANGE THIS TO CHECK OUT THE BRANCH THAT WAS COMMITTED TO
- name: Checkout committed to branch
uses: actions/checkout@v3
# setup node.js
- name: Setup node.js
uses: actions/setup-node@v3
with:
node-version: 16.15.1 # this is what i'm using locally
# install node packages
- name: Install node dependencies
run: npm install
# install node packages
- name: Build css from scss
run: npm run css-build
# accesses some git variables and processes them to be lower case/short/escaped
- name: Inject slug/short variables
uses: rlespinasse/[email protected]
# Configure git-specific .env file
- name: Expose git-specific information to the Vite environment
env:
ENV_FILE: 'env/.env.git.local'
run: |
echo "------"
echo "# DO NOT EDIT THIS FILE IT IS AUTOMATICALLY GENERATED" > $ENV_FILE
if test -z "${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG }}"
then
echo "VITE_PROJECT_NAME = unknown" >> $ENV_FILE
VITE_PROJECT_NAME='unknown'
else
echo "VITE_PROJECT_NAME = ${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG }}" >> $ENV_FILE
VITE_PROJECT_NAME='${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG }}'
fi
if test -z "${{ env.GITHUB_SHA_SHORT }}"
then
echo "VITE_GIT_HASH = x0x0x0x0" >> $ENV_FILE
VITE_GIT_HASH='x0x0x0x0'
else
echo "VITE_GIT_HASH = ${{ env.GITHUB_SHA_SHORT }}" >> $ENV_FILE
VITE_GIT_HASH='${{ env.GITHUB_SHA_SHORT }}'
fi
if test -z "${{ env.GITHUB_REPOSITORY_OWNER_PART_SLUG }}"
then
echo "VITE_GIT_OWNER = unknown_owner" >> $ENV_FILE
VITE_GIT_OWNER='unknown_owner'
else
echo "VITE_GIT_OWNER = ${{ env.GITHUB_REPOSITORY_OWNER_PART_SLUG }}" >> $ENV_FILE
VITE_GIT_OWNER='${{ env.GITHUB_REPOSITORY_OWNER_PART_SLUG }}'
fi
if test -z "${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG }}"
then
echo "VITE_GIT_REPO_NAME = unknown_repo" >> $ENV_FILE
VITE_GIT_REPO_NAME='unknown_repo'
else
echo "VITE_GIT_REPO_NAME = ${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG }}" >> $ENV_FILE
VITE_GIT_REPO_NAME='${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG }}'
fi
if test -z "${{ env.GITHUB_REF_SLUG }}"
then
echo "VITE_GIT_BRANCH_NAME = unknown_branch" >> $ENV_FILE
VITE_GIT_BRANCH_NAME='unknown_branch'
else
echo "VITE_GIT_BRANCH_NAME = ${{ env.GITHUB_REF_SLUG }}" >> $ENV_FILE
VITE_GIT_BRANCH_NAME='${{ env.GITHUB_REF_SLUG }}'
fi
if test -z "${{ github.event.head_commit.message }}"
then
echo "VITE_GIT_LAST_MSG = (no commit message)" >> $ENV_FILE
VITE_GIT_LAST_MSG='(no commit message)'
else
echo "VITE_GIT_LAST_MSG = ${{ github.event.head_commit.message }}" >> $ENV_FILE
VITE_GIT_LAST_MSG='${{ github.event.head_commit.message }}'
fi
echo "VITE_DEPLOY_BASE_PATH = '/${VITE_GIT_OWNER}/${VITE_GIT_REPO_NAME}/${VITE_GIT_BRANCH_NAME}/'" >> $ENV_FILE
CODENAME=$(node scripts/codenamize.js "/${{ env.GITHUB_REPOSITORY_OWNER_PART_SLUG }}/${{ env.GITHUB_REPOSITORY_NAME_PART_SLUG }}/${{ env.GITHUB_REF_SLUG }}")
echo "VITE_CODE_NAME = ${CODENAME}" >> $ENV_FILE
cat $ENV_FILE
# put the full path name in VITE_DEPLOY_BASE_PATH
# Configure secure information configuration
- name: Expose secret information to the Vite environment
env:
SECRET_APP_CONFIG: ${{ secrets.SECRET_APP_CONFIG }}
SECRET_ENV_FILE: 'env/.env.local'
run: |
echo "------"
echo $SECRET_APP_CONFIG | base64 --decode > $SECRET_ENV_FILE
# load the environment
- name: Load the github dotenv file
id: dotenv_github
uses: falti/[email protected]
with:
path: 'env/.env.git.local'
- name: Load the general config dotenv file
id: dotenv_config
uses: falti/[email protected]
with:
path: './env/.env.local'
# echo all the environment variables
- name: echo the environment variables
run: |
echo "deploy url: ${{ secrets.EXP_DEPLOY_PATH }}${{ steps.dotenv_github.outputs.VITE_DEPLOY_BASE_PATH }}"
# place the deploy settings into the environment files
# this one needs to be made available to vite.config.js
- name: create deploy file
env:
DEPLOY_ENV_FILE: 'env/.env.deploy.local'
run: |
echo "VITE_DEPLOY_URL = 'https://${{ secrets.EXP_DEPLOY_HOST }}${{ steps.dotenv_github.outputs.VITE_DEPLOY_BASE_PATH }}'" > $DEPLOY_ENV_FILE
echo 'VITE_CODE_NAME_DEPLOY_URL = "https://${{ secrets.EXP_DEPLOY_HOST }}/e/${{ steps.dotenv_github.outputs.VITE_CODE_NAME }}"' >> $DEPLOY_ENV_FILE
cat $DEPLOY_ENV_FILE
# Build the web app
- name: Build css files
run: npm run css-build
# Build the web app
- name: Build web app
run: npm run build
# make remote folder if necessar
- name: create the remote folders if they don't exist
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EXP_DEPLOY_HOST }}
username: ${{ secrets.EXP_DEPLOY_USER }}
key: ${{ secrets.EXP_DEPLOY_KEY }}
port: ${{ secrets.EXP_DEPLOY_PORT }}
script: mkdir -p ${{ secrets.EXP_DEPLOY_PATH }}/${{ steps.dotenv_github.outputs.VITE_DEPLOY_BASE_PATH }}; mkdir -p ${{ secrets.EXP_DEPLOY_PATH }}/e; mkdir -p ${{ secrets.EXP_DEPLOY_PATH }}/hashes
# link to code name path
- name: link to the code name path
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EXP_DEPLOY_HOST }}
username: ${{ secrets.EXP_DEPLOY_USER }}
key: ${{ secrets.EXP_DEPLOY_KEY }}
port: ${{ secrets.EXP_DEPLOY_PORT }}
script: rm ${{ secrets.EXP_DEPLOY_PATH }}/e/${{ steps.dotenv_github.outputs.VITE_CODE_NAME }}; ln -sf ${{ secrets.EXP_DEPLOY_PATH }}/${{ steps.dotenv_github.outputs.VITE_DEPLOY_BASE_PATH }} ${{ secrets.EXP_DEPLOY_PATH }}/e/${{ steps.dotenv_github.outputs.VITE_CODE_NAME }}
# Deploy files to web server
- name: rsync to server
uses: burnett01/[email protected]
with:
switches: -avrz --delete
path: dist/
remote_path: ${{ secrets.EXP_DEPLOY_PATH }}/${{ steps.dotenv_github.outputs.VITE_DEPLOY_BASE_PATH }} # this should be configured with branch name and versioning
remote_host: ${{ secrets.EXP_DEPLOY_HOST }}
remote_port: ${{ secrets.EXP_DEPLOY_PORT }}
remote_user: ${{ secrets.EXP_DEPLOY_USER }}
remote_key: ${{ secrets.EXP_DEPLOY_KEY }}
# send a notification at the end
- name: Send notification to lab slack
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
if: ${{ env.SLACK_WEBHOOK_URL != '' }} # this should only run if SLACK_WEBHOOK exists
id: slack
uses: slackapi/[email protected]
with:
# This data can be any valid JSON from a previous step in the GitHub Action
payload: |
{
"github_username": "${{ steps.dotenv_github.outputs.VITE_GIT_OWNER }}",
"deploy_url": "https://${{ secrets.EXP_DEPLOY_HOST }}${{ steps.dotenv_github.outputs.VITE_DEPLOY_BASE_PATH }} although you should tell people https://${{ secrets.EXP_DEPLOY_HOST }}/e/${{ steps.dotenv_github.outputs.VITE_CODE_NAME }}",
"github_hash": "https://github.com/${{ steps.dotenv_github.outputs.VITE_GIT_OWNER }}/${{ steps.dotenv_github.outputs.VITE_GIT_REPO_NAME }}/commit/${{ steps.dotenv_github.outputs.VITE_GIT_HASH }}"
}