Skip to content

Publish

Publish #656

Workflow file for this run

name: Publish
concurrency:
group: publish
on:
workflow_dispatch:
# schedule:
# - cron: '0 1 * * *'
jobs:
build:
name: deploy to staging
runs-on: ubuntu-latest
steps:
- name: check if need to update
uses: appleboy/ssh-action@master
with:
host: cdn.backmen.ru
username: buildbot
key: ${{ secrets.BACKMEN_BUILDS_PUSH_KEY }}
script: |
if [ -d "/opt/builds/${{ github.sha }}" ]
then
echo "Directory /opt/builds/${{ github.sha }} exists."
throw "Error: Directory /opt/builds/${{ github.sha }} exists."
fi
- name: Install dependencies
run: sudo apt-get install -y python3-paramiko python3-lxml
- uses: actions/[email protected]
with:
submodules: 'recursive'
- name: Setup .NET Core
uses: actions/[email protected]
with:
dotnet-version: 8.0.x
- name: Get Engine Tag
run: |
cd RobustToolbox
git fetch --depth=1
- name: Install dependencies
run: dotnet restore
- name: Build Packaging
run: dotnet build Content.Packaging --configuration Release --no-restore /m
- name: Package server
run: dotnet run --project Content.Packaging server --platform win-x64 --platform linux-x64 --platform osx-x64 --platform linux-arm64
- name: Package client
run: dotnet run --project Content.Packaging client --no-wipe-release
- name: Update Build Info
run: Tools/gen_build_info.py
- name: Shuffle files around
run: |
mkdir "release/${{ github.sha }}"
mv release/*.zip "release/${{ github.sha }}"
- name: Upload files to backmen
uses: appleboy/scp-action@master
with:
host: cdn.backmen.ru
username: buildbot
key: ${{ secrets.BACKMEN_BUILDS_PUSH_KEY }}
source: "release/${{ github.sha }}"
target: "/opt/builds/"
strip_components: 1
tar_tmp_path: "/tmp/"
- name: Update cdn
uses: appleboy/ssh-action@master
with:
host: cdn.backmen.ru
username: buildbot
key: ${{ secrets.BACKMEN_BUILDS_PUSH_KEY }}
script: "curl -X POST -d \"\" -H 'Authorization: Bearer ${{ secrets.CDN_TOKEN }}' http://localhost:5001/control/update"
- name: Update manifest JSON
uses: appleboy/ssh-action@master
with:
host: cdn.backmen.ru
username: buildbot
key: ${{ secrets.BACKMEN_BUILDS_PUSH_KEY }}
script: "python3 /opt/push.py"