mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-11-10 11:16:10 +01:00
Compare commits
11
Commits
e2c02f3d86
...
925ae1a0b7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
925ae1a0b7 | ||
|
|
9584ecf38b | ||
|
|
338168d7e4 | ||
|
|
711d92887e | ||
|
|
78160041e8 | ||
|
|
1b884a52f9 | ||
|
|
f13c658ef4 | ||
|
|
b72d4058be | ||
|
|
029a781c50 | ||
|
|
adc1791f56 | ||
|
|
15b6ff43c5 |
No files matched your search
@@ -6,25 +6,26 @@ on:
|
||||
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
cdn_branch:
|
||||
asset_repo:
|
||||
type: choice
|
||||
required: false
|
||||
description: What asset repo to write to
|
||||
options:
|
||||
- blitzkit/assets
|
||||
- blitzkit/assets-preview
|
||||
- blitzkit/assets-dev
|
||||
default: blitzkit/assets
|
||||
|
||||
archive_url:
|
||||
type: string
|
||||
required: false
|
||||
default: main
|
||||
description: What CDN branch to write to
|
||||
zip_url:
|
||||
type: string
|
||||
required: false
|
||||
description: ZIP URL to download instead of Steam client
|
||||
zip_root:
|
||||
type: string
|
||||
required: false
|
||||
description: Root dir of ZIP which houses the executable and Data dir
|
||||
description: Archive URL to download instead of Steam client
|
||||
|
||||
schedule:
|
||||
- cron: "0 2 * * *"
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.inputs.cdn_branch }}
|
||||
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.inputs.asset_repo }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
@@ -36,7 +37,7 @@ env:
|
||||
WOTB_GLOSSARY: ${{ secrets.WOTB_GLOSSARY }}
|
||||
WOTB_DLC_CDN: ${{ secrets.WOTB_DLC_CDN }}
|
||||
PUBLIC_WARGAMING_APPLICATION_ID: ${{ secrets.PUBLIC_WARGAMING_APPLICATION_ID }}
|
||||
PUBLIC_ASSET_REPO: blitzkit/assets
|
||||
PUBLIC_ASSET_REPO: ${{ github.event.inputs.asset_repo }}
|
||||
PUBLIC_ASSET_BRANCH: main
|
||||
WOTB_GLOSSARY_DOMAIN: ${{ secrets.WOTB_GLOSSARY_DOMAIN }}
|
||||
WOTB_GLOSSARY_PATH: ${{ secrets.WOTB_GLOSSARY_PATH }}
|
||||
@@ -61,56 +62,102 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- if: github.event.inputs.zip_url != ''
|
||||
- if: github.event.inputs.archive_url != ''
|
||||
uses: easimon/maximize-build-space@master
|
||||
with:
|
||||
root-reserve-mb: 512
|
||||
swap-size-mb: 1024
|
||||
remove-dotnet: "true"
|
||||
remove-haskell: "true"
|
||||
remove-android: "true"
|
||||
remove-codeql: "true"
|
||||
remove-docker-images: "true"
|
||||
|
||||
- if: github.event.inputs.archive_url != '' && endsWith(github.event.inputs.archive_url, '.wgpkg')
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y p7zip-full
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
if: github.event.inputs.archive_url == ''
|
||||
with:
|
||||
submodules: recursive
|
||||
token: ${{ secrets.GH_TOKEN }}
|
||||
|
||||
- uses: arduino/setup-protoc@v3
|
||||
if: github.event.inputs.archive_url == ''
|
||||
with:
|
||||
repo-token: ${{ secrets.GH_TOKEN }}
|
||||
|
||||
- uses: oven-sh/setup-bun@v1
|
||||
if: github.event.inputs.zip_url == ''
|
||||
- if: github.event.inputs.zip_url == ''
|
||||
run: bun run setup
|
||||
if: github.event.inputs.archive_url == ''
|
||||
|
||||
- run: bun run setup
|
||||
if: github.event.inputs.archive_url == ''
|
||||
|
||||
- name: (Steam) Setup DepotDownloader
|
||||
if: github.event.inputs.zip_url == ''
|
||||
if: github.event.inputs.archive_url == ''
|
||||
run: bun run setup:depotdownloader
|
||||
|
||||
- name: (Steam) Download client
|
||||
if: github.event.inputs.zip_url == ''
|
||||
if: github.event.inputs.archive_url == ''
|
||||
run: |
|
||||
chmod +x ./temp/depotDownloader/DepotDownloader
|
||||
./temp/depotDownloader/DepotDownloader -q -os windows -app 444200 -username ${{ secrets.DEPOT_DOWNLOADER_USERNAME }} -password "${{ secrets.DEPOT_DOWNLOADER_PASSWORD }}"
|
||||
|
||||
- name: (Steam) Apply patches
|
||||
if: github.event.inputs.zip_url == ''
|
||||
if: github.event.inputs.archive_url == ''
|
||||
run: bun setup:patches --depot
|
||||
|
||||
- name: (ZIP) Download client
|
||||
if: github.event.inputs.zip_url != ''
|
||||
if: github.event.inputs.archive_url != '' && endsWith(github.event.inputs.archive_url, '.zip')
|
||||
env:
|
||||
ZIP_URL: ${{ github.event.inputs.zip_url }}
|
||||
ZIP_ROOT: ${{ github.event.inputs.zip_root }}
|
||||
ARCHIVE_URL: ${{ github.event.inputs.archive_url }}
|
||||
run: |
|
||||
wget -q -O client.zip $ZIP_URL
|
||||
unzip -q client.zip -d client
|
||||
rm client.zip
|
||||
mkdir -p depots/444202/0
|
||||
mv client/$ZIP_ROOT/* depots/444202/0
|
||||
wget -q -O temp/archive.zip $ARCHIVE_URL
|
||||
unzip -q temp/archive.zip -d temp/archive
|
||||
rm temp/archive.zip
|
||||
mkdir -p temp/game
|
||||
mv temp/archive/app/* temp/game
|
||||
|
||||
- name: Archive depots
|
||||
- name: (WGPKG) Download client
|
||||
if: github.event.inputs.archive_url != '' && endsWith(github.event.inputs.archive_url, '.wgpkg')
|
||||
env:
|
||||
ARCHIVE_URL: ${{ github.event.inputs.archive_url }}
|
||||
run: |
|
||||
mkdir -p temp/archives
|
||||
mkdir -p temp/game
|
||||
|
||||
i=1
|
||||
urls=()
|
||||
|
||||
while :; do
|
||||
part=$(printf "%03d" $i)
|
||||
url="${ARCHIVE_URL}.${part}"
|
||||
if wget --spider -q "$url"; then
|
||||
urls+=("$url")
|
||||
((i++))
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
for url in "${urls[@]}"; do
|
||||
dest="temp/archives/$(basename "$url")"
|
||||
wget -q -O "$dest" "$url" &
|
||||
done
|
||||
wait
|
||||
|
||||
first=$(ls temp/archives/*.001 | head -n 1)
|
||||
7z x "$first" -otemp/game
|
||||
|
||||
rm -rf temp/archives
|
||||
|
||||
- name: Archive game
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: depots
|
||||
path: depots
|
||||
name: game
|
||||
path: temp/game
|
||||
|
||||
build_assets:
|
||||
name: Build assets
|
||||
@@ -128,20 +175,14 @@ jobs:
|
||||
- uses: oven-sh/setup-bun@v1
|
||||
- run: bun run setup
|
||||
|
||||
- name: Download depots
|
||||
- name: Download game
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: depots
|
||||
path: depots
|
||||
name: game
|
||||
path: temp/game
|
||||
|
||||
- name: AppArmor hack
|
||||
run: echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns
|
||||
|
||||
- name: Start server and build assets
|
||||
run: |
|
||||
bun dev:website --verbosepa &
|
||||
SERVER_PID=$!
|
||||
|
||||
bun run build:assets --all-targets --depot --production
|
||||
|
||||
kill $SERVER_PID || true
|
||||
run: bun run build:assets --all-targets --manual
|
||||
Vendored
+5
@@ -66,6 +66,7 @@
|
||||
"decompressor",
|
||||
"defence",
|
||||
"degressive",
|
||||
"depotdownloader",
|
||||
"devkrieg",
|
||||
"diacriticless",
|
||||
"DIDS",
|
||||
@@ -76,6 +77,7 @@
|
||||
"DVPLCRC",
|
||||
"dvpm",
|
||||
"dxgi",
|
||||
"easimon",
|
||||
"echarts",
|
||||
"Everytime",
|
||||
"FASTNAME",
|
||||
@@ -141,6 +143,7 @@
|
||||
"Oopsy",
|
||||
"opentest",
|
||||
"OPTML",
|
||||
"otemp",
|
||||
"outdir",
|
||||
"outfile",
|
||||
"ownedtanks",
|
||||
@@ -212,12 +215,14 @@
|
||||
"Unregistering",
|
||||
"unrotate",
|
||||
"unwrapper",
|
||||
"userns",
|
||||
"vercel",
|
||||
"vickers",
|
||||
"vitepress",
|
||||
"Vovko",
|
||||
"wargaming",
|
||||
"webp",
|
||||
"wgpkg",
|
||||
"whitespaces",
|
||||
"WHSS",
|
||||
"winrate",
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# BlitzKit 1.29.2
|
||||
|
||||
## Technical Changes
|
||||
|
||||
- Implemented new workflow capabilities to deploy BlitzKit OpenTest and Preview remotely, from any device
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "blitzkit",
|
||||
"version": "1.29.1",
|
||||
"version": "1.29.2",
|
||||
"license": "BlitzKit License",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,30 +1,25 @@
|
||||
import { readdir } from 'fs/promises';
|
||||
import { argv } from 'process';
|
||||
import { readdir } from "fs/promises";
|
||||
import { argv } from "process";
|
||||
|
||||
const WINDOWS_APPS = 'C:/Program Files/WindowsApps';
|
||||
const WINDOWS_APPS = "C:/Program Files/WindowsApps";
|
||||
const wotbPackageRegex = /7458BE2C\..+_\d+(\.\d+)+_x64__.+/;
|
||||
|
||||
const isDepot = argv.includes('--depot');
|
||||
const isManual = argv.includes('--manual');
|
||||
const isManual = argv.includes("--manual");
|
||||
|
||||
let data: string;
|
||||
let compressed: boolean;
|
||||
|
||||
if (isManual) {
|
||||
data = '../../temp/game/Data';
|
||||
compressed = true;
|
||||
} else if (isDepot) {
|
||||
const [installationVersion] = await readdir(`../../depots/444202`);
|
||||
data = `../../depots/444202/${installationVersion}/Data`;
|
||||
data = "../../temp/game/Data";
|
||||
compressed = true;
|
||||
} else {
|
||||
const directories = await readdir(WINDOWS_APPS).then((files) =>
|
||||
files.filter((file) => wotbPackageRegex.test(file)),
|
||||
files.filter((file) => wotbPackageRegex.test(file))
|
||||
);
|
||||
|
||||
if (directories.length !== 1) {
|
||||
throw new Error(
|
||||
`Expected 1 directory for WoTB Windows App, got ${directories.length}.`,
|
||||
`Expected 1 directory for WoTB Windows App, got ${directories.length}.`
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user