Skip to content

frontend: make redirected links do direct links #257

frontend: make redirected links do direct links

frontend: make redirected links do direct links #257

Workflow file for this run

name: CI/CD frontend
on:
push:
paths:
- 'frontend/**'
- '!backend/**'
- '.github/workflows/frontend.yml'
pull_request:
paths:
- 'frontend/**'
- '.github/workflows/frontend.yml'
- '!backend/**'
env:
NODE_VERSION: 14.x
PROJECT_NAME: odh-webcompstore-frontend
jobs:
test:
runs-on: ubuntu-20.04
steps:
- uses: noi-techpark/github-actions/checkout@v2
- name: Test frontend
uses: actions/setup-node@v2
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
cache-dependency-path: frontend/yarn.lock
- run: |
yarn install
yarn run test --passWithNoTests
working-directory: frontend
deploy-test-frontend:
runs-on: ubuntu-20.04
if: github.ref == 'refs/heads/main'
needs: test
concurrency: deploy-test-frontend
env:
SERVER_PORT: 1020
DOCKER_IMAGE: ghcr.io/${{ github.repository }}/${{ github.event.repository.name }}-frontend-test
DOCKER_TAG: ${{ github.sha }}
steps:
- name: Checkout source code
uses: noi-techpark/github-actions/checkout@v2
- name: Create .env file
uses: noi-techpark/github-actions/env-file@v2
env:
X_COMPOSE_PROJECT_NAME: ${{ env.PROJECT_NAME }}
X_DOCKER_IMAGE: ${{ env.DOCKER_IMAGE }}
X_DOCKER_TAG: ${{ env.DOCKER_TAG }}
X_SERVER_PORT: ${{ env.SERVER_PORT }}
X_API_BASE_URL: "https://api.webcomponents.opendatahub.testingmachine.eu"
X_CDN_URL: "https://cdn.webcomponents.opendatahub.testingmachine.eu"
X_HCAPTCHA_PUBLIC_KEY: 9f9020fc-605d-4f9a-b4d6-a80091e5abc8
X_BUILD_ENVIRONMENT: testing
with:
working-directory: frontend
- name: Setup node and yarn
uses: actions/setup-node@v2
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
cache-dependency-path: frontend/yarn.lock
- name: Build
run: |
yarn install
yarn run generate
working-directory: frontend
- name: Build and push images
uses: noi-techpark/github-actions/docker-build-and-push@v2
with:
working-directory: frontend/infrastructure
docker-username: ${{ github.actor }}
docker-password: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy application
uses: noi-techpark/github-actions/docker-deploy@v2
with:
working-directory: frontend/infrastructure/ansible
hosts: "test"
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
docker-username: "noi-techpark-bot"
docker-password: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
project-name: ${{ env.PROJECT_NAME }}
deploy-production-frontend:
runs-on: ubuntu-20.04
if: github.ref == 'refs/heads/prod'
needs: test
concurrency: deploy-production-frontend
env:
SCRIPTS_HOST: 'https://scripts.opendatahub.com'
SERVER_PORT: 1020
DOCKER_IMAGE: ghcr.io/${{ github.repository }}/${{ github.event.repository.name }}-frontend-prod
DOCKER_TAG: ${{ github.sha }}
steps:
- name: Checkout source code
uses: noi-techpark/github-actions/checkout@v2
- name: Create .env file
uses: noi-techpark/github-actions/env-file@v2
env:
X_COMPOSE_PROJECT_NAME: ${{ env.PROJECT_NAME }}
X_DOCKER_IMAGE: ${{ env.DOCKER_IMAGE }}
X_DOCKER_TAG: ${{ env.DOCKER_TAG }}
X_SERVER_PORT: ${{ env.SERVER_PORT }}
X_API_BASE_URL: "https://api.webcomponents.opendatahub.com"
X_CDN_URL: "https://cdn.webcomponents.opendatahub.com"
X_HCAPTCHA_PUBLIC_KEY: 9f9020fc-605d-4f9a-b4d6-a80091e5abc8
X_BUILD_ENVIRONMENT: production
with:
working-directory: frontend
- name: Setup node and yarn
uses: actions/setup-node@v2
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
cache-dependency-path: frontend/yarn.lock
- name: Change scripts host to prod
run: sed -i -e "s%https://scripts.opendatahub.testingmachine.eu%${{env.SCRIPTS_HOST}}%g" frontend/nuxt.config.js
- name: Build
run: |
yarn install
yarn run generate
working-directory: frontend
- name: Build and push images
uses: noi-techpark/github-actions/docker-build-and-push@v2
with:
working-directory: frontend/infrastructure
docker-username: ${{ github.actor }}
docker-password: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy application
uses: noi-techpark/github-actions/docker-deploy@v2
with:
working-directory: frontend/infrastructure/ansible
hosts: "prod"
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
docker-username: "noi-techpark-bot"
docker-password: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
project-name: ${{ env.PROJECT_NAME }}