Skip to content

Feat/dnd amd ts

Feat/dnd amd ts #3

Workflow file for this run

name: oEQ Moodle Module CI
on:
push:
branches:
- master
- release/*
tags:
- "**"
pull_request:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout to module code
uses: actions/checkout@v4
- name: Setup NodeJS
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'npm'
cache-dependency-path: tsrc/package-lock.json
- name: Install node dependencies (tsrc) and build dndupload
working-directory: tsrc
run: |
npm ci
- name: Build (tsc + webpack)
working-directory: tsrc
run: npm run build # outputs bundled JS to amd/
- name: Determine archive name
id: version
run: |
if [[ "${GITHUB_REF}"==refs/tags/* ]]; then
VERSION=$(basename "${GITHUB_REF}")
else
BRANCH="${GITHUB_REF#refs/heads/}"
BRANCH="${BRANCH//\//-}"
SHA=$(git rev-parse --short HEAD)
VERSION="${BRANCH}_${SHA}"
fi
REPO_NAME="${GITHUB_REPOSITORY##*/}"
ARCHIVE_NAME="${REPO_NAME}-${VERSION}"
echo "archive_name=${ARCHIVE_NAME}" >> $GITHUB_OUTPUT
- name: Create plugin archives
run: |
mkdir -p dist
ARCHIVE_NAME="${{ steps.version.outputs.archive_name }}"
rsync -av \
--exclude="tsrc/node_modules" \
--exclude="dist" \
./ "dist/${FOLDER}/"
cd dist
zip -r "${ARCHIVE_NAME}.zip" "${ARCHIVE_NAME}/"
tar -czvf "${ARCHIVE_NAME}.tar.gz" "${ARCHIVE_NAME}/"
- name: Upload plugin artefacts
uses: actions/upload-artifact@v4
with:
name: Artefacts
path: |
dist/"${{ steps.version.outputs.archive_name }}.zip"
dist/"${{ steps.version.outputs.archive_name }}.tar.gz"