CatStation/.github/workflows/publish.yml
Morb0 611bfea5ff Merge remote-tracking branch 'upstream/master' into update-sposnors
# Conflicts:
#	.github/workflows/publish.yml
#	Content.Packaging/ContentPackaging.cs
#	Content.Server/Chat/Managers/ChatManager.cs
#	Content.Server/GameTicking/GameTicker.StatusShell.cs
#	Resources/Audio/Weapons/Guns/Gunshots/license.txt
#	Resources/Prototypes/Roles/Jobs/Security/senior_officer.yml
#	Resources/Textures/Structures/Doors/Airlocks/Glass/syndicate.rsi/closed.png
#	Resources/Textures/Structures/Doors/Airlocks/Glass/syndicate.rsi/closing.png
#	Resources/Textures/Structures/Doors/Airlocks/Glass/syndicate.rsi/open.png
#	Resources/Textures/Structures/Doors/Airlocks/Glass/syndicate.rsi/opening.png
#	Resources/Textures/Structures/Doors/Airlocks/Standard/syndicate.rsi/closed.png
#	Resources/Textures/Structures/Doors/Airlocks/Standard/syndicate.rsi/closing.png
#	Resources/Textures/Structures/Doors/Airlocks/Standard/syndicate.rsi/open.png
#	Resources/Textures/Structures/Doors/Airlocks/Standard/syndicate.rsi/opening.png
2023-11-08 03:00:51 +03:00

101 lines
3.1 KiB
YAML

name: Publish
concurrency:
group: publish
on:
workflow_dispatch:
schedule:
- cron: '0 6 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
# - name: Install dependencies
# run: sudo apt-get install -y python3-paramiko
- uses: actions/checkout@v3.6.0
with:
submodules: 'recursive'
# Corvax-Secrets-Start
- name: Setup secrets
env:
SSH_KEY: ${{ secrets.SECRETS_PRIVATE_KEY }}
if: ${{ env.SSH_KEY != '' }}
run: |
mkdir ~/.ssh
echo "${{ secrets.SECRETS_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
echo "HOST *" > ~/.ssh/config
echo "StrictHostKeyChecking no" >> ~/.ssh/config
git -c submodule.Secrets.update=checkout submodule update --init
cp -R Secrets/Resources/Prototypes Resources/Prototypes/CorvaxSecrets
cp -R Secrets/Resources/ServerPrototypes Resources/Prototypes/CorvaxSecretsServer
cp -R Secrets/Resources/Locale Resources/Locale/ru-RU/corvax-secrets
cp -R Secrets/Resources/Textures Resources/Textures/CorvaxSecrets
# Corvax-Secrets-End
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 7.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
env:
FORK_ID: ${{ vars.FORK_ID }}
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 mothership
uses: burnett01/rsync-deployments@5.2
with:
switches: -avzr --ignore-existing
path: "release/${{ github.sha }}"
remote_path: ${{ secrets.BUILDS_PATH }}
remote_host: ${{ secrets.BUILDS_HOST }}
remote_user: ${{ secrets.BUILDS_USERNAME }}
remote_key: ${{ secrets.BUILDS_SSH_KEY }}
- name: Update manifest JSON
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.BUILDS_HOST }}
username: ${{ secrets.BUILDS_USERNAME }}
key: ${{ secrets.BUILDS_SSH_KEY }}
script: node ~/scripts/push_to_manifest.js -fork ${{ vars.FORK_ID }} -id ${{ github.sha }}
# - name: Publish changelog (Discord)
# run: Tools/actions_changelogs_since_last_run.py
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# DISCORD_WEBHOOK_URL: ${{ secrets.CHANGELOG_DISCORD_WEBHOOK }}
# TRANSLATION_API_URL: ${{ secrets.CHANGELOG_TRANSLATION_API_URL }}
#
# - name: Publish changelog (RSS)
# run: Tools/actions_changelog_rss.py
# env:
# CHANGELOG_RSS_KEY: ${{ secrets.CHANGELOG_RSS_KEY }}