Merge pull request #134 from tresabhi/l10n_main #75
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Assets | |
on: | |
push: | |
branches: main | |
workflow_dispatch: | |
inputs: | |
cdn_branch: | |
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 | |
schedule: | |
- cron: '0 2 * * *' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.inputs.cdn_branch }} | |
cancel-in-progress: true | |
env: | |
DISCORD_CLIENT_ID: ${{ secrets.DISCORD_CLIENT_ID }} | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
DISCORD_TOKEN: ${{ secrets.DISCORD_TOKEN }} | |
DATABASE_URL: ${{ secrets.DATABASE_URL }} | |
VIDEOS_SHEET: ${{ secrets.VIDEOS_SHEET }} | |
GOOGLE_APPLICATION_CREDENTIALS: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }} | |
WOTB_GLOSSARY: ${{ secrets.WOTB_GLOSSARY }} | |
WOTB_DLC_CDN: ${{ secrets.WOTB_DLC_CDN }} | |
PUBLIC_WARGAMING_APPLICATION_ID: ${{ secrets.PUBLIC_WARGAMING_APPLICATION_ID }} | |
PUBLIC_ASSET_REPO: ${{ secrets.PUBLIC_ASSET_REPO }} | |
PUBLIC_ASSET_BRANCH: ${{ github.event.inputs.cdn_branch || secrets.PUBLIC_ASSET_BRANCH }} | |
jobs: | |
download_client: | |
name: Download client | |
runs-on: ubuntu-latest | |
steps: | |
- name: (ZIP) Maximize build space | |
if: github.event.inputs.zip_url != '' | |
uses: easimon/maximize-build-space@master | |
with: | |
root-reserve-mb: 512 | |
swap-size-mb: 1024 | |
remove-dotnet: 'true' | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
token: ${{ secrets.GH_TOKEN }} | |
- name: (Steam) Setup bun | |
uses: oven-sh/setup-bun@v1 | |
if: github.event.inputs.zip_url == '' | |
- name: (Steam) Install dependencies | |
if: github.event.inputs.zip_url == '' | |
run: bun install | |
- name: (Steam) Setup DepotDownloader | |
if: github.event.inputs.zip_url == '' | |
run: bun run setup:depotdownloader | |
- name: (Steam) Download client | |
if: github.event.inputs.zip_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 == '' | |
run: bun setup:patches --depot | |
- name: (ZIP) Download client | |
if: github.event.inputs.zip_url != '' | |
env: | |
ZIP_URL: ${{ github.event.inputs.zip_url }} | |
ZIP_ROOT: ${{ github.event.inputs.zip_root }} | |
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 | |
- name: Archive depots | |
uses: actions/upload-artifact@v4 | |
with: | |
name: depots | |
path: depots | |
build_assets: | |
name: Build assets | |
runs-on: ubuntu-latest | |
needs: download_client | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup bun | |
uses: oven-sh/setup-bun@v1 | |
- name: Install dependencies | |
run: bun install | |
- name: Download depots | |
uses: actions/download-artifact@v4 | |
with: | |
name: depots | |
path: depots | |
- 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 & | |
SERVER_PID=$! | |
bun run build:assets --all-targets --depot --production | |
kill $SERVER_PID || true |