0
0
mirror of https://github.com/sp-tarkov/build.git synced 2025-02-13 05:50: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_modules: ${{ steps.determine-context.outputs.branch_modules }}
branch_launcher: ${{ steps.determine-context.outputs.branch_launcher }} branch_launcher: ${{ steps.determine-context.outputs.branch_launcher }}
target_tag: ${{ steps.determine-context.outputs.target_tag }} target_tag: ${{ steps.determine-context.outputs.target_tag }}
client_version: ${{ steps.versions.outputs.client_version }}
spt_version: ${{ steps.versions.outputs.spt_version }}
steps: steps:
- name: Determine Build Context - name: Determine Build Context
id: determine-context id: determine-context
@ -71,6 +73,37 @@ jobs:
echo "Required branch/tag not found in one or more repositories, halting workflow." echo "Required branch/tag not found in one or more repositories, halting workflow."
exit 1 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: build-server:
needs: [prepare] needs: [prepare]
if: needs.prepare.outputs.proceed == 'true' if: needs.prepare.outputs.proceed == 'true'
@ -79,8 +112,6 @@ jobs:
image: refringe/spt-build-node:1.0.5 image: refringe/spt-build-node:1.0.5
outputs: outputs:
build_type: ${{ steps.build-type.outputs.build_type }} build_type: ${{ steps.build-type.outputs.build_type }}
client_version: ${{ steps.version.outputs.client_version }}
spt_version: ${{ steps.version.outputs.spt_version }}
steps: steps:
- name: Clone - name: Clone
run: | run: |
@ -141,17 +172,6 @@ jobs:
echo "::set-output name=build_type::${BUILD_TYPE}" echo "::set-output name=build_type::${BUILD_TYPE}"
shell: bash 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 - name: Install Dependencies
run: | run: |
cd /workspace/refringe/Build/server/project cd /workspace/refringe/Build/server/project
@ -177,7 +197,7 @@ jobs:
overwrite: true overwrite: true
build-modules: build-modules:
needs: [prepare, build-server] needs: [prepare]
if: needs.prepare.outputs.proceed == 'true' if: needs.prepare.outputs.proceed == 'true'
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
@ -198,8 +218,8 @@ jobs:
- name: Download Client Module Package - name: Download Client Module Package
run: | run: |
DIR_MANAGED="/workspace/refringe/Build/modules/project/Shared/Managed" DIR_MANAGED="/workspace/refringe/Build/modules/project/Shared/Managed"
DOWNLOAD_PATH="$DIR_MANAGED/${{ needs.build-server.outputs.client_version }}.zip" DOWNLOAD_PATH="$DIR_MANAGED/${{ needs.prepare.outputs.client_version }}.zip"
DOWNLOAD_URL="${{ secrets.MODULE_DOMAIN }}/${{ needs.build-server.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" echo "Downloading Client Module Package from $DOWNLOAD_URL to $DOWNLOAD_PATH"
mkdir -p "$DIR_MANAGED" mkdir -p "$DIR_MANAGED"
wget -q -O "$DOWNLOAD_PATH" "$DOWNLOAD_URL" || { wget -q -O "$DOWNLOAD_PATH" "$DOWNLOAD_URL" || {
@ -216,14 +236,14 @@ jobs:
- name: Decompress Client Module Package - name: Decompress Client Module Package
run: | run: |
cd /workspace/refringe/Build/modules/project/Shared/Managed 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." echo "Client module package decompressed."
shell: bash shell: bash
- name: Delete Client Module Package - name: Delete Client Module Package
run: | run: |
cd /workspace/refringe/Build/modules/project/Shared/Managed 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." echo "Client module package deleted."
shell: bash shell: bash
@ -245,7 +265,7 @@ jobs:
overwrite: true overwrite: true
build-launcher: build-launcher:
needs: [prepare, build-server] needs: [prepare]
if: needs.prepare.outputs.proceed == 'true' if: needs.prepare.outputs.proceed == 'true'
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
@ -329,8 +349,8 @@ jobs:
id: generate-filename id: generate-filename
run: | run: |
BUILD_TYPE=${{ needs.build-server.outputs.build_type }} BUILD_TYPE=${{ needs.build-server.outputs.build_type }}
SPT_VERSION=${{ needs.build-server.outputs.spt_version }} SPT_VERSION=${{ needs.prepare.outputs.spt_version }}
CLIENT_VERSION=${{ needs.build-server.outputs.client_version }} CLIENT_VERSION=${{ needs.prepare.outputs.client_version }}
DATE=$(date +%Y%m%d) DATE=$(date +%Y%m%d)
# Make BUILD_TYPE uppercase # Make BUILD_TYPE uppercase