2024-07-21 20:39:45 -04:00
|
|
|
stages:
|
2024-10-16 19:44:14 -04:00
|
|
|
- legal
|
2024-07-21 20:39:45 -04:00
|
|
|
- build
|
2024-07-21 22:13:54 -04:00
|
|
|
- deploy
|
2024-07-21 20:39:45 -04:00
|
|
|
|
2024-10-16 19:44:14 -04:00
|
|
|
check_signoff:
|
|
|
|
stage: legal
|
2024-10-16 20:02:54 -04:00
|
|
|
script: |
|
2024-10-16 19:58:17 -04:00
|
|
|
set -x
|
2024-10-16 19:46:28 -04:00
|
|
|
COMMITTER_EMAIL=$(git log -1 --pretty=format:'%ae')
|
|
|
|
PROJECT_ID=$(curl --header "PRIVATE-TOKEN: $GITLAB_API_TOKEN" https://gitlab.com/api/v4/projects?search=$CI_PROJECT_PATH | jq '.[0].id')
|
|
|
|
MAINTAINER_CHECK=$(curl --header "PRIVATE-TOKEN: $GITLAB_API_TOKEN" "https://gitlab.com/api/v4/projects/$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
|
2024-07-21 21:53:50 -04:00
|
|
|
|
2024-07-21 22:21:06 -04:00
|
|
|
# Makes sure the base game compiles.
|
2024-07-21 21:53:50 -04:00
|
|
|
build_base:
|
|
|
|
stage: build
|
2024-10-16 17:56:37 -04:00
|
|
|
image: cr.acidiclight.dev/docker-images/monogame-linux-build/dotnet-mgcb:latest
|
2024-08-21 21:23:31 -04:00
|
|
|
script:
|
2024-08-21 21:29:42 -04:00
|
|
|
- if (dotnet nuget list source | grep gitlab); then dotnet nuget remove source gitlab; fi
|
|
|
|
- dotnet nuget add source -n gitlab https://gitlab.acidiclight.dev/api/v4/projects/13/packages/nuget/index.json
|
2024-08-21 21:23:31 -04:00
|
|
|
- dotnet build -c release src
|
2024-07-21 22:13:54 -04:00
|
|
|
|
|
|
|
publish_linux:
|
|
|
|
stage: deploy
|
2024-10-16 17:56:37 -04:00
|
|
|
image: cr.acidiclight.dev/docker-images/monogame-linux-build/dotnet-mgcb:latest
|
2024-08-21 21:23:31 -04:00
|
|
|
script:
|
|
|
|
- mkdir bin;
|
2024-08-21 21:29:42 -04:00
|
|
|
- if (dotnet nuget list source | grep gitlab); then dotnet nuget remove source gitlab; fi
|
|
|
|
- dotnet nuget add source -n gitlab https://gitlab.acidiclight.dev/api/v4/projects/13/packages/nuget/index.json
|
2024-08-21 21:23:31 -04:00
|
|
|
- dotnet publish src/SociallyDistant -r linux-x64 -c release --self-contained -o bin/linux-x64;
|
2024-07-21 22:13:54 -04:00
|
|
|
artifacts:
|
|
|
|
name: socially-distant-linux-amd64-release
|
|
|
|
paths:
|
|
|
|
- bin/linux-x64
|