Skip to content

Merge pull request #10 from ToC-Taiwan/development #40

Merge pull request #10 from ToC-Taiwan/development

Merge pull request #10 from ToC-Taiwan/development #40

Workflow file for this run

name: Build and Push to Registry
on:
repository_dispatch:
types:
- release
workflow_dispatch:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
REGISTRY: ghcr.io
jobs:
Build:
runs-on: ubuntu-latest
env:
REPOSITORY: "${{ github.repository }}"
SHA: "${{ github.sha }}"
OWNER: "${{ github.repository_owner }}"
REPOSITORY_LC: ""
SHORT_SHA: ""
REPOSITORY_NAME_ONLY: ""
steps:
- name: checkout
uses: actions/checkout@v4
- name: set local env
run: |
LC_REPO_NAME=${REPOSITORY,,}
LC_USER_NAME=${OWNER,,}
echo "REPOSITORY_LC=$LC_REPO_NAME" >> ${GITHUB_ENV}
echo "SHORT_SHA=$(echo ${SHA} | cut -c1-7)" >> ${GITHUB_ENV}
echo "REPOSITORY_NAME_ONLY="${LC_REPO_NAME/"${LC_USER_NAME}/"/""}"" >> ${GITHUB_ENV}
- name: setup node
uses: actions/setup-node@v4
with:
node-version: "20.12.1"
- run: |
echo "VITE_SYNCFUSION_LICENSE=$SYNCFUSION_LICENSE" > .env
echo "VITE_FIREBASE_API_KEY=$FIREBASE_API_KEY" >> .env
echo "VITE_FIREBASE_AUTH_DOMAIN=$FIREBASE_AUTH_DOMAIN" >> .env
echo "VITE_FIREBASE_DATABASE_URL=$FIREBASE_DATABASE_URL" >> .env
echo "VITE_FIREBASE_PROJECT_ID=$FIREBASE_PROJECT_ID" >> .env
echo "VITE_FIREBASE_STORAGE_BUCKET=$FIREBASE_STORAGE_BUCKET" >> .env
echo "VITE_FIREBASE_MESSAGING_SENDER_ID=$FIREBASE_MESSAGING_SENDER_ID" >> .env
echo "VITE_FIREBASE_APP_ID=$FIREBASE_APP_ID" >> .env
echo "VITE_FIREBASE_MEASUREMENT_ID=$FIREBASE_MEASUREMENT_ID" >> .env
npm i && npm run build
env:
SYNCFUSION_LICENSE: ${{ secrets.SYNCFUSION_LICENSE }}
FIREBASE_API_KEY: ${{ secrets.FIREBASE_API_KEY }}
FIREBASE_AUTH_DOMAIN: ${{ secrets.FIREBASE_AUTH_DOMAIN }}
FIREBASE_DATABASE_URL: ${{ secrets.FIREBASE_DATABASE_URL }}
FIREBASE_PROJECT_ID: ${{ secrets.FIREBASE_PROJECT_ID }}
FIREBASE_STORAGE_BUCKET: ${{ secrets.FIREBASE_STORAGE_BUCKET }}
FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.FIREBASE_MESSAGING_SENDER_ID }}
FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
FIREBASE_MEASUREMENT_ID: ${{ secrets.FIREBASE_MEASUREMENT_ID }}
- name: log in to the github registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: log in to the docker hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: build and push to registry
uses: docker/build-push-action@v5
with:
push: true
context: .
tags: |
${{ env.REGISTRY }}/${{ env.REPOSITORY_LC }}:${{ env.SHORT_SHA }}
${{ env.REGISTRY }}/${{ env.REPOSITORY_LC }}:latest
${{ secrets.DOCKER_USERNAME }}/${{ env.REPOSITORY_NAME_ONLY }}:${{ env.SHORT_SHA }}
${{ secrets.DOCKER_USERNAME }}/${{ env.REPOSITORY_NAME_ONLY }}:latest