jellyfin-kodi/.github/workflows/build-publish.yaml

82 lines
2.5 KiB
YAML
Raw Normal View History

name: Build Jellyfin-Kodi
on:
push:
branches:
- master
tags:
- '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
py_version: [ 'py2', 'py3' ]
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Python 3.x
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pyyaml
- name: Create ${{ matrix.py_version }} addon.xml
run: python .config/generate_xml.py ${{ matrix.py_version }}
- name: Publish Build Atrifact
uses: actions/upload-artifact@v2
with:
retention-days: 14
name: ${{ matrix.py_version }}-build-artifact
path: |
**/*
!.ci/*
!.config/*
!.git/**/*
!.github/*
publish:
runs-on: ubuntu-latest
needs: build
if: ${{ startsWith(github.ref, 'refs/tags/') && github.repository == 'jellyfin/jellyfin-kodi' }}
strategy:
matrix:
py_version: [ 'py2', 'py3' ]
steps:
- uses: actions/download-artifact@v2
with:
name: ${{ matrix.py_version }}-build-artifact
path: plugin.video.jellyfin-${{ matrix.py_version }}
- name: Create release Zip
run: zip -rq plugin.video.jellyfin-${{ matrix.py_version }}.zip plugin.video.jellyfin-${{ matrix.py_version }}
- name: Upload to repo server
uses: burnett01/rsync-deployments@4.1
with:
switches: -rltgoDzvO --delete --exclude='*' --include='**/*.apk' --include='*.txt'
path: plugin.video.jellyfin-${{ matrix.py_version }}.zip
remote_path: /srv/repository/incoming/kodi
remote_host: ${{ secrets.DEPLOY_HOST }}
remote_user: ${{ secrets.DEPLOY_USER }}
remote_key: ${{ secrets.DEPLOY_KEY }}
- name: Add to Kodi repo and clean up
uses: appleboy/ssh-action@v0.1.4
with:
host: ${{ secrets.DEPLOY_HOST }}
username: ${{ secrets.DEPLOY_USER }}
key: ${{ secrets.DEPLOY_KEY }}
envs: JELLYFIN_VERSION
script_stop: true
script: |
python3 /usr/local/bin/kodirepo add /srv/repository/incoming/kodi/plugin.video.jellyfin-${{ matrix.py_version }}.zip --datadir /srv/repository/releases/client/kodi/${{ matrix.py_version }};
rm /srv/repository/incoming/kodi/plugin.video.jellyfin-${{ matrix.py_version }}.zip;