sociallydistant/.gitlab-ci.yml

88 lines
3.2 KiB
YAML
Raw Permalink Normal View History

2024-07-21 20:39:45 -04:00
stages:
- legal
2024-07-21 20:39:45 -04:00
- build
- deploy
2024-07-21 20:39:45 -04:00
check_signoff:
stage: legal
image: cr.acidiclight.dev/docker-images/tinygit/tinygit:latest
2024-10-16 20:02:54 -04:00
script: |
COMMITTER_EMAIL=$(git log -1 --pretty=format:'%ae')
MAINTAINER_CHECK=$(curl -s --header "PRIVATE-TOKEN: $CI_PRIVILEGED_ACCESS_TOKEN" "https://gitlab.acidiclight.dev/api/v4/projects/$CI_PROJECT_ID/members/all" | jq --arg EMAIL "$COMMITTER_EMAIL" '.[] | select(.email == $EMAIL and .access_level >= 40)')
2024-10-16 19:57:35 -04:00
if [ -z "$MAINTAINER_CHECK" ]; then echo $CI_COMMIT_MESSAGE | grep "Signed-off-by: $CI_COMMIT_AUTHOR"; fi
# Makes sure the base game compiles.
build_os_linux:
stage: build
image: cr.acidiclight.dev/docker-images/monogame-linux-build/dotnet-mgcb:latest
before_script:
- mkdir bin
script:
- dotnet build -c release src
after_script:
- dotnet publish src/SociallyDistant -r linux-x64 -c release --self-contained -o bin/linux-x64;
artifacts:
name: "socially-distant-linux-amd64-$CI_COMMIT_REF_SLUG"
paths:
- bin/linux-x64
build_os_windows:
stage: build
image: mcr.microsoft.com/dotnet/sdk:8.0-windowsservercore-ltsc2022
tags:
- windows
before_script:
- echo "Download Visual C++ Redistributable installers"
- Invoke-WebRequest -Uri "https://aka.ms/vs/16/release/vc_redist.x64.exe" -OutFile "C:\vc_redist2010.exe"
- Invoke-WebRequest -Uri "https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe" -OutFile "C:\vc_redist2012.exe"
- Invoke-WebRequest -Uri "https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe" -OutFile "C:\vc_redist2013.exe"
- Invoke-WebRequest -Uri "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "C:\vc_redist2015-2022.exe"
- echo "Install VC++ Redistributables"
- Start-Process -FilePath "C:\vc_redist2010.exe" -ArgumentList "/install /quiet /norestart" -Wait
- Start-Process -FilePath "C:\vc_redist2012.exe" -ArgumentList "/install /quiet /norestart" -Wait
- Start-Process -FilePath "C:\vc_redist2013.exe" -ArgumentList "/install /quiet /norestart" -Wait
- Start-Process -FilePath "C:\vc_redist2015-2022.exe" -ArgumentList "/install /quiet /norestart" -Wait
script:
- mkdir bin
- echo "Starting the Windows build..."
- dotnet publish -c release -r win-x64 --self-contained -o bin/win-x64 src/SociallyDistant
artifacts:
name: "socially-distant-windows-x64-$CI_COMMIT_REF_SLUG"
paths:
- bin/win-x64
2024-10-22 18:46:53 -04:00
steam:
stage: deploy
2024-10-22 20:02:30 -04:00
variables:
SOCIALLY_DISTANT_OS: "$CI_PROJECT_URL"
SOCIALLY_DISTANT_SHA: "$CI_COMMIT_SHA"
BUILD_TAG: "$CI_COMMIT_TAG"
BUILD_BRANCH: "$CI_COMMIT_REF_NAME"
2024-10-22 20:22:36 -04:00
BUILD_IDENTIFIER: "$CI_COMMIT_SHORT_SHA"
2024-10-22 18:46:53 -04:00
trigger:
project: sociallydistant/career-build-pipeline
branch: main
2024-10-22 18:46:53 -04:00
strategy: depend
only:
- master
- devel
2024-10-22 20:40:30 -04:00
- tags
2024-11-03 14:23:20 -05:00
except:
- merge_requests
2024-10-22 18:46:53 -04:00
update_online_manual:
2024-10-18 23:24:53 -04:00
stage: deploy
image: cr.acidiclight.dev/docker-images/monogame-linux-build/dotnet-mgcb:latest
before_script:
- dotnet tool update -g docfx
script:
2024-10-18 23:35:02 -04:00
- export PATH="$PATH:$HOME/.dotnet/tools"
2024-10-18 23:24:53 -04:00
- docfx
artifacts:
paths:
- public
only:
- master
2024-11-03 14:23:20 -05:00
except:
- merge_requests