Skip to content

Ignore vite temp files #156

Ignore vite temp files

Ignore vite temp files #156

Workflow file for this run

name: Test
on:
pull_request:
branches: ['*']
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: volta-cli/action@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
java-package: 'jdk'
- uses: ConorMacBride/install-package@v1
with:
apt: openjfx libopenjfx-jni
- name: App Builders Install
run: |
docker pull ghcr.io/sillsdev/app-builders:latest
container_id=$(docker create ghcr.io/sillsdev/app-builders:latest bash)
mkdir $HOME/app-builders
docker cp "$container_id:/" $HOME/app-builders
docker rm "$container_id"
chmod +x $HOME/app-builders/*.sh
java -version
$HOME/app-builders/sab.sh -? | head -n 4
- name: NPM Install
run: |
node --version
npm --version
npm i
- name: Run Tests
run: |
WORK_DIR=$(pwd)
for PROGRAM in sab dab; do
echo "Processing projects for $PROGRAM"
mkdir -p "$HOME/projects/$PROGRAM"
# Get all projects as JSON array
PROJECTS_JSON=$(jq -r ".${PROGRAM}.projects" "test_data/projects/index.json")
# Get number of projects
NUM_PROJECTS=$(echo "$PROJECTS_JSON" | jq '. | length')
# Iterate through projects using index
for ((i=0; i<$NUM_PROJECTS; i++)); do
# Get project path and test directories
PROJECT_ZIP=$(echo "$PROJECTS_JSON" | jq -r ".[$i].path")
TEST_DIRS=$(echo "$PROJECTS_JSON" | jq -r ".[$i].tests[]")
PROJECT_NAME=$(basename "$PROJECT_ZIP" .zip)
echo "Project: $PROJECT_NAME"
PROJECT_DIR="$HOME/projects/${PROGRAM}/$PROJECT_NAME"
mkdir -p "$PROJECT_DIR"
unzip -q "test_data/projects/${PROGRAM}/$PROJECT_ZIP" -d "$PROJECT_DIR"
npm run clean:all > /dev/null
pushd "$PROJECT_DIR" > /dev/null
PROJECT_FILE=$(find . -type f -name "*.appDef")
"$HOME/app-builders/${PROGRAM}.sh" -load "$PROJECT_FILE" -build-modern-pwa-data-files -no-save -fp pwa-repo="$WORK_DIR" > /dev/null
popd > /dev/null
npm run build
npm run convert
# Run tests for each specified directory
for TEST_DIR in $TEST_DIRS; do
echo "Running tests in directory: $TEST_DIR"
npm run test "$TEST_DIR"
done
done
done