feat(storybook): added storybook stories #50
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CrudeCards - Pipeline - Dev - Web | |
on: | |
push: | |
branches: [dev] | |
workflow_dispatch: | |
jobs: | |
deploy-cloud-run: | |
runs-on: ubuntu-latest | |
environment: Development | |
env: | |
CI_REGISTRY: us-west1-docker.pkg.dev | |
# REGISTRY: us-west1-docker.pkg.dev/constructworks-dev-01/crude-cards/crude-cards-web | |
# GCP Project ID | |
PROJECT_ID: constructworks-dev-01 | |
# Repository name within the GCP project | |
REPOSITORY_NAME: crude-cards | |
# Specific image name within the repository | |
SERVICE_NAME: crude-cards-web-service | |
# Region where the Cloud Run service is deployed | |
REGION: us-west1 | |
# trunk-ignore(checkov/CKV2_GHA_1) | |
permissions: | |
contents: write # Allows the job to write back to the repository, necessary for actions like pushing commits or tags | |
id-token: write | |
steps: | |
# Get last updates | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# Install pnpm | |
- name: Install pnpm | |
run: npm install -g pnpm | |
# Set up Node.js 20 | |
- name: Setup Node.js v20 | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: .nvmrc | |
check-latest: true | |
node-version: "20" | |
cache: pnpm | |
# Write to complete env file | |
- name: env file | |
run: |- | |
# Secrets | |
echo GH_TOKEN = "${{ secrets.GH_TOKEN }}" >> .env | |
echo BACKEND_DATABASE_PASS = "${{ secrets.BACKEND_DATABASE_PASS }}" >> .env | |
echo OCO_OPENAI_API_KEY = "${{ secrets.OCO_OPENAI_API_KEY }}" >> .env | |
echo OPENAI_API_KEY = "${{ secrets.OPENAI_API_KEY }}" >> .env | |
# Front End Visible | |
echo NEXT_PUBLIC_APP_ID = "${{ vars.NEXT_PUBLIC_APP_ID }}" >> .env | |
echo NEXT_PUBLIC_BROWSER_WINDOW_LOCATION_ORIGIN = "${{ vars.NEXT_PUBLIC_BROWSER_WINDOW_LOCATION_ORIGIN }}" >> .env | |
echo NEXT_PUBLIC_GOOGLE_ANALYTICS_ID = "${{ vars.NEXT_PUBLIC_GOOGLE_ANALYTICS_ID }}" >> .env | |
echo NEXT_PUBLIC_WEB_SOCKET_HOST_ORIGIN = "${{ vars.NEXT_PUBLIC_WEB_SOCKET_HOST_ORIGIN }}" >> .env | |
echo NEXT_PUBLIC_NEXT_COUNTDOWN_TIMER_DURATION_SECONDS = "${{ vars.NEXT_PUBLIC_NEXT_COUNTDOWN_TIMER_DURATION_SECONDS }}" >> .env | |
# Backend Database | |
echo BACKEND_DATABASE_HOST = "${{ vars.BACKEND_DATABASE_HOST }}" >> .env | |
echo BACKEND_DATABASE_USER = "${{ vars.BACKEND_DATABASE_USER }}" >> .env | |
echo BACKEND_DATABASE_NAME = "${{ vars.BACKEND_DATABASE_NAME }}" >> .env | |
echo BACKEND_DATABASE_PORT = "${{ vars.BACKEND_DATABASE_PORT }}" >> .env | |
echo BACKEND_PORT = "${{ vars.BACKEND_PORT }}" >> .env | |
# Stuff | |
echo WEB_SOCKET_CORS_ALLOWED_ORIGIN = "${{ vars.WEB_SOCKET_CORS_ALLOWED_ORIGIN }}" >> .env | |
echo GCP_LOGGER_PROJECT_ID = "${{ vars.GCP_LOGGER_PROJECT_ID }}" >> .env | |
echo LOGGING_LEVEL = "${{ vars.LOGGING_LEVEL }}" >> .env | |
echo NEXT_PUBLIC_IS_DEBUG_OVERLAY_VISIBLE = "${{ vars.NEXT_PUBLIC_IS_DEBUG_OVERLAY_VISIBLE }}" >> .env | |
- run: node -v | |
- run: pwd | |
- run: pnpm install | |
- run: pnpm --prefix src/api install | |
# Disable next.js spyware | |
- run: pnpm run job:disable-snooping | |
# Increment the version number of package.json | |
- run: pnpm run ci-semantic-release | |
# Authenticate on GCP using service account | |
- id: Auth | |
name: Authenticate to Google Cloud | |
uses: google-github-actions/auth@v1 | |
with: | |
credentials_json: "${{ secrets.SERVICEACCOUNT }}" | |
# Get short commit hash for tagging | |
- uses: benjlevesque/[email protected] | |
id: short-sha | |
with: | |
length: 6 | |
# Construct the REGISTRY variable | |
- name: Set REGISTRY variable | |
run: echo "REGISTRY=${{ env.CI_REGISTRY }}/${{ env.PROJECT_ID }}/${{ env.REPOSITORY_NAME }}/${{ env.SERVICE_NAME }}" >> $GITHUB_ENV | |
# build and tag image docker | |
- name: docker build | |
run: docker build -f DockerfileWeb -t ${{ env.REGISTRY }}:${{ env.SHA }} -t ${{ env.REGISTRY }}:latest . | |
# Authenticate to Artifact registry | |
- name: Login to GAR | |
uses: docker/login-action@v3 | |
with: | |
registry: us-west1-docker.pkg.dev | |
username: _json_key | |
password: ${{ secrets.SERVICEACCOUNT }} | |
# Push image to ar | |
- name: docker push | |
run: docker push ${{ env.REGISTRY }} --all-tags | |
#Deploy revision to Cloud run | |
- id: deploy | |
uses: google-github-actions/deploy-cloudrun@v2 | |
with: | |
project_id: constructworks-dev-01 | |
region: us-west1 | |
service: crude-cards-web | |
image: ${{ env.REGISTRY }}:${{ env.SHA }} |