Skip to content

Improve handling of local Weaver-UI-Core repo, adding support for det… #177

Improve handling of local Weaver-UI-Core repo, adding support for det…

Improve handling of local Weaver-UI-Core repo, adding support for det… #177

Workflow file for this run

name: Build
on: [ push, pull_request, workflow_dispatch ]
env:
CI_WUI_BRANCH: ${{ vars.CI_WUI_BRANCH }}
CI_WUI_DISABLE_LOCAL_PUBLISH: ${{ vars.CI_WUI_DISABLE_LOCAL_PUBLISH }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: "Checkout Repository"
uses: actions/checkout@v3
with:
path: repo
- name: "Checkout Weaver-UI-Core"
uses: actions/checkout@v3
with:
repository: TAMULib/Weaver-UI-Core
path: weaver-ui
ref: 2.x
# Specify depth of 0 to enable fetching all branches and tags so that the "Use Custom Weaver-UI-Core Repo Version" works.
fetch-depth: 0
- name: "Detect Custom Weaver-UI-Core Repo Version"
continue-on-error: true
if: ${{ env.CI_WUI_BRANCH == '' }}
run: |
cd weaver-ui
export CI_WUI_BRANCH_VERSION=$(grep -so -m 1 '"@wvr/core": "[^"]*"' ../repo/package.json | sed -e 's|"@wvr/core": "||' -e 's|"$||')
export CI_WUI_BRANCH=$(git tag | grep -so -m 1 "^$CI_WUI_BRANCH_VERSION$")
# Some projects prefix their version with a "v".
if [[ $CI_WUI_BRANCH == "" && $CI_WUI_BRANCH_VERSION != "" ]] ; then export CI_WUI_BRANCH=$(git tag | grep -so -m 1 "^v$CI_WUI_BRANCH_VERSION$") ; fi
echo "CI_WUI_BRANCH=$CI_WUI_BRANCH" >> $GITHUB_ENV
- name: "Use Custom Weaver-UI-Core Repo Version"
continue-on-error: true
if: ${{ env.CI_WUI_BRANCH != '' }}
run: |
cd weaver-ui
git reset --hard $CI_WUI_BRANCH
- name: "Run Weaver-UI-Core Docker Compose Registry Image"
run: docker-compose -f $GITHUB_WORKSPACE/weaver-ui/docker-compose.yml up -d registry
- name: "Publish Weaver-UI-Core (@wvr/core)"
if: ${{ env.CI_WUI_DISABLE_LOCAL_PUBLISH != 'true' }}
run: |
cd $GITHUB_WORKSPACE/weaver-ui
npm run publish:local
- name: "Install Chrome Drivers"
run: sudo apt-get install xvfb
- name: "Node Cache"
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-cache-node-${{ hashFiles('**/package.json', '**/package-lock.json') }}
- name: "Node Modules Cache"
uses: actions/cache@v3
with:
path: $GITHUB_WORKSPACE/repo/node_modules
key: ${{ runner.os }}-cache-node_modules-${{ hashFiles('**/package.json', '**/package-lock.json') }}
- name: "Setup Node"
uses: actions/setup-node@v3
with:
node-version: 16
- name: "Install Node"
run: |
cd $GITHUB_WORKSPACE/repo
npm install --registry=http://localhost:4873
- name: "Run Node Tests"
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
run: |
cd $GITHUB_WORKSPACE/repo
xvfb-run --auto-servernum npm run test:ci