Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
031d776
Update report
ginalined Nov 10, 2022
b00b3ad
Merge pull request #3 from Practicums/example-patches
ginalined Nov 10, 2022
6130175
change to correct
Nov 10, 2022
8e71acf
revise to correct
Nov 10, 2022
c3923ce
add lint
Nov 10, 2022
fde58ff
add dependency
Nov 10, 2022
9432f70
Delete result.txt
ginalined Nov 10, 2022
5694299
add dependency
Nov 10, 2022
f347278
Merge branch 'lint-test' of https://github.com/Practicums/vrspace int…
Nov 10, 2022
4403832
add something
Nov 10, 2022
5eb3b1c
add something
Nov 10, 2022
151a49d
Update report
ginalined Nov 10, 2022
f8df18a
Merge pull request #6 from Practicums/example-patches
ginalined Nov 10, 2022
7619f86
correct
Nov 11, 2022
0fbfa28
wrong
Nov 11, 2022
e5baa6c
correct
Nov 11, 2022
22ec9dd
wrong
Nov 11, 2022
37e09b1
Update report
ginalined Nov 11, 2022
e22b5c0
Merge pull request #7 from Practicums/example-patches
ginalined Nov 11, 2022
9cf69f9
correct
Nov 11, 2022
8eddebd
Update report
ginalined Nov 11, 2022
1d75e5d
Merge pull request #8 from Practicums/example-patches
ginalined Nov 11, 2022
2a5e987
Update report
ginalined Nov 11, 2022
14edc0d
Merge pull request #9 from Practicums/example-patches
ginalined Nov 11, 2022
8cbabf1
wrong
Nov 11, 2022
76043a6
Merge branch 'lint-test' of https://github.com/Practicums/vrspace int…
Nov 11, 2022
18673e1
try email, first step
Nov 16, 2022
c6481d5
try email, first step
Nov 16, 2022
78eb258
try email, first step
Nov 16, 2022
e87d0bd
try email, first step
Nov 16, 2022
e0b7e81
try email, first step
Nov 16, 2022
90476ee
try email, first step
Nov 16, 2022
f80e764
try email, first step
Nov 16, 2022
f334067
see where it fail
Nov 17, 2022
4ac4405
see where it fail
Nov 17, 2022
42b4f83
see where it fail
Nov 17, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
62 changes: 62 additions & 0 deletions .github/disabled_flow/email.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Send Email

on:
# Trigger the workflow on push or pull request,
# but only for the main branch
push:
branches:
- unit-test
- lint-test

jobs:
email:
runs-on: ubuntu-latest
steps:

- name: Send mail
uses: dawidd6/action-send-mail@v3
with:
# Specify connection via URL (replaces server_address, server_port, secure,
# username and password)
#
# Format:
#
# * smtp://user:password@server:port
# * smtp+starttls://user:password@server:port
connection_url: smtp://${{secrets.email_sender}}:${{secrets.email_password}}@smtp-mail.outlook.com:587
# Required mail server address if not connection_url:
server_address: smtp-mail.outlook.com
# Server port, default 25:
server_port: 587
# Optional whether this connection use TLS (default is true if server_port is 465)
secure: true
# # Optional (recommended): mail server username:
# username: ${{secrets.MAIL_USERNAME}}
# # Optional (recommended) mail server password:
# password: ${{secrets.MAIL_PASSWORD}}
# Required mail subject:
subject: Github Actions job result
# Required recipients' addresses:
to: elina.ding@outlook.com
# Required sender full name (address can be skipped):
from: Metaverse CICD Developer # <user@example.com>
# Optional plain body:
body: Build job of ${{github.repository}} completed successfully!
# # Optional HTML body read from file:
# html_body: file://README.html
# # Optional carbon copy recipients:
# cc: kyloren@example.com,leia@example.com
# # Optional blind carbon copy recipients:
# bcc: r2d2@example.com,hansolo@example.com
# # Optional recipient of the email response:
# reply_to: luke@example.com
# # Optional Message ID this message is replying to:
# in_reply_to: <random-luke@example.com>
# # Optional unsigned/invalid certificates allowance:
ignore_cert: true
# Optional converting Markdown to HTML (set content_type to text/html too):
#convert_markdown: true
# Optional attachments:
#attachments: attachments.zip,git.diff,./dist/static/*.js
# Optional priority: 'high', 'normal' (default) or 'low'
#priority: low
148 changes: 0 additions & 148 deletions .github/disabled_flow/main.yml

This file was deleted.

42 changes: 0 additions & 42 deletions .github/workflows/lint.yml

This file was deleted.

98 changes: 98 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@

# This is a workflow to build, deploy and test A-Frame applications.
name: VRspace Deployment Pipeline

# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches:
- master
- lint-test
pull_request:
branches: [ "master" ]

env:
Name : vrspace
Project_Name : metaverse-363005
Cluster_name : vrspace-cluster
Server_Name : vrspace-server
Service_Name : vrspace-service
Ext_IP: 104.154.136.216
URL: https://vrspace.endpoints.metaverse-363005.cloud.goog
pkgname: vr.ball.application
req_path: /content/worlds/solipsisworld/movements.html

jobs:
build_deploy_test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install SSH Key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.RSA_KEY }}
known_hosts: 'placeholder'

- name: Adding Known Hosts
run: ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts

- name: Setting up
uses: google-github-actions/setup-gcloud@v0
with:
version: '286.0.0'
service_account_key: ${{ secrets.GCP_KEY }}
service_account_email: ${{ secrets.SERVICE_EMAIL }}
project_id: ${{ env.Project_Name }}

- name: Copy files to remote vm
run: rsync -avz -e "ssh -p 22" ./ ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:/home/${{ secrets.SSH_USER }}/project/${{ env.Name }} --delete

- name: Authenticate Docker
run: |-
gcloud auth configure-docker -q
- name: Build Docker Image
run: |-
docker build -t vrspace .

- name: Tag Docker Image
run: |-
docker tag vrspace gcr.io/${{ env.Project_Name }}/${{ env.Name }}

- name: Push Docker Image
run: |-
docker push gcr.io/${{ env.Project_Name }}/${{ env.Name }}

- name: Deploy Docker Image and push as HTTPS
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.RSA_KEY }}
port: 22
script: |
gcloud endpoints services deploy /home/${{ secrets.SSH_USER }}/project/${{ env.Name }}/openapi.yaml
gcloud container clusters create ${{ env.Cluster_name }} 2> /dev/null
gcloud container clusters get-credentials ${{ env.Cluster_name }}
kubectl delete service ${{ env.Service_Name }}
kubectl delete deployment ${{ env.Server_Name }}
sleep 10
helm install nginx-stable/nginx-ingress --set controller.service.loadBalancerIP="${{ env.Ext_IP }}",rbac.create=true --generate-name
kubectl create deployment ${{ env.Server_Name }} --image=gcr.io/${{ env.Project_Name }}/${{ env.Name }}
kubectl expose deployment ${{ env.Server_Name }} --name=${{ env.Service_Name }} --type=LoadBalancer --port=80 --target-port=8080 --load-balancer-ip=104.197.66.108
sleep 60
kubectl apply -f /home/${{ secrets.SSH_USER }}/project/${{ env.Name }}/ingress.yaml
chmod +x /home/${{ secrets.SSH_USER }}/project/${{ env.Name }}/cert-manager_install.sh && /home/${{ secrets.SSH_USER }}/project/${{ env.Name }}/cert-manager_install.sh
export EMAIL=${{ secrets.SERVICE_EMAIL }}
cat /home/${{ secrets.SSH_USER }}/project/${{ env.Name }}/letsencrypt-issuer.yaml | sed -e "s/email: ''/email: $EMAIL/g" | kubectl apply -f-
kubectl apply -f /home/${{ secrets.SSH_USER }}/project/${{ env.Name }}/ingress-tls.yaml
sleep 30
echo -n ${{ env.URL }} > ~/temp.txt
echo -n ${{ env.req_path }} >> ~/temp.txt
/home/${{ secrets.SSH_USER }}/testproject/code/webapp_test.py $(<~/temp.txt)
/usr/bin/python3 /home/${{ secrets.SSH_USER }}/project/${{ env.Name }}/gen.py --pkgname "${{ env.pkgname }}" --long "VRspace Application" --short "VR" --url "${{ env.URL }}" --path "/home/${{ secrets.SSH_USER }}/project/${{ env.Name }}/content/worlds/solipsisworld/" --html "movements.html"
/usr/bin/sshpass -f /home/${{ secrets.SSH_USER }}/project/winpass.txt ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.WINDOWS_HOST }} 'mkdir .\Documents\${{ env.Name }}'
/usr/bin/sshpass -f /home/${{ secrets.SSH_USER }}/project/winpass.txt ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.WINDOWS_HOST }} 'del .\Documents\${{ env.Name }}\* /S /Q'
/usr/bin/sshpass -f /home/${{ secrets.SSH_USER }}/project/winpass.txt ssh -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.WINDOWS_HOST }} 'wget ${{ env.URL }}/manifest.json -P .\Documents\${{ env.Name }} && ovr-platform-util.exe create-pwa -o .\Documents\${{ env.Name }}\output.apk --android-sdk %androidsdk% --package-name ${{ env.pkgname }} --manifest-content-file .\Documents\${{ env.Name }}\manifest.json'
/usr/bin/sshpass -f /home/${{ secrets.SSH_USER }}/project/winpass.txt scp -o StrictHostKeyChecking=no ${{ secrets.SSH_USER }}@${{ secrets.WINDOWS_HOST }}:Documents/${{ env.Name }}/output.apk /home/${{ secrets.SSH_USER }}/project/${{ env.Name }}/output.apk
Loading