Skip to content

fix: Use Only Relevant Routes #43

fix: Use Only Relevant Routes

fix: Use Only Relevant Routes #43

Workflow file for this run

name: Validate
on:
pull_request:
env:
DOCKER_APP_IMAGE_NAME: 'ghcr.io/hasadna/open-bus-map-search/open-bus-map-search'
DOCKER_APP_IMAGE_TAG: 'latest'
jobs:
verify-clean-tree:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Run install
uses: borales/actions-yarn@v4
with:
cmd: install
- name: make sure package.lock does not exist
run: rm -f package-lock.json
- name: Git Check Clean Tree
uses: ArkadiK94/[email protected]
with:
error-reason: 'removing package-lock.json file'
- name: Install dependencies
run: yarn
- name: Git Check Clean Tree
uses: ArkadiK94/[email protected]
with:
error-reason: 'yarn'
- name: Build
run: yarn build
- name: Build Storybook
run: yarn build-storybook -o dist/storybook
- name: Git Check Clean Tree
uses: ArkadiK94/[email protected]
with:
error-reason: 'yarn build and yarn build-storybook'
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Run install
uses: borales/actions-yarn@v4
with:
cmd: install
- name: Run lint
run: yarn lint
circular:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Run install
uses: borales/actions-yarn@v4
with:
cmd: install
- name: find circular dependencies
run: yarn madge --extensions js,ts --circular .
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and Export Docker image
uses: docker/build-push-action@v2
with:
context: .
tags: ${{ env.DOCKER_APP_IMAGE_NAME }}:${{ env.DOCKER_APP_IMAGE_TAG }}
outputs: type=docker, dest=/tmp/docker-image.tar
- name: Save Docker image
uses: actions/upload-artifact@v2
with:
name: docker-image
path: /tmp/docker-image.tar
test:
runs-on: ubuntu-latest
needs: build
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: docker-image
path: /tmp
- name: Load image
run: docker load -i /tmp/docker-image.tar
- name: Run application
run: docker run -d -p 3000:80 ${{ env.DOCKER_APP_IMAGE_NAME }}:${{ env.DOCKER_APP_IMAGE_TAG }}
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Run install
uses: borales/actions-yarn@v4
with:
cmd: install
- run: yarn playwright install
- name: Run test
run: yarn test
- name: upload playwright artifacts
if: always()
uses: actions/upload-artifact@v2
with:
name: playwright
path: test-results
test-unit:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 20
- name: Run install
uses: borales/actions-yarn@v4
with:
cmd: install
- name: run the tests
run: yarn test:unit
all-passed:
runs-on: ubuntu-latest
needs: [verify-clean-tree, lint, circular, test, test-unit]
steps:
- name: All passed
run: echo "All passed"