0
0
mirror of https://github.com/sp-tarkov/build.git synced 2025-02-12 21:10:46 -05:00

Move versions step to the prepare job so all builds run at same time

This commit is contained in:
Refringe 2024-03-11 23:50:58 -04:00
parent 86c59447f5
commit a822fc4c12
Signed by: Refringe
GPG Key ID: 7715B85B4A6306ED

View File

@ -16,6 +16,8 @@ jobs:
branch_modules: ${{ steps.determine-context.outputs.branch_modules }}
branch_launcher: ${{ steps.determine-context.outputs.branch_launcher }}
target_tag: ${{ steps.determine-context.outputs.target_tag }}
client_version: ${{ steps.versions.outputs.client_version }}
spt_version: ${{ steps.versions.outputs.spt_version }}
steps:
- name: Determine Build Context
id: determine-context
@ -71,6 +73,37 @@ jobs:
echo "Required branch/tag not found in one or more repositories, halting workflow."
exit 1
- name: Extract Versions
id: versions
run: |
rm -rf /workspace/refringe/Build/server-core
git init /workspace/refringe/Build/server-core
cd /workspace/refringe/Build/server-core
git remote add origin https://dev.sp-tarkov.com/SPT-AKI/Server.git
git config core.sparseCheckout true
echo "project/assets/configs/core.json" >> .git/info/sparse-checkout
if [[ "${{ steps.determine-context.outputs.is_nightly }}" == "true" ]]; then
REF=${{ steps.determine-context.outputs.branch_server }}
else
REF=${{ steps.determine-context.outputs.target_tag }}
fi
# Fetch and checkout the specific reference (branch or tag)
git fetch --depth=1 origin "${REF}"
git checkout FETCH_HEAD
ls -la project/assets/configs
# Extract versions from core.json
cd project/assets/configs
SPT_VERSION=$(jq -r '.akiVersion' core.json)
FULL_VERSION=$(jq -r '.compatibleTarkovVersion' core.json)
CLIENT_VERSION=${FULL_VERSION##*.}
echo "::set-output name=client_version::${CLIENT_VERSION}"
echo "::set-output name=spt_version::${SPT_VERSION}"
shell: bash
build-server:
needs: [prepare]
if: needs.prepare.outputs.proceed == 'true'
@ -79,8 +112,6 @@ jobs:
image: refringe/spt-build-node:1.0.5
outputs:
build_type: ${{ steps.build-type.outputs.build_type }}
client_version: ${{ steps.version.outputs.client_version }}
spt_version: ${{ steps.version.outputs.spt_version }}
steps:
- name: Clone
run: |
@ -141,17 +172,6 @@ jobs:
echo "::set-output name=build_type::${BUILD_TYPE}"
shell: bash
- name: Determine Versions
id: version
run: |
cd /workspace/refringe/Build/server/project/assets/configs
SPT_VERSION=$(jq -r '.akiVersion' core.json)
FULL_VERSION=$(jq -r '.compatibleTarkovVersion' core.json)
CLIENT_VERSION=${FULL_VERSION##*.}
echo "::set-output name=client_version::${CLIENT_VERSION}"
echo "::set-output name=spt_version::${SPT_VERSION}"
shell: bash
- name: Install Dependencies
run: |
cd /workspace/refringe/Build/server/project
@ -177,7 +197,7 @@ jobs:
overwrite: true
build-modules:
needs: [prepare, build-server]
needs: [prepare]
if: needs.prepare.outputs.proceed == 'true'
runs-on: ubuntu-latest
container:
@ -198,8 +218,8 @@ jobs:
- name: Download Client Module Package
run: |
DIR_MANAGED="/workspace/refringe/Build/modules/project/Shared/Managed"
DOWNLOAD_PATH="$DIR_MANAGED/${{ needs.build-server.outputs.client_version }}.zip"
DOWNLOAD_URL="${{ secrets.MODULE_DOMAIN }}/${{ needs.build-server.outputs.client_version }}.zip"
DOWNLOAD_PATH="$DIR_MANAGED/${{ needs.prepare.outputs.client_version }}.zip"
DOWNLOAD_URL="${{ secrets.MODULE_DOMAIN }}/${{ needs.prepare.outputs.client_version }}.zip"
echo "Downloading Client Module Package from $DOWNLOAD_URL to $DOWNLOAD_PATH"
mkdir -p "$DIR_MANAGED"
wget -q -O "$DOWNLOAD_PATH" "$DOWNLOAD_URL" || {
@ -216,14 +236,14 @@ jobs:
- name: Decompress Client Module Package
run: |
cd /workspace/refringe/Build/modules/project/Shared/Managed
7z x ${{ needs.build-server.outputs.client_version }}.zip -aoa
7z x ${{ needs.prepare.outputs.client_version }}.zip -aoa
echo "Client module package decompressed."
shell: bash
- name: Delete Client Module Package
run: |
cd /workspace/refringe/Build/modules/project/Shared/Managed
rm -f ${{ needs.build-server.outputs.client_version }}.zip
rm -f ${{ needs.prepare.outputs.client_version }}.zip
echo "Client module package deleted."
shell: bash
@ -245,7 +265,7 @@ jobs:
overwrite: true
build-launcher:
needs: [prepare, build-server]
needs: [prepare]
if: needs.prepare.outputs.proceed == 'true'
runs-on: ubuntu-latest
container:
@ -329,8 +349,8 @@ jobs:
id: generate-filename
run: |
BUILD_TYPE=${{ needs.build-server.outputs.build_type }}
SPT_VERSION=${{ needs.build-server.outputs.spt_version }}
CLIENT_VERSION=${{ needs.build-server.outputs.client_version }}
SPT_VERSION=${{ needs.prepare.outputs.spt_version }}
CLIENT_VERSION=${{ needs.prepare.outputs.client_version }}
DATE=$(date +%Y%m%d)
# Make BUILD_TYPE uppercase