mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 18:31:17 +03:00
123 lines
4.4 KiB
YAML
123 lines
4.4 KiB
YAML
name: Publish
|
|
|
|
concurrency:
|
|
group: publish
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '0 1 * * *'
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Fail if we are attempting to run on the master branch
|
|
if: ${{GITHUB.REF_NAME == 'master' && github.repository == 'space-wizards/space-station-14'}}
|
|
run: exit 1
|
|
|
|
# - name: Install dependencies
|
|
# run: sudo apt-get install -y python3-paramiko python3-lxml
|
|
|
|
- uses: actions/checkout@v7
|
|
with:
|
|
submodules: 'recursive'
|
|
fetch-depth: 0
|
|
filter: blob:none
|
|
|
|
# Corvax-Secrets-Start
|
|
- name: Setup secrets
|
|
env:
|
|
SSH_KEY: ${{ secrets.SECRETS_PRIVATE_KEY }}
|
|
if: ${{ env.SSH_KEY != '' }}
|
|
run: |
|
|
mkdir -p ~/.ssh
|
|
echo "${{ secrets.SECRETS_PRIVATE_KEY }}" > ~/.ssh/id_rsa
|
|
chmod 600 ~/.ssh/id_rsa
|
|
echo "HOST *" > ~/.ssh/config
|
|
echo " Hostname github.com" >> ~/.ssh/config
|
|
echo " Port 22" >> ~/.ssh/config
|
|
echo " StrictHostKeyChecking no" >> ~/.ssh/config
|
|
git clone git@github.com: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
|
|
cp -R Secrets/Resources/Audio Resources/Audio/CorvaxSecrets
|
|
# Corvax-Secrets-End
|
|
|
|
- name: Setup .NET Core
|
|
uses: actions/setup-dotnet@v5
|
|
with:
|
|
dotnet-version: 10.0.x
|
|
|
|
- name: Get Engine Tag
|
|
run: |
|
|
cd RobustToolbox
|
|
git fetch --depth=1
|
|
|
|
- name: Install dependencies
|
|
run: dotnet restore
|
|
|
|
# - name: Update changelog
|
|
# run: |
|
|
# dotnet tool install --global SpaceWizards.ChangelogTool --version 1.0.7
|
|
# ss14-changelog update -d Resources/Changelog
|
|
# env:
|
|
# REPO: ${{ github.repository }}
|
|
# BRANCH: stable
|
|
# CHANGELOG_REPO_PATH: Resources/Changelog
|
|
# EXTRA_CATEGORIES: Admin,Maps,Rules
|
|
# GITHUB_TOKEN: ${{ secrets.CL_ACCESS_TOKEN }}
|
|
|
|
# - name: Commit and push changelog changes
|
|
# id: changelog
|
|
# run: |
|
|
# git config user.name "Space-Wizards-Bot"
|
|
# git config user.email "support@spacestation14.com"
|
|
# if [ -n "$(git status --porcelain Resources/Changelog)" ]; then
|
|
# git add Resources/Changelog
|
|
# git commit -m "Update changelog"
|
|
# git remote set-url origin "https://x-access-token:${CL_ACCESS_TOKEN}@github.com/${GITHUB_REPOSITORY}.git"
|
|
# git push origin "HEAD:${GITHUB_REF_NAME}"
|
|
# echo "committed=true" >> "$GITHUB_OUTPUT"
|
|
# fi
|
|
# env:
|
|
# CL_ACCESS_TOKEN: ${{ secrets.CL_ACCESS_TOKEN }}
|
|
|
|
# - name: Create PR from stable to master
|
|
# if: steps.changelog.outputs.committed == 'true'
|
|
# env:
|
|
# GH_TOKEN: ${{ secrets.CL_ACCESS_TOKEN }}
|
|
# run: |
|
|
# if [ -z "$(gh pr list --repo "$GITHUB_REPOSITORY" --head stable --base master --state open --json number --jq '.[].number')" ]; then
|
|
# gh pr create --repo "$GITHUB_REPOSITORY" --base master --head stable --title "Update changelog" --body "Sync from release to master."
|
|
# fi
|
|
|
|
- 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 win-arm64 --platform linux-x64 --platform linux-arm64 --platform osx-x64 --platform osx-arm64
|
|
|
|
- name: Package client
|
|
run: dotnet run --project Content.Packaging client --no-wipe-release
|
|
|
|
- name: Publish version
|
|
run: Tools/publish_multi_request.py
|
|
env:
|
|
PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }}
|
|
GITHUB_REPOSITORY: ${{ vars.GITHUB_REPOSITORY }}
|
|
FORK_ID: ${{ vars.FORK_ID }}
|
|
|
|
# - 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)
|
|
# continue-on-error: true
|
|
# run: Tools/actions_changelog_rss.py
|
|
# env:
|
|
# CHANGELOG_RSS_KEY: ${{ secrets.CHANGELOG_RSS_KEY }}
|