Skip to content

Update build_deploy.yml #132

Update build_deploy.yml

Update build_deploy.yml #132

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
# 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"
build:
# 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:
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '21.x'
# Install jq if it's not already available
- name: Install jq
run: sudo apt-get install jq
# Fetch the latest commit hash
- name: Get latest commit hash from reproschema-ui
run: |
LATEST_HASH=$(curl -s https://api.github.com/repos/ReproNim/reproschema-ui/commits/master | jq -r '.sha')
echo "CHECKSUM=$LATEST_HASH" >> $GITHUB_ENV
echo "${CHECKSUM}"
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
# Runs a set of commands using the runners shell
- name: Check for syntax errors
run: |
npm install -g jsonlint
grep -r "@context" activities | cut -d: -f1 | xargs -I fname jsonlint -q fname
grep -r "@context" DemoProtocol | cut -d: -f1 | xargs -I fname jsonlint -q fname
# Validate the protocol
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip setuptools
pip install reproschema requests_cache pre-commit
- name: Test with pyshacl
run: |
reproschema -l DEBUG validate activities
reproschema -l DEBUG validate DemoProtocol/DemoProtocol_schema
# Runs a set of commands using the runners shell
- name: Run a multi-line script
run: |
curl -O -sSL https://github.com/ReproNim/reproschema-ui/archive/${CHECKSUM}.zip
unzip ${CHECKSUM}.zip
mv reproschema* ui
cd ui
cp -r ../ui-changes/. .
npm install
npm run build
touch dist/.nojekyll
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@v4
if: github.ref == 'refs/heads/main'
with:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: ui/dist # The folder the action should deploy.