Merge pull request #723 from SSWConsulting/staging #503
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
# This is a basic workflow to help you get started with Actions | |
name: CI | |
# Controls when the action will run. Triggers the workflow on push or pull request | |
# events but only for the master branch | |
on: | |
push: | |
branches: [main] | |
# A workflow run is made up of one or more jobsjj that can run sequentially or in parallel | |
jobs: | |
# This workflow contains a single job called "build" | |
build: | |
# The type of runner that the job will run on | |
runs-on: ubuntu-latest | |
environment: | |
name: Production | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Get current build time | |
uses: gerred/actions/current-time@master | |
id: current-time | |
- name: Use current build time | |
env: | |
TIME: "${{ steps.current-time.outputs.time }}" | |
run: echo $TIME | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: 'package.json' | |
- name: Install Firebase-tools | |
run: npm i firebase-tools -g | |
- name: Create env file for Svelte UI | |
run: | | |
cd ui | |
touch .env | |
echo API=${{ vars.API }} >> .env | |
echo API2=${{ vars.API2 }} >> .env | |
echo DEPLOYMENTS_URL=${{ vars.DEPLOYMENTS_URL }} >> .env | |
echo MAX_SCAN_SIZE=${{ vars.MAX_SCAN_SIZE }} >> .env | |
- name: Deploy Svelte UI to Firebase | |
env: | |
FIREBASETOKEN: ${{ secrets.FIREBASETOKEN }} | |
run: | | |
cd ui | |
firebase use sswlinkauditor-c1131 --token ${{ secrets.FIREBASETOKEN }} | |
firebase projects:list --token ${{ secrets.FIREBASETOKEN }} | |
npm i | |
npm run build | |
firebase deploy --token ${{ secrets.FIREBASETOKEN }} --only hosting | |
- name: Create env file for NodeJS app | |
run: | | |
cd api/functions | |
touch .env | |
echo AZURE_STORAGE_ACCOUNT=${{ secrets.AZURE_STORAGE_ACCOUNT }} >> .env | |
echo AZURE_STORAGE_ACCESS_KEY=${{ secrets.AZURE_STORAGE_ACCESS_KEY }} >> .env | |
echo MAX_SCAN_SIZE=${{ vars.MAX_SCAN_SIZE }} >> .env | |
- name: Deploy API to Firebase | |
env: | |
FIREBASETOKEN: ${{ secrets.FIREBASETOKEN }} | |
run: | | |
cd api/functions | |
firebase use sswlinkauditor-c1131 --token ${{ secrets.FIREBASETOKEN }} | |
firebase projects:list --token ${{ secrets.FIREBASETOKEN }} | |
npm i | |
firebase deploy --token ${{ secrets.FIREBASETOKEN }} --only functions | |
- name: Install Latest Docker | |
run: | | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - | |
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | |
sudo apt-get update | |
sudo apt-get install docker-ce | |
- name: Check Docker Version | |
run: docker --version | |
- name: Build and Push Docker image | |
run: | | |
cd docker | |
docker build -t sswconsulting/codeauditor . | |
docker login --username ${{ secrets.DOCKER_USERNAME }} --password ${{ secrets.DOCKER_PASSWORD }} | |
docker push sswconsulting/codeauditor |