Skip to content

Add special synthetic maplist withstartpos #859

Add special synthetic maplist withstartpos

Add special synthetic maplist withstartpos #859

Workflow file for this run

name: CI
on:
push:
branches:
- main
- "sync-map-*"
paths-ignore:
- "tools/**"
- "cloud/**"
pull_request:
paths-ignore:
- "tools/**"
- "cloud/**"
workflow_dispatch:
inputs:
deploy:
description: "Deploy?"
required: true
type: boolean
default: false
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.11
cache: pip
cache-dependency-path: scripts/py/requirements.txt
- uses: actions/setup-node@v4
with:
node-version: 18.18
cache: npm
cache-dependency-path: scripts/js/package-lock.json
- uses: actions/cache@v4
if: ${{ !env.ACT }}
with:
path: .maps-cache
key: maps-cache-cache-v2-build-${{ github.sha }}
restore-keys: |
maps-cache-cache-v2-build-
- name: Install dependencies
run: ./scripts/install.sh
- name: Build
run: source .envrc && make -j $(nproc)
- name: Test
run: source .envrc && make -j $(nproc) test
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: gen-artifacts
path: gen
deploy-cdn:
runs-on: ubuntu-latest
needs: build-and-test
if: vars.MAPS_METADATA_BUCKET_NAME && (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: gen-artifacts
path: gen
- name: Install Rclone
run: |
curl -L https://rclone.org/install.sh | sudo bash
- name: Deploy
run: ./scripts/deploy.sh ${{ github.sha }} ${{ !env.ACT && (github.ref == 'refs/heads/main' || github.event.inputs.deploy == true) }}
env:
CLOUDFLARE_ACCOUNT_ID: ${{ vars.CLOUDFLARE_ACCOUNT_ID }}
CLOUDFLARE_ACCESS_KEY_ID: ${{ vars.CLOUDFLARE_R2_ACCESS_KEY_ID }}
CLOUDFLARE_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_R2_SECRET_ACCESS_KEY }}
R2_BUCKET_NAME: ${{ vars.MAPS_METADATA_BUCKET_NAME }}
- name: Publish update on MQTT
uses: juhrlass/[email protected]
with:
protocol: mqtts
host: broker.hivemq.com
port: 8883
topic: dev.beyondallreason.maps-metadata/live_maps/updated:v1
message: ${{ github.sha }}
deploy-chobby:
runs-on: ubuntu-latest
needs: build-and-test
if: vars.ENABLE_BYAR_CHOBBY_PUSH && ((github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch')
steps:
- uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: gen-artifacts
path: gen
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.11
cache: pip
cache-dependency-path: scripts/py/requirements.txt
- uses: actions/setup-node@v4
with:
node-version: 18.18
cache: npm
cache-dependency-path: scripts/js/package-lock.json
- uses: actions/cache@v4
if: ${{ !env.ACT }}
with:
path: .maps-cache
key: maps-cache-cache-v2-chobby-${{ github.sha }}
restore-keys: |
maps-cache-cache-v2-chobby-
- name: Install dependencies
run: ./scripts/install.sh
- name: Checkout BYAR-Chobby
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/BYAR-Chobby
path: BYAR-Chobby
ssh-key: ${{ secrets.SSH_BYAR_CHOBBY_DEPLOY_KEY }}
- name: Patch Chobby
run: |
source .envrc
ts-node scripts/js/src/update_byar_chobby_images.ts BYAR-Chobby
cp gen/mapDetails.lua BYAR-Chobby/LuaMenu/configs/gameConfig/byar/mapDetails.lua
cp gen/mapBoxes.conf BYAR-Chobby/LuaMenu/configs/gameConfig/byar/savedBoxes.dat
- name: Commit and push
run: |
cd BYAR-Chobby
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
git remote -v
echo "[+] Git add"
git add .
echo "[+] Git status"
git status
if git diff-index --quiet HEAD; then
echo "No changes to commit"
exit 0
fi
echo "[+] Git commit"
git commit -m $'Automatic update of maps from maps-metadata\n\nFrom commit ${{ github.repository }}@${{ github.sha }}'
echo "[+] Git push"
git push
deploy-spads-config:
runs-on: ubuntu-latest
needs: build-and-test
if: vars.ENABLE_SPADS_CONFIG_PUSH && ((github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch')
steps:
- uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: gen-artifacts
path: gen
- name: Checkout SPADS Config
uses: actions/checkout@v4
with:
repository: ${{ github.repository_owner }}/spads_config_bar
path: spads_config_bar
ssh-key: ${{ secrets.SSH_SPADS_CONFIG_DEPLOY_KEY }}
- name: Patch SPADS Config
run: |
cp gen/mapBoxes.conf spads_config_bar/etc/mapBoxes.conf
cp gen/mapLists.conf spads_config_bar/etc/mapLists.conf
cp gen/mapPresets.conf spads_config_bar/etc/mapPresets.conf
cp gen/mapBattlePresets.conf spads_config_bar/etc/mapBattlePresets.conf
python3 scripts/py/update_spads_conf.py spads_config_bar/etc/spads_cluster.conf
- name: Commit and push
run: |
cd spads_config_bar
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
git remote -v
echo "[+] Git add"
git add .
echo "[+] Git status"
git status
if git diff-index --quiet HEAD; then
echo "No changes to commit"
exit 0
fi
echo "[+] Git commit"
git commit -m $'Automatic update of maps from maps-metadata\n\nFrom commit ${{ github.repository }}@${{ github.sha }}'
echo "[+] Git push"
git push
deploy-website:
runs-on: ubuntu-latest
needs: build-and-test
if: vars.WEBFLOW_COLLECTION_ID && ((github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch')
steps:
- uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: gen-artifacts
path: gen
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.11
cache: pip
cache-dependency-path: scripts/py/requirements.txt
- uses: actions/setup-node@v4
with:
node-version: 18.18
cache: npm
cache-dependency-path: scripts/js/package-lock.json
- uses: actions/cache@v4
if: ${{ !env.ACT }}
with:
path: .maps-cache
key: maps-cache-cache-v2-website-${{ github.sha }}
restore-keys: |
maps-cache-cache-v2-website-
- name: Install dependencies
run: ./scripts/install.sh
- name: Push to website
uses: nick-fields/retry@v3
with:
timeout_minutes: 10
max_attempts: 3
retry_wait_seconds: 10
command: |
source .envrc
ts-node scripts/js/src/sync_to_webflow.ts sync
env:
WEBFLOW_API_TOKEN: ${{ secrets.WEBFLOW_API_TOKEN }}
WEBFLOW_COLLECTION_ID: ${{ vars.WEBFLOW_COLLECTION_ID }}
deploy-gdrive:
runs-on: ubuntu-latest
needs: build-and-test
if: vars.ENABLE_GDRIVE_PUSH && ((github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch')
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: gen-artifacts
path: gen
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: 3.11
cache: pip
cache-dependency-path: scripts/py/requirements.txt
- uses: actions/setup-node@v4
with:
node-version: 18.18
cache: npm
cache-dependency-path: scripts/js/package-lock.json
- name: Install dependencies
run: ./scripts/install.sh
- name: Authenticate to Google Cloud
id: auth
uses: google-github-actions/auth@v2
with:
workload_identity_provider: projects/187238959541/locations/global/workloadIdentityPools/github-actions/providers/github
service_account: [email protected]
- name: Push to GDrive
run: |
source .envrc
ts-node scripts/js/src/sync_to_gdrive.ts sync