mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-28 23:52:36 +01:00
69 lines
2.4 KiB
YAML
69 lines
2.4 KiB
YAML
name: Nix Deployment
|
|
|
|
on:
|
|
workflow_call:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
update-nix:
|
|
name: Update Nix SHA (master)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Install Native Packages # Name checked in rerunFlakyTests.js
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y xmlstarlet
|
|
|
|
- name: Setup Nix
|
|
uses: cachix/install-nix-action@v30
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
|
|
- name: Generate App Token
|
|
id: app-token-generation
|
|
uses: actions/create-github-app-token@v1
|
|
with:
|
|
repositories: tgstation-ppa
|
|
app-id: ${{ secrets.APP_ID }}
|
|
private-key: ${{ secrets.APP_PRIVATE_KEY }}
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
token: ${{ steps.app-token-generation.outputs.token }}
|
|
ref: master
|
|
fetch-tags: true
|
|
|
|
- name: Parse TGS version
|
|
run: echo "TGS_VERSION=$(xmlstarlet sel -N X="http://schemas.microsoft.com/developer/msbuild/2003" --template --value-of /X:Project/X:PropertyGroup/X:TgsCoreVersion build/Version.props)" >> $GITHUB_ENV
|
|
|
|
- name: Retrieve ServerConsole.zip Artifact
|
|
run: |
|
|
curl -L https://github.com/tgstation/tgstation-server/releases/download/tgstation-server-v${{ env.TGS_VERSION }}/ServerConsole.zip -f -o ServerConsole.zip
|
|
unzip ServerConsole.zip -d release
|
|
|
|
- name: Regenerate Nix Hash
|
|
run: |
|
|
nix hash path ./release > build/package/nix/ServerConsole.sha256
|
|
cat build/package/nix/ServerConsole.sha256
|
|
rm -rf ./release ServerConsole.zip
|
|
|
|
- name: Commit
|
|
run: |
|
|
git config --global push.default simple
|
|
git config user.name "tgstation-server-ci[bot]"
|
|
git config user.email "161980869+tgstation-server-ci[bot]@users.noreply.github.com"
|
|
git add build/package/nix/ServerConsole.sha256
|
|
git commit -m "Update nix SHA256 for TGS v${{ env.TGS_VERSION }}"
|
|
|
|
- name: Re-tag
|
|
run: |
|
|
git tag -d tgstation-server-v${{ env.TGS_VERSION }}
|
|
git tag -a tgstation-server-v${{ env.TGS_VERSION }} -m tgstation-server-v${{ env.TGS_VERSION }}
|
|
|
|
- name: Push Commit
|
|
run: git push "https://tgstation-server-ci:${{ steps.app-token-generation.outputs.token }}@github.com/tgstation/tgstation-server"
|
|
|
|
- name: Force Push Tags
|
|
run: git push -f origin tag tgstation-server-v${{ env.TGS_VERSION }}
|