--- /dev/null
+name: Publish Testing
+
+concurrency:
+ group: publish-testing
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '0 10 * * *'
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v3.6.0
+ with:
+ submodules: 'recursive'
+ - name: Setup .NET Core
+ uses: actions/setup-dotnet@v3.2.0
+ with:
+ dotnet-version: 9.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: Publish version
+ run: Tools/publish_multi_request.py --fork-id wizards-testing
+ env:
+ PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }}
+ GITHUB_REPOSITORY: ${{ vars.GITHUB_REPOSITORY }}
#!/usr/bin/env python3
+import argparse
import requests
import os
import subprocess
FORK_ID = "wizards"
def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--fork-id", default=FORK_ID)
+
+ args = parser.parse_args()
+ fork_id = args.fork_id
+
session = requests.Session()
session.headers = {
"Authorization": f"Bearer {PUBLISH_TOKEN}",
headers = {
"Content-Type": "application/json"
}
- resp = session.post(f"{ROBUST_CDN_URL}fork/{FORK_ID}/publish/start", json=data, headers=headers)
+ resp = session.post(f"{ROBUST_CDN_URL}fork/{fork_id}/publish/start", json=data, headers=headers)
resp.raise_for_status()
print("Publish successfully started, adding files...")
"Robust-Cdn-Publish-File": os.path.basename(file),
"Robust-Cdn-Publish-Version": VERSION
}
- resp = session.post(f"{ROBUST_CDN_URL}fork/{FORK_ID}/publish/file", data=f, headers=headers)
+ resp = session.post(f"{ROBUST_CDN_URL}fork/{fork_id}/publish/file", data=f, headers=headers)
resp.raise_for_status()
headers = {
"Content-Type": "application/json"
}
- resp = session.post(f"{ROBUST_CDN_URL}fork/{FORK_ID}/publish/finish", json=data, headers=headers)
+ resp = session.post(f"{ROBUST_CDN_URL}fork/{fork_id}/publish/finish", json=data, headers=headers)
resp.raise_for_status()
print("SUCCESS!")