Skip to content

Update dependancies and use wasm-tools #32

Update dependancies and use wasm-tools

Update dependancies and use wasm-tools #32

Workflow file for this run

name: MCTools (Beta)
on:
workflow_dispatch:
push:
branches: [ beta ]
paths:
- 'MCTools/**'
- 'MCTools.SDK/**'
pull_request:
branches: [ beta ]
paths:
- 'MCTools/**'
- 'MCTools.SDK/**'
env:
CSPROJ: MCTools/MCTools.csproj
PUBLISH_PATH: bin/Publish
RELEASE_TYPE: Release
ENVIRONMENT: Production
RELEASETYPE: Beta
SERVER_TARGET: /var/www/mctools-beta
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup .NET 8.0
uses: actions/setup-dotnet@v2
with:
dotnet-version: 8.0.x
- name: Install wasm-tools workload
run: dotnet workload install wasm-tools
- name: Restore dependencies
run: dotnet restore ${{ env.CSPROJ }}
- name: Build
run: dotnet build ${{ env.CSPROJ }} -c ${{ env.RELEASE_TYPE }} --no-restore
- name: Test
run: dotnet test ${{ env.CSPROJ }} --no-build --verbosity normal
- name: Get Git Tag
id: short-sha
run: echo "::set-output name=sha::$(echo ${GITHUB_SHA:0:7})"
- name: Variable Substitution
uses: microsoft/variable-substitution@v1
with:
files: 'MCTools/wwwroot/appsettings.json'
env:
Application.Environment: ${{ env.ENVIRONMENT }}
Application.ReleaseType: ${{ env.RELEASETYPE }}
Application.GitTag: ${{ steps.short-sha.outputs.sha }}
- name: Publish
run: dotnet publish ${{ env.CSPROJ }} -c ${{ env.RELEASE_TYPE }} -o ${{ env.PUBLISH_PATH }}
- name: Deploy
uses: appleboy/scp-action@v0.1.4
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSHKEY }}
port: ${{ secrets.PORT }}
source: "${{ env.PUBLISH_PATH }}/*"
target: ${{ env.SERVER_TARGET }}.temp
strip_components: 2
- name: Switch Active Directory
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSHKEY }}
port: ${{ secrets.PORT }}
script: |
ACTIVE_DIR=$(readlink ${{ env.SERVER_TARGET }}.live)
if [ "$ACTIVE_DIR" == "${{ env.SERVER_TARGET }}.slot1" ]; then
IDLE_SLOT_APPBETA="${{ env.SERVER_TARGET }}.slot2"
else
IDLE_SLOT_APPBETA="${{ env.SERVER_TARGET }}.slot1"
fi
sudo rm -rf $IDLE_SLOT_APPBETA
sudo mv ${{ env.SERVER_TARGET }}.temp $IDLE_SLOT_APPBETA
sudo ln -sfn $IDLE_SLOT_APPBETA ${{ env.SERVER_TARGET }}.live
sudo chown -R ${{ secrets.USERNAME }}:www-data /var/www
sudo chmod -R u+rwx /var/www
sudo chmod -R g+rwx /var/www