---

kind: pipeline
type: docker
name: Build Linux

# Limits how many of these builds can run on the drone runner at a time, this isn't about cores
concurrency:
  limit: 1

volumes:
  - name: cache
    host:
      path: /var/lib/cache-release

steps:
  - name: Build Linux X64
    image: akkadius/eqemu-server:v11
    environment:
      GITHUB_TOKEN:
        from_secret: GH_RELEASE_GITHUB_API_TOKEN
      RCLONE_CONFIG_REMOTE_TYPE: ftp
      RCLONE_FTP_HOST: drone.akkadius.com
      RCLONE_FTP_USER: artifacts
      RCLONE_FTP_PASS:
        from_secret: RCLONE_FTP_PASS
    commands:
      - ./utils/scripts/build/linux-build.sh
    volumes:
      - name: cache
        path: /home/eqemu/.ccache/

---

kind: pipeline
type: exec
name: Build Windows

# Limits how many of these builds can run on the drone runner at a time, this isn't about cores
concurrency:
  limit: 1

platform:
  os: windows
  arch: amd64

steps:
  - name: Build Windows X64
    environment:
      RCLONE_CONFIG_REMOTE_TYPE: ftp
      RCLONE_FTP_HOST: drone.akkadius.com
      RCLONE_FTP_USER: artifacts
      RCLONE_FTP_PASS:
        from_secret: RCLONE_FTP_PASS
      GITHUB_TOKEN:
        from_secret: GH_RELEASE_GITHUB_API_TOKEN
    commands:
      - .\utils\scripts\build\windows-build.ps1

---

kind: pipeline
type: docker
name: Publish Artifacts to Github

steps:
  - name: Upload Artifacts
    image: akkadius/eqemu-build-releaser:v3
    environment:
      RCLONE_CONFIG_REMOTE_TYPE: ftp
      RCLONE_FTP_HOST: drone.akkadius.com
      RCLONE_FTP_USER: artifacts
      RCLONE_FTP_PASS:
        from_secret: RCLONE_FTP_PASS
      GH_RELEASE_GITHUB_API_TOKEN:
        from_secret: GH_RELEASE_GITHUB_API_TOKEN
      GITHUB_TOKEN:
        from_secret: GH_RELEASE_GITHUB_API_TOKEN
    commands:
      - ./utils/scripts/build/should-release/should-release
      - rclone config create remote ftp env_auth true > /dev/null
      - |
        rclone copy remote: --include "eqemu-server*.zip" .
      - gh-release --assets=eqemu-server-linux-x64.zip,eqemu-server-windows-x64.zip -y
      - |
        rclone delete remote: --include "eqemu-server*.zip"

trigger:
  branch:
    - master
  event:
    - push

depends_on:
  - Build Windows
  - Build Linux


