0
0
mirror of https://github.com/sp-tarkov/build.git synced 2025-02-13 09:50:45 -05:00

Updates build working directory

This commit is contained in:
Refringe 2024-03-26 13:17:09 -04:00
parent 9e238e9d1b
commit 006db096a5
Signed by: Refringe
GPG Key ID: 7715B85B4A6306ED

View File

@ -114,9 +114,9 @@ jobs:
- name: Extract Versions - name: Extract Versions
id: versions id: versions
run: | run: |
rm -rf /workspace/refringe/Build/server-core rm -rf /workspace/SPT-AKI/Build/server-core
git init /workspace/refringe/Build/server-core git init /workspace/SPT-AKI/Build/server-core
cd /workspace/refringe/Build/server-core cd /workspace/SPT-AKI/Build/server-core
git remote add origin https://dev.sp-tarkov.com/SPT-AKI/Server.git git remote add origin https://dev.sp-tarkov.com/SPT-AKI/Server.git
git config core.sparseCheckout true git config core.sparseCheckout true
echo "project/assets/configs/core.json" >> .git/info/sparse-checkout echo "project/assets/configs/core.json" >> .git/info/sparse-checkout
@ -145,9 +145,9 @@ jobs:
- name: Extract Mod Configurations - name: Extract Mod Configurations
id: mod-config id: mod-config
run: | run: |
rm -rf /workspace/refringe/Build/server-mods-config rm -rf /workspace/SPT-AKI/Build/server-mods-config
git init /workspace/refringe/Build/server-mods-config git init /workspace/SPT-AKI/Build/server-mods-config
cd /workspace/refringe/Build/server-mods-config cd /workspace/SPT-AKI/Build/server-mods-config
git remote add origin https://dev.sp-tarkov.com/SPT-AKI/Server.git git remote add origin https://dev.sp-tarkov.com/SPT-AKI/Server.git
git config core.sparseCheckout true git config core.sparseCheckout true
@ -196,30 +196,30 @@ jobs:
- name: Clone - name: Clone
id: clone id: clone
run: | run: |
rm -rf /workspace/refringe/Build/server rm -rf /workspace/SPT-AKI/Build/server
if [[ "${{ needs.prepare.outputs.is_nightly }}" == "true" ]]; then if [[ "${{ needs.prepare.outputs.is_nightly }}" == "true" ]]; then
BRANCH=${{ needs.prepare.outputs.branch_server }} BRANCH=${{ needs.prepare.outputs.branch_server }}
echo "Cloning branch $BRANCH" echo "Cloning branch $BRANCH"
git clone https://dev.sp-tarkov.com/SPT-AKI/Server.git --branch "$BRANCH" --depth 1 /workspace/refringe/Build/server git clone https://dev.sp-tarkov.com/SPT-AKI/Server.git --branch "$BRANCH" --depth 1 /workspace/SPT-AKI/Build/server
else else
TAG=${{ needs.prepare.outputs.target_tag }} TAG=${{ needs.prepare.outputs.target_tag }}
echo "Cloning tag $TAG" echo "Cloning tag $TAG"
git clone https://dev.sp-tarkov.com/SPT-AKI/Server.git --branch "$TAG" --depth 1 /workspace/refringe/Build/server git clone https://dev.sp-tarkov.com/SPT-AKI/Server.git --branch "$TAG" --depth 1 /workspace/SPT-AKI/Build/server
fi fi
cd /workspace/refringe/Build/server cd /workspace/SPT-AKI/Build/server
echo "::set-output name=server_commit::$(git rev-parse --short HEAD)" echo "::set-output name=server_commit::$(git rev-parse --short HEAD)"
shell: bash shell: bash
- name: Pull LFS Files - name: Pull LFS Files
run: | run: |
cd /workspace/refringe/Build/server cd /workspace/SPT-AKI/Build/server
git lfs pull && git lfs ls-files git lfs pull && git lfs ls-files
shell: bash shell: bash
- name: Runner Debug Information - name: Runner Debug Information
run: | run: |
cd /workspace/refringe/Build/server cd /workspace/SPT-AKI/Build/server
echo "Git version: $(git --version)" echo "Git version: $(git --version)"
echo "Git LFS version: $(git-lfs --version)" echo "Git LFS version: $(git-lfs --version)"
echo "Node.js version: $(node --version)" echo "Node.js version: $(node --version)"
@ -231,7 +231,7 @@ jobs:
- name: Install Dependencies - name: Install Dependencies
run: | run: |
cd /workspace/refringe/Build/server/project cd /workspace/SPT-AKI/Build/server/project
rm -rf package-lock.json node_modules rm -rf package-lock.json node_modules
npm cache clean --force npm cache clean --force
npm install npm install
@ -239,19 +239,19 @@ jobs:
- name: Build Server - name: Build Server
run: | run: |
cd /workspace/refringe/Build/server/project cd /workspace/SPT-AKI/Build/server/project
BUILD_TYPE="${{ needs.prepare.outputs.build_type }}" BUILD_TYPE="${{ needs.prepare.outputs.build_type }}"
echo "Running build for $BUILD_TYPE" echo "Running build for $BUILD_TYPE"
npm run build:$BUILD_TYPE -- --arch=x64 --platform=win32 npm run build:$BUILD_TYPE -- --arch=x64 --platform=win32
printf "\nBuilt!\n\n" printf "\nBuilt!\n\n"
tree -C /workspace/refringe/Build/server/project/build tree -C /workspace/SPT-AKI/Build/server/project/build
shell: bash shell: bash
- name: Artifact Server - name: Artifact Server
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: server-artifact name: server-artifact
path: /workspace/refringe/Build/server/project/build/ path: /workspace/SPT-AKI/Build/server/project/build/
compression-level: 0 compression-level: 0
retention-days: 1 retention-days: 1
overwrite: true overwrite: true
@ -268,17 +268,17 @@ jobs:
if [[ "${{ needs.prepare.outputs.is_nightly }}" == "true" ]]; then if [[ "${{ needs.prepare.outputs.is_nightly }}" == "true" ]]; then
BRANCH=${{ needs.prepare.outputs.branch_modules }} BRANCH=${{ needs.prepare.outputs.branch_modules }}
echo "Cloning modules from branch $BRANCH" echo "Cloning modules from branch $BRANCH"
git clone https://dev.sp-tarkov.com/SPT-AKI/Modules.git --branch "$BRANCH" --depth 1 /workspace/refringe/Build/modules git clone https://dev.sp-tarkov.com/SPT-AKI/Modules.git --branch "$BRANCH" --depth 1 /workspace/SPT-AKI/Build/modules
else else
TAG=${{ needs.prepare.outputs.target_tag }} TAG=${{ needs.prepare.outputs.target_tag }}
echo "Cloning modules from tag $TAG" echo "Cloning modules from tag $TAG"
git clone https://dev.sp-tarkov.com/SPT-AKI/Modules.git --branch "$TAG" --depth 1 /workspace/refringe/Build/modules git clone https://dev.sp-tarkov.com/SPT-AKI/Modules.git --branch "$TAG" --depth 1 /workspace/SPT-AKI/Build/modules
fi fi
shell: bash shell: bash
- name: Download Client Module Package - name: Download Client Module Package
run: | run: |
DIR_MANAGED="/workspace/refringe/Build/modules/project/Shared/Managed" DIR_MANAGED="/workspace/SPT-AKI/Build/modules/project/Shared/Managed"
DOWNLOAD_PATH="$DIR_MANAGED/${{ needs.prepare.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" 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"
@ -296,31 +296,31 @@ jobs:
- name: Decompress Client Module Package - name: Decompress Client Module Package
run: | run: |
cd /workspace/refringe/Build/modules/project/Shared/Managed cd /workspace/SPT-AKI/Build/modules/project/Shared/Managed
7z x ${{ needs.prepare.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/SPT-AKI/Build/modules/project/Shared/Managed
rm -f ${{ needs.prepare.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
- name: Build Modules - name: Build Modules
run: | run: |
cd /workspace/refringe/Build/modules/project cd /workspace/SPT-AKI/Build/modules/project
dotnet build dotnet build
printf "\nBuilt!\n\n" printf "\nBuilt!\n\n"
tree /workspace/refringe/Build/modules/project/Build tree /workspace/SPT-AKI/Build/modules/project/Build
shell: bash shell: bash
- name: Artifact Modules - name: Artifact Modules
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: modules-artifact name: modules-artifact
path: /workspace/refringe/Build/modules/project/Build path: /workspace/SPT-AKI/Build/modules/project/Build
compression-level: 0 compression-level: 0
retention-days: 1 retention-days: 1
overwrite: true overwrite: true
@ -337,27 +337,27 @@ jobs:
if [[ "${{ needs.prepare.outputs.is_nightly }}" == "true" ]]; then if [[ "${{ needs.prepare.outputs.is_nightly }}" == "true" ]]; then
BRANCH=${{ needs.prepare.outputs.branch_launcher }} BRANCH=${{ needs.prepare.outputs.branch_launcher }}
echo "Cloning launcher from branch $BRANCH" echo "Cloning launcher from branch $BRANCH"
git clone https://dev.sp-tarkov.com/SPT-AKI/Launcher.git --branch "$BRANCH" --depth 1 /workspace/refringe/Build/launcher git clone https://dev.sp-tarkov.com/SPT-AKI/Launcher.git --branch "$BRANCH" --depth 1 /workspace/SPT-AKI/Build/launcher
else else
TAG=${{ needs.prepare.outputs.target_tag }} TAG=${{ needs.prepare.outputs.target_tag }}
echo "Cloning launcher from tag $TAG" echo "Cloning launcher from tag $TAG"
git clone https://dev.sp-tarkov.com/SPT-AKI/Launcher.git --branch "$TAG" --depth 1 /workspace/refringe/Build/launcher git clone https://dev.sp-tarkov.com/SPT-AKI/Launcher.git --branch "$TAG" --depth 1 /workspace/SPT-AKI/Build/launcher
fi fi
shell: bash shell: bash
- name: Build Launcher - name: Build Launcher
run: | run: |
cd /workspace/refringe/Build/launcher/project cd /workspace/SPT-AKI/Build/launcher/project
dotnet build dotnet build
printf "\nBuilt!\n\n" printf "\nBuilt!\n\n"
tree /workspace/refringe/Build/launcher/project/Build tree /workspace/SPT-AKI/Build/launcher/project/Build
shell: bash shell: bash
- name: Artifact Launcher - name: Artifact Launcher
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: launcher-artifact name: launcher-artifact
path: /workspace/refringe/Build/launcher/project/Build path: /workspace/SPT-AKI/Build/launcher/project/Build
compression-level: 0 compression-level: 0
retention-days: 1 retention-days: 1
overwrite: true overwrite: true
@ -373,39 +373,39 @@ jobs:
steps: steps:
- name: Clean Directory - name: Clean Directory
run: | run: |
rm -rf /workspace/refringe/Build/release /workspace/refringe/Build/build rm -rf /workspace/SPT-AKI/Build/release /workspace/SPT-AKI/Build/build
mkdir -p /workspace/refringe/Build/release mkdir -p /workspace/SPT-AKI/Build/release
shell: bash shell: bash
- name: Download Server Artifact - name: Download Server Artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: server-artifact name: server-artifact
path: /workspace/refringe/Build/release/ path: /workspace/SPT-AKI/Build/release/
- name: Download Modules Artifact - name: Download Modules Artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: modules-artifact name: modules-artifact
path: /workspace/refringe/Build/release/ path: /workspace/SPT-AKI/Build/release/
- name: Download Launcher Artifact - name: Download Launcher Artifact
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: launcher-artifact name: launcher-artifact
path: /workspace/refringe/Build/release/ path: /workspace/SPT-AKI/Build/release/
- name: Clone Build Project - name: Clone Build Project
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
path: /workspace/refringe/Build/build path: /workspace/SPT-AKI/Build/build
- name: Merge Static Assets and Dynamic Files - name: Merge Static Assets and Dynamic Files
run: cp -rvf /workspace/refringe/Build/build/static-assets/* /workspace/refringe/Build/release/ run: cp -rvf /workspace/SPT-AKI/Build/build/static-assets/* /workspace/SPT-AKI/Build/release/
shell: bash shell: bash
- name: List Release Contents - name: List Release Contents
run: tree /workspace/refringe/Build/release run: tree /workspace/SPT-AKI/Build/release
shell: bash shell: bash
- name: Generate Release Filename - name: Generate Release Filename
@ -454,7 +454,7 @@ jobs:
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: release-artifact name: release-artifact
path: /workspace/refringe/Build/release path: /workspace/SPT-AKI/Build/release
compression-level: 0 compression-level: 0
retention-days: 1 retention-days: 1
overwrite: true overwrite: true
@ -469,11 +469,11 @@ jobs:
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
with: with:
name: release-artifact name: release-artifact
path: /workspace/refringe/Build/release path: /workspace/SPT-AKI/Build/release
- name: Compress Release - name: Compress Release
run: | run: |
cd /workspace/refringe/Build/release cd /workspace/SPT-AKI/Build/release
7z a -mx=9 -m0=lzma2 "../${{ needs.assemble-release.outputs.build_name }}" ./* 7z a -mx=9 -m0=lzma2 "../${{ needs.assemble-release.outputs.build_name }}" ./*
echo "Release compressed as ${{ needs.assemble-release.outputs.build_name }}." echo "Release compressed as ${{ needs.assemble-release.outputs.build_name }}."
shell: bash shell: bash
@ -481,9 +481,9 @@ jobs:
- name: Upload Release to HTTPS Source - name: Upload Release to HTTPS Source
id: upload-https-7z id: upload-https-7z
run: | run: |
cd /workspace/refringe/Build/ cd /workspace/SPT-AKI/Build/
echo "${{ secrets.SFTP_HOST_KEY }}" > known_host echo "${{ secrets.SFTP_HOST_KEY }}" > known_host
sshpass -p "${{ secrets.SFTP_PASSWORD }}" scp -v -o "Port=${{ secrets.SFTP_PORT }}" -o "ConnectTimeout=20" -o "UserKnownHostsFile=known_host" -o "StrictHostKeyChecking=yes" "/workspace/refringe/Build/${{ needs.assemble-release.outputs.build_name }}" ${{ secrets.SFTP_USERNAME }}@${{ secrets.SFTP_HOST }}:/public/builds sshpass -p "${{ secrets.SFTP_PASSWORD }}" scp -v -o "Port=${{ secrets.SFTP_PORT }}" -o "ConnectTimeout=20" -o "UserKnownHostsFile=known_host" -o "StrictHostKeyChecking=yes" "/workspace/SPT-AKI/Build/${{ needs.assemble-release.outputs.build_name }}" ${{ secrets.SFTP_USERNAME }}@${{ secrets.SFTP_HOST }}:/public/builds
echo "::set-output name=link_https::${{ secrets.SFTP_MIRROR_LINK }}/builds/${{ needs.assemble-release.outputs.build_name }}" echo "::set-output name=link_https::${{ secrets.SFTP_MIRROR_LINK }}/builds/${{ needs.assemble-release.outputs.build_name }}"
shell: bash shell: bash
@ -494,13 +494,13 @@ jobs:
BASE_NAME="${{ needs.assemble-release.outputs.base_name }}" BASE_NAME="${{ needs.assemble-release.outputs.base_name }}"
BUILD_NAME="${{ needs.assemble-release.outputs.build_name }}" BUILD_NAME="${{ needs.assemble-release.outputs.build_name }}"
TORRENT_NAME="${BASE_NAME}.torrent" TORRENT_NAME="${BASE_NAME}.torrent"
TORF_OUTPUT=$(/opt/venv/bin/torf --yes --out "/workspace/refringe/Build/${TORRENT_NAME}" \ TORF_OUTPUT=$(/opt/venv/bin/torf --yes --out "/workspace/SPT-AKI/Build/${TORRENT_NAME}" \
--webseed "${{ steps.upload-https-7z.outputs.link_https }}" \ --webseed "${{ steps.upload-https-7z.outputs.link_https }}" \
--tracker "http://open.acgnxtracker.com:80/announce,https://tracker.tamersunion.org:443/announce,http://tracker.renfei.net:8080/announce,udp://tracker.torrent.eu.org:451/announce,udp://ec2-18-191-163-220.us-east-2.compute.amazonaws.com:6969/announce" \ --tracker "http://open.acgnxtracker.com:80/announce,https://tracker.tamersunion.org:443/announce,http://tracker.renfei.net:8080/announce,udp://tracker.torrent.eu.org:451/announce,udp://ec2-18-191-163-220.us-east-2.compute.amazonaws.com:6969/announce" \
--comment "Official ${BASE_NAME} release, built by the team at sp-tarkov.com. Have fun!" \ --comment "Official ${BASE_NAME} release, built by the team at sp-tarkov.com. Have fun!" \
--creator "sp-tarkov.com" \ --creator "sp-tarkov.com" \
--verbose \ --verbose \
"/workspace/refringe/Build/${{ needs.assemble-release.outputs.build_name }}") "/workspace/SPT-AKI/Build/${{ needs.assemble-release.outputs.build_name }}")
MAGNET_LINK=$(echo "${TORF_OUTPUT}" | grep -oP 'Magnet\t\K.*') MAGNET_LINK=$(echo "${TORF_OUTPUT}" | grep -oP 'Magnet\t\K.*')
echo "::set-output name=link_magnet::${MAGNET_LINK}" echo "::set-output name=link_magnet::${MAGNET_LINK}"
echo "::set-output name=torrent_name::${TORRENT_NAME}" echo "::set-output name=torrent_name::${TORRENT_NAME}"
@ -510,15 +510,15 @@ jobs:
if: needs.prepare.outputs.build_type == 'release' if: needs.prepare.outputs.build_type == 'release'
id: upload-https-torrent id: upload-https-torrent
run: | run: |
cd /workspace/refringe/Build/ cd /workspace/SPT-AKI/Build/
echo "${{ secrets.SFTP_HOST_KEY }}" > known_host echo "${{ secrets.SFTP_HOST_KEY }}" > known_host
sshpass -p "${{ secrets.SFTP_PASSWORD }}" scp -v -o "Port=${{ secrets.SFTP_PORT }}" -o "ConnectTimeout=20" -o "UserKnownHostsFile=known_host" -o "StrictHostKeyChecking=yes" "/workspace/refringe/Build/${{ steps.torrent_create.outputs.torrent_name }}" ${{ secrets.SFTP_USERNAME }}@${{ secrets.SFTP_HOST }}:/public/builds sshpass -p "${{ secrets.SFTP_PASSWORD }}" scp -v -o "Port=${{ secrets.SFTP_PORT }}" -o "ConnectTimeout=20" -o "UserKnownHostsFile=known_host" -o "StrictHostKeyChecking=yes" "/workspace/SPT-AKI/Build/${{ steps.torrent_create.outputs.torrent_name }}" ${{ secrets.SFTP_USERNAME }}@${{ secrets.SFTP_HOST }}:/public/builds
echo "::set-output name=link_torrent::${{ secrets.SFTP_MIRROR_LINK }}/builds/${{ steps.torrent_create.outputs.torrent_name }}" echo "::set-output name=link_torrent::${{ secrets.SFTP_MIRROR_LINK }}/builds/${{ steps.torrent_create.outputs.torrent_name }}"
shell: bash shell: bash
- name: Clean Old HTTPS Source Releases - name: Clean Old HTTPS Source Releases
run: | run: |
cd /workspace/refringe/Build/ cd /workspace/SPT-AKI/Build/
echo "${{ secrets.SFTP_HOST_KEY }}" > known_hosts echo "${{ secrets.SFTP_HOST_KEY }}" > known_hosts
# Creating a script for sftp to execute # Creating a script for sftp to execute
@ -564,7 +564,7 @@ jobs:
mega-https on mega-https on
mega-login "${{ secrets.MEGA_EMAIL }}" "${{ secrets.MEGA_PASSWORD }}" mega-login "${{ secrets.MEGA_EMAIL }}" "${{ secrets.MEGA_PASSWORD }}"
mega-put -c "/workspace/refringe/Build/${{ needs.assemble-release.outputs.build_name }}" "/spt-release/${{ needs.assemble-release.outputs.build_name }}" mega-put -c "/workspace/SPT-AKI/Build/${{ needs.assemble-release.outputs.build_name }}" "/spt-release/${{ needs.assemble-release.outputs.build_name }}"
# Generate link and save it. # Generate link and save it.
EXPORT_OUTPUT=$(mega-export -a "/spt-release/${{ needs.assemble-release.outputs.build_name }}" -f) EXPORT_OUTPUT=$(mega-export -a "/spt-release/${{ needs.assemble-release.outputs.build_name }}" -f)
@ -618,7 +618,7 @@ jobs:
MODS_ENABLED_DEBUG: ${{ needs.prepare.outputs.mod_enabled_debug }} MODS_ENABLED_DEBUG: ${{ needs.prepare.outputs.mod_enabled_debug }}
MODS_ENABLED_RELEASE: ${{ needs.prepare.outputs.mod_enabled_release }} MODS_ENABLED_RELEASE: ${{ needs.prepare.outputs.mod_enabled_release }}
run: | run: |
cd /workspace/refringe/Build/ cd /workspace/SPT-AKI/Build/
UPPER_BUILD_TYPE=$(echo "$BUILD_TYPE" | tr '[:lower:]' '[:upper:]') UPPER_BUILD_TYPE=$(echo "$BUILD_TYPE" | tr '[:lower:]' '[:upper:]')
FOOTER_MESSAGES=("You look great today!" "Don't ban me, Phantom!" "Powered by coffee" "Life's too short to remove USB safely" "Did you remember to hydrate today?" "Have you tried turning it off and on again?" "There's no place like 127.0.0.1" "In Chomp we trust" "Beep boop, I'm a bot" "Keep calm and commit your code" "This isn't a bug, it's an undocumented feature." "May the source be with you" "Go to bed, Terk" "Please direct all support requests to Drakia" "Meaw") FOOTER_MESSAGES=("You look great today!" "Don't ban me, Phantom!" "Powered by coffee" "Life's too short to remove USB safely" "Did you remember to hydrate today?" "Have you tried turning it off and on again?" "There's no place like 127.0.0.1" "In Chomp we trust" "Beep boop, I'm a bot" "Keep calm and commit your code" "This isn't a bug, it's an undocumented feature." "May the source be with you" "Go to bed, Terk" "Please direct all support requests to Drakia" "Meaw")
FOOTER_MESSAGE="${FOOTER_MESSAGES[$RANDOM % ${#FOOTER_MESSAGES[@]}]}" FOOTER_MESSAGE="${FOOTER_MESSAGES[$RANDOM % ${#FOOTER_MESSAGES[@]}]}"