Publish #77
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish | |
#concurrency: | |
# group: publish | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 6 * * *' | |
workflow_run: | |
workflows: [Build & Test Release] | |
types: [completed] | |
jobs: | |
build: | |
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install dependencies | |
run: sudo apt-get install -y python3-paramiko python3-lxml | |
- uses: actions/[email protected] | |
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 clone [email protected]:corvax-nexus/secrets.git Secrets | |
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/[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 linux-x64 | |
- name: Package client | |
run: dotnet run --project Content.Packaging client --no-wipe-release | |
- name: Update Build Info | |
run: | | |
chmod +x Tools/gen_build_info.py | |
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/[email protected] | |
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 }} | |
- name: Update manifest JSON | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.BUILDS_HOST }} | |
username: ${{ secrets.BUILDS_USERNAME }} | |
key: ${{ secrets.BUILDS_SSH_KEY }} | |
port: ${{ secrets.BUILDS_PORT }} | |
script: python3 ~/manifest.py --version ${{ github.sha }} | |
- name: Update CDN repository | |
run: | | |
curl -X POST -d "" -H 'Authorization: Bearer ${{ secrets.BUILDS_TOKEN }}' "http://${{ secrets.BUILDS_HOST }}:27690/control/update" | |
#- name: Upload build artifact | |
# id: artifact-upload-step | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: build | |
# path: release/*.zip | |
# compression-level: 0 | |
# retention-days: 0 | |
#- name: Publish version | |
# run: Tools/publish_github_artifact.py | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }} | |
# ARTIFACT_ID: ${{ steps.artifact-upload-step.outputs.artifact-id }} | |
# GITHUB_REPOSITORY: ${{ vars.GITHUB_REPOSITORY }} | |
# - 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 }} | |
# - name: Publish changelog (RSS) | |
# run: Tools/actions_changelog_rss.py | |
# env: | |
# CHANGELOG_RSS_KEY: ${{ secrets.CHANGELOG_RSS_KEY }} | |
#- uses: geekyeggo/delete-artifact@v5 | |
# if: always() | |
# with: | |
# name: build |