Update Plains and Passes v1.0 from Rowy (#139) #202
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: 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@v3 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
cache: pip | |
cache-dependency-path: scripts/py/requirements.txt | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: npm | |
cache-dependency-path: scripts/js/package-lock.json | |
- uses: actions/cache@v3 | |
if: ${{ !env.ACT }} | |
with: | |
path: .maps-cache | |
key: maps-cache-cache-v2 | |
- 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@v3 | |
with: | |
name: gen-artifacts | |
path: gen | |
deploy-cdn: | |
runs-on: ubuntu-latest | |
needs: build-and-test | |
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download artifacts | |
uses: actions/download-artifact@v3 | |
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: ((github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch') && !vars.DISABLE_BYAR_CHOBBY_PUSH | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: gen-artifacts | |
path: gen | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
cache: pip | |
cache-dependency-path: scripts/py/requirements.txt | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: npm | |
cache-dependency-path: scripts/js/package-lock.json | |
- name: Install dependencies | |
run: ./scripts/install.sh | |
- name: Checkout BYAR-Chobby | |
uses: actions/checkout@v3 | |
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: ((github.event_name == 'push' && github.ref == 'refs/heads/main') || github.event_name == 'workflow_dispatch') && !vars.DISABLE_SPADS_CONFIG_PUSH | |
steps: | |
- name: Download artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: gen-artifacts | |
path: gen | |
- name: Checkout SPADS Config | |
uses: actions/checkout@v3 | |
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 | |
- 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 |