name: Assets on: push: branches: production workflow_dispatch: inputs: 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 asset_source: type: string required: false description: "Archive URL or Steam to download (example: steam:APP_ID/DEPOT_ID or zip:URL_TO_ZIP)" default: "steam:444200/444202" concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.inputs.asset_repo }} cancel-in-progress: true env: DISCORD_CLIENT_ID: ${{ secrets.DISCORD_CLIENT_ID }} 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: ${{ github.event.inputs.asset_repo != '' && github.event.inputs.asset_repo || secrets.PUBLIC_ASSET_REPO }} PUBLIC_ASSET_BRANCH: ${{ secrets.PUBLIC_ASSET_BRANCH }} WOTB_GLOSSARY_DOMAIN: ${{ secrets.WOTB_GLOSSARY_DOMAIN }} WOTB_GLOSSARY_PATH: ${{ secrets.WOTB_GLOSSARY_PATH }} PUBLIC_PROMOTE_OPENTEST: ${{ secrets.PUBLIC_PROMOTE_OPENTEST }} ALLOW_ROBOTS: true PUBLIC_GOOGLE_TAG_MANAGER_ID: ${{ secrets.PUBLIC_GOOGLE_TAG_MANAGER_ID }} PUBLIC_GOOGLE_ANALYTICS_PROPERTY_ID: ${{ secrets.PUBLIC_GOOGLE_ANALYTICS_PROPERTY_ID }} PUBLIC_PATREON_CLIENT_ID: ${{ secrets.PUBLIC_PATREON_CLIENT_ID }} PUBLIC_PATREON_REDIRECT_URI: ${{ secrets.PUBLIC_PATREON_REDIRECT_URI }} PATREON_CLIENT_SECRET: ${{ secrets.PATREON_CLIENT_SECRET }} PUBLIC_NITROPAY_ID: ${{ secrets.PUBLIC_NITROPAY_ID }} PUBLIC_DEBUG_MISSING_I18N: false PUBLIC_DISCORD_SERVER_ID: ${{ secrets.PUBLIC_DISCORD_SERVER_ID }} PUBLIC_ASSET_FAST_USER: blitzkit PUBLIC_ASSET_FAST_REPO: assets PUBLIC_ASSET_BASE: ${{ secrets.PUBLIC_ASSET_BASE }} GH_TOKEN: ${{ secrets.GH_TOKEN }} STEAM_USERNAME: ${{ secrets.STEAM_USERNAME }} STEAM_PASSWORD: ${{ secrets.STEAM_PASSWORD }} jobs: build_assets: name: Build assets runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 with: submodules: recursive token: ${{ secrets.GH_TOKEN }} - uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GH_TOKEN }} - uses: oven-sh/setup-bun@v2 - run: bun run setup - name: AppArmor hack run: echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns - name: Install patches run: bun run setup:patches --source=${{ github.event.inputs.asset_source || 'steam:444200/444202' }} - name: Build assets run: bun run build:assets --all-targets --source=${{ github.event.inputs.asset_source || 'steam:444200/444202' }}