Update GitHub workflows; add tarkov installer

Rename workflow job names from the old "yolks:*" convention to explicit component prefixes (apps, base, bot, box64, bun, tarkov) and adjust GHCR tag/owner checks to reference the 2sharkystudios organization where applicable. Add a basic tarkov/installer.sh file. Streamline the tarkov v4.0.11 Dockerfile by consolidating apt installs, retaining apt list cleanup, refining .NET and PowerShell install steps, and improving build artifact handling (move outputs to /home/container, cleanup workspace and /build).
This commit is contained in:
Kyle Speight
2026-05-30 02:52:57 -07:00
parent 87c5425cdb
commit e0966c0006
8 changed files with 28 additions and 40 deletions
+2 -2
View File
@@ -13,7 +13,7 @@ permissions:
jobs:
push:
name: "yolks:apps_${{ matrix.app }}"
name: "apps:${{ matrix.app }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
@@ -47,4 +47,4 @@ jobs:
push: true
tags: |
ghcr.io/${{ steps.lower-repo.outputs.repository }}/apps:${{ matrix.app }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/apps:{0}', matrix.app) || '' }}
${{ github.repository_owner == '2sharkystudios' && format('ghcr.io/2sharkystudios/apps:{0}', matrix.app) || '' }}
+3 -3
View File
@@ -13,7 +13,7 @@ permissions:
jobs:
push:
name: "yolks:${{ matrix.oses }}"
name: "base:${{ matrix.oses }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
@@ -44,5 +44,5 @@ jobs:
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ steps.lower-repo.outputs.repository }}/yolks:${{ matrix.oses }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:{0}', matrix.oses) || '' }}
ghcr.io/${{ steps.lower-repo.outputs.repository }}/base:${{ matrix.oses }}
${{ github.repository_owner == '2sharkystudios' && format('ghcr.io/parkervcp/base:{0}', matrix.oses) || '' }}
+4 -4
View File
@@ -13,7 +13,7 @@ permissions:
jobs:
pushArm:
name: "yolks:bot_${{ matrix.tag }}"
name: "bot:${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
@@ -57,8 +57,8 @@ jobs:
cache-to: type=local,dest=/tmp/.buildx-cache-new
push: true
tags: |
ghcr.io/${{ steps.lower-repo.outputs.repository }}/yolks:bot_${{ matrix.tag }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:bot_{0}', matrix.tag) || '' }}
ghcr.io/${{ steps.lower-repo.outputs.repository }}/bot:${{ matrix.tag }}
${{ github.repository_owner == '2sharkystudios' && format('ghcr.io/parkervcp/bot:{0}', matrix.tag) || '' }}
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
@@ -90,4 +90,4 @@ jobs:
# platforms: linux/amd64
# push: true
# tags: |
# ${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:bot_{0}', matrix.tag) || '' }}
# ${{ github.repository_owner == '2sharkystudios' && format('ghcr.io/2sharkystudios/bot:bot_{0}', matrix.tag) || '' }}
+3 -3
View File
@@ -13,7 +13,7 @@ permissions:
jobs:
push:
name: "yolks:${{ matrix.tag }}"
name: "box64:${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
@@ -42,5 +42,5 @@ jobs:
platforms: linux/arm64
push: true
tags: |
ghcr.io/${{ steps.lower-repo.outputs.repository }}/yolks:${{ matrix.tag }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:{0}', matrix.tag) || '' }}
ghcr.io/${{ steps.lower-repo.outputs.repository }}/box64:${{ matrix.tag }}
${{ github.repository_owner == '2sharkystudios' && format('ghcr.io/2sharkystudios/box64:{0}', matrix.tag) || '' }}
+3 -3
View File
@@ -13,7 +13,7 @@ permissions:
jobs:
push:
name: "yolks:bun_${{ matrix.tag }}"
name: "bun:${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
@@ -43,5 +43,5 @@ jobs:
platforms: linux/amd64,linux/arm64
push: true
tags: |
ghcr.io/${{ steps.lower-repo.outputs.repository }}/yolks:bun_${{ matrix.tag }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/yolks:bun_{0}', matrix.tag) || '' }}
ghcr.io/${{ steps.lower-repo.outputs.repository }}/bun:${{ matrix.tag }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/bun:{0}', matrix.tag) || '' }}
+3 -3
View File
@@ -13,7 +13,7 @@ permissions:
jobs:
push:
name: "tarkov:tarkov_${{ matrix.tag }}"
name: "tarkov:${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
@@ -43,5 +43,5 @@ jobs:
platforms: linux/amd64
push: true
tags: |
ghcr.io/${{ steps.lower-repo.outputs.repository }}/tarkov:tarkov_${{ matrix.tag }}
${{ github.repository_owner == '2sharkystudios' && format('ghcr.io/2sharkystudios/yolks:tarkov_{0}', matrix.tag) || '' }}
ghcr.io/${{ steps.lower-repo.outputs.repository }}/tarkov:${{ matrix.tag }}
${{ github.repository_owner == '2sharkystudios' && format('ghcr.io/2sharkystudios/tarkov:{0}', matrix.tag) || '' }}
+2
View File
@@ -0,0 +1,2 @@
#!bin/bash
+8 -22
View File
@@ -4,16 +4,10 @@ LABEL author="Kyle Speight" maintainer="chillcog3142@proton.me"
ENV DEBIAN_FRONTEND=noninteractive
# 1. Install prerequisites
RUN apt-get update && apt-get install -y \
ca-certificates \
gnupg \
lsb-release \
wget \
curl \
RUN apt-get update && apt-get install -y ca-certificates gnupg lsb-release wget curl \
&& rm -rf /var/lib/apt/lists/*
# 2. Install .NET SDK
RUN wget -q https://dot.net/v1/dotnet-install.sh \
&& chmod +x dotnet-install.sh \
&& D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/9.0 | grep -i '<h3 id="sdk-9.*">SDK 9.*.*</h3>' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
@@ -21,7 +15,6 @@ RUN wget -q https://dot.net/v1/dotnet-install.sh \
&& ln -s /usr/share/dotnet /usr/bin/dotnet \
&& rm dotnet-install.sh
# 3. Install PowerShell (Fixed: No 'source', No 'sudo', Hardcoded 'jammy' repo)
RUN mkdir -p /etc/apt/keyrings \
&& curl -sSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /etc/apt/keyrings/microsoft-prod.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/repos/microsoft-ubuntu-jammy-prod jammy main" > /etc/apt/sources.list.d/microsoft-prod.list \
@@ -30,16 +23,9 @@ RUN mkdir -p /etc/apt/keyrings \
&& rm -rf /var/lib/apt/lists/*
# 4. Install remaining dependencies
RUN apt-get update && apt-get install -y \
git \
git-lfs \
iproute2 \
libgdiplus \
tini \
software-properties-common \
RUN apt-get update && apt-get install -y git git-lfs iproute2 libgdiplus tini software-properties-common \
&& rm -rf /var/lib/apt/lists/*
# 5. Clone, Build, and Cleanup
RUN mkdir -p /workspace/ /build/ \
&& cd /workspace \
&& git clone https://github.com/2SharkyStudios/SPT-Server-Build.git /workspace/git \
@@ -48,11 +34,11 @@ RUN mkdir -p /workspace/ /build/ \
&& cd /workspace/git/SPTarkov.Server/ \
&& dotnet restore \
&& dotnet publish -o /build/ -c Release -p:SptBuildType=RELEASE -p:SptVersion=4.0.11 \
&& rm -rf /workspace/
# 6. Move build output to user home
RUN mv /build/* /home/container/ 2>/dev/null || true \
&& chown -R container:container /home/container/
&& ls /home/container/ \
&& rm -rf /workspace/ \
&& mv /build/* /home/container/ 2>/dev/null || true \
&& chown -R container:container /home/container/ \
&& rm -rf /build/
USER container
ENV USER=container HOME=/home/container