Skip to content

Weekly Build

Weekly Build #3

Workflow file for this run

name: Weekly Build
on:
schedule:
- cron: '0 0 * * 0' # Runs every Sunday at midnight UTC
workflow_dispatch: # Allows manual triggering
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y libasound2-dev libudev-dev
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Build the game
run: cargo build --release
- name: Compress build files
run: |
mkdir SBEPIS
cp ./target/release/sbepis SBEPIS/
cp -r ./assets SBEPIS/
DATE=$(date +%Y-%m-%d)
tar -czf sbepis-linux-$DATE.tar.gz SBEPIS
- name: Install rclone
run: |
curl https://rclone.org/install.sh | sudo bash
- name: Configure rclone
run: |
mkdir -p ~/.config/rclone
echo "${{ secrets.RCLONE_CONFIG }}" > ~/.config/rclone/rclone.conf
- name: Upload build to Google Drive
run: |
DATE=$(date +%Y-%m-%d)
rclone copy sbepis-linux-$DATE.tar.gz gdrive:1Ggklf44X2xCzUimQXQ0K7bTO4IbOLUEC
build-windows:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: Build the game
run: cargo build --release
- name: Compress build files
run: |
mkdir SBEPIS
cp .\target\release\sbepis.exe SBEPIS\
cp -r .\assets SBEPIS\
$DATE = (Get-Date -Format "yyyy-MM-dd")
Compress-Archive -Path .\SBEPIS -DestinationPath sbepis-windows-$DATE.zip
- name: Install rclone
run: |
choco install rclone
- name: Configure rclone
run: |
$rcloneConfigPath = "$env:USERPROFILE\.config\rclone\rclone.conf"
mkdir -p (Split-Path $rcloneConfigPath)
@"${{ secrets.RCLONE_CONFIG }}"@ | Set-Content -Path $rcloneConfigPath
- name: Upload build to Google Drive
run: |
$DATE = (Get-Date -Format "yyyy-MM-dd")
rclone copy sbepis-windows-$DATE.zip gdrive:1Ggklf44X2xCzUimQXQ0K7bTO4IbOLUEC
notify-discord:
runs-on: ubuntu-latest
needs: [build-linux, build-windows]
steps:
- name: Send Discord notification
env:
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
run: |
DATE=$(date +%Y-%m-%d)
LINUX_LINK=$(rclone link gdrive:1Ggklf44X2xCzUimQXQ0K7bTO4IbOLUEC/sbepis-linux-$DATE.tar.gz)
WINDOWS_LINK=$(rclone link gdrive:1Ggklf44X2xCzUimQXQ0K7bTO4IbOLUEC/sbepis-windows-$DATE.zip)
curl -H "Content-Type: application/json" \
-X POST \
-d "{\"content\": \"New builds are available!\\nDate: $DATE\\n[Windows]($WINDOWS_LINK) [Linux]($LINUX_LINK)\"}" \
$DISCORD_WEBHOOK_URL