name: Snap.

on:
  push:
    paths-ignore:
      - 'docs/**'
      - '**.md'
      - 'changelog.txt'
      - 'LEGAL'
      - 'LICENSE'
      - '.github/**'
      - '!.github/workflows/snap.yml'
      - 'Telegram/build/**'
      - 'Telegram/Resources/uwp/**'
      - 'Telegram/Resources/winrc/**'
      - 'Telegram/SourceFiles/platform/win/**'
      - 'Telegram/SourceFiles/platform/mac/**'
      - 'Telegram/Telegram/**'
      - 'Telegram/configure.bat'
      - 'Telegram/Telegram.plist'
  pull_request:
    paths-ignore:
      - 'docs/**'
      - '**.md'
      - 'changelog.txt'
      - 'LEGAL'
      - 'LICENSE'
      - '.github/**'
      - '!.github/workflows/snap.yml'
      - 'Telegram/build/**'
      - 'Telegram/Resources/uwp/**'
      - 'Telegram/Resources/winrc/**'
      - 'Telegram/SourceFiles/platform/win/**'
      - 'Telegram/SourceFiles/platform/mac/**'
      - 'Telegram/Telegram/**'
      - 'Telegram/configure.bat'
      - 'Telegram/Telegram.plist'

jobs:

  snap:
    name: Ubuntu
    runs-on: ubuntu-20.04

    env:
      UPLOAD_ARTIFACT: "false"

    steps:
      - name: Clone.
        uses: actions/checkout@v3.1.0
        with:
          fetch-depth: 0
          submodules: recursive

      - name: First set up.
        run: |
          sudo iptables -P FORWARD ACCEPT
          sudo snap install --classic snapcraft
          sudo usermod -aG lxd $USER
          sudo snap run lxd init --auto
          sudo snap run lxd waitready

      - name: Telegram Desktop snap build.
        run: sg lxd -c 'snap run snapcraft -v'

      - name: Move artifact.
        if: env.UPLOAD_ARTIFACT == 'true'
        run: |
          artifact_name=$(echo telegram-desktop_*.snap)
          echo "ARTIFACT_NAME=$artifact_name" >> $GITHUB_ENV

          mkdir artifact
          mv $artifact_name artifact

      - uses: actions/upload-artifact@master
        if: env.UPLOAD_ARTIFACT == 'true'
        name: Upload artifact.
        with:
          name: ${{ env.ARTIFACT_NAME }}
          path: artifact
