Skip to content

chore: add temporary route for the version release event #266

chore: add temporary route for the version release event

chore: add temporary route for the version release event #266

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
run: npm ci
- name: make sure yarn.lock does not exist
run: rm -f yarn.json
- name: Git Check Clean Tree
uses: ArkadiK94/[email protected]
with:
error-reason: 'removing package-lock.json file'
- name: Install dependencies
run: npm i
- name: Git Check Clean Tree
uses: ArkadiK94/[email protected]
with:
error-reason: 'npm i'
- name: Build
run: npm run build
- name: Build Storybook
run: npm run build-storybook -o dist/storybook
- name: Git Check Clean Tree
uses: ArkadiK94/[email protected]
with:
error-reason: 'npm run build and npm run build-storybook'
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Run install
run: npm ci
- name: Run lint
run: npm run lint
circular:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Run install
run: npm ci
- name: find circular dependencies
run: npx 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
run: npm ci
- run: npx playwright install
- name: Run test
run: npm run test
- name: upload playwright artifacts
if: always()
uses: actions/upload-artifact@v2
with:
name: playwright
path: test-results
- name: upload report
if: always()
uses: actions/upload-artifact@v2
with:
name: playwright
path: playwright-report
publish-test-results:
runs-on: ubuntu-latest
needs: test
if: always()
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: playwright
path: test-results
- name: Publish test results
uses: shallwefootball/s3-upload-action@master
if: always()
id: s3-trace
continue-on-error: true
with:
aws_key_id: ${{ secrets.AWS_KEY_ID }}
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
aws_bucket: noam-gaash.co.il
source_dir: test-results
destination_dir: ${{ github.run_id }}/open-bus/${{ github.sha }}/test-results
- name: Set commit status as pending
uses: myrotvorets/set-commit-status-action@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
description: 'Test results: https://s3.amazonaws.com/noam-gaash.co.il/${{ github.run_id }}/open-bus/${{ github.sha }}/test-results/index.html'
status: success
context: 'Test results'
targetUrl: 'https://s3.amazonaws.com/noam-gaash.co.il/${{ github.run_id }}/open-bus/${{ github.sha }}/test-results/index.html'
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
run: npm ci
- name: run the tests
run: npm run 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"