Files
OldThink/.github/workflows/publish.yml

93 lines
2.6 KiB
YAML

name: Publish
concurrency:
group: publish
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: sudo apt-get install -y python3-paramiko python3-lxml
- uses: actions/checkout@v3.6.0
with:
submodules: 'recursive'
- name: Setup .NET Core
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: '8.0.205'
- name: Get Engine Tag
run: |
cd RobustToolbox
git fetch --depth=1
- name: Update Directory.Packages.props
run: |
dotnet --list-sdks
cp -f global.json RobustToolbox/
- 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 hive
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_port: ${{ secrets.BUILDS_PORT }}
remote_user: ${{ secrets.BUILDS_USERNAME }}
remote_key: ${{ secrets.BUILDS_SSH_KEY }}
remote_key_pass: ${{ secrets.BUILDS_SSH_KEY_PASS }}
- name: Update manifest JSON
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.BUILDS_HOST }}
port: ${{ secrets.BUILDS_PORT }}
username: ${{ secrets.BUILDS_USERNAME }}
key: ${{ secrets.BUILDS_SSH_KEY }}
passphrase: ${{ secrets.BUILDS_SSH_KEY_PASS }}
script: sh ~/ss14/anvil/cortice.sh ${{ github.sha }}
- name: Publish changelog (Discord)
continue-on-error: true
run: |
Tools/actions_changelogs_since_last_run.py
exit 1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DISCORD_WEBHOOK_URL: ${{ secrets.CHANGELOG_DISCORD_WEBHOOK }}
- name: Publish changelog (RSS)
continue-on-error: true
run: |
Tools/actions_changelog_rss.py
exit 1
env:
CHANGELOG_RSS_KEY: ${{ secrets.CHANGELOG_RSS_KEY }}