Fix node12 usage in test-language workflow #20
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: build | |
on: | |
push: | |
paths-ignore: | |
- 'README.md' | |
pull_request: | |
paths-ignore: | |
- 'README.md' | |
jobs: | |
test-python: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ['2.7', '3.11'] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python 3 | |
if: matrix.python-version != '2.7' | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Upgrade Python 3 pip | |
if: matrix.python-version != '2.7' | |
run: | | |
python -m pip install --upgrade pip | |
- name: Set up Python 2 | |
if: matrix.python-version == '2.7' | |
run: | | |
sudo apt install -y python2 | |
sudo ln -sf /usr/bin/python2 /usr/bin/python | |
curl -L -O "https://bootstrap.pypa.io/pip/2.7/get-pip.py" | |
python get-pip.py | |
- name: Install dependencies | |
run: | | |
pip install flake8 | |
- name: Compile sources | |
run: | | |
python -O -m compileall ./src/ | |
- name: Check code with flake8 | |
run: | | |
flake8 --ignore=W191,E117,E126,E128,E501,F821 --show-source | |
test-language: | |
needs: test-python | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install gettext | |
- name: Compile language files | |
run: | | |
for i in $(ls -1 ./po/*.po); do $(msgfmt "$i" -o "$i".mo); done | |
deploy: | |
needs: test-language | |
if: github.event_name == 'push' && !contains(github.event.head_commit.message,'skip-release') && github.repository == 'Taapat/enigma2-plugin-alternativesoftcammanager' && github.ref == 'refs/heads/master' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python 2.7 | |
run: | | |
sudo apt install -y python2 | |
- name: Install dependencies | |
run: | | |
sudo apt-get install gettext | |
- name: Build sources | |
run: | | |
python setup.py build --build-lib=build/lib | |
- name: Set git variables | |
run: | | |
echo "SRCPV=git$(git rev-list --count HEAD)" >> $GITHUB_ENV | |
echo "PKGV=1+git$(git rev-list --count HEAD)+${GITHUB_SHA::7}-r0.0" >> $GITHUB_ENV | |
echo "COMMIT_SUBJECT=$(git log -1 --pretty=format:%s)" >> $GITHUB_ENV | |
- name: Create plugin package files | |
run: | | |
mkdir -p deploy/data/usr/lib/enigma2/python/Plugins | |
cp -r build/lib/* deploy/data/usr/lib/enigma2/python/Plugins | |
sed -i 's/Version:/Version: ${{ env.env.PKGV }}/' deploy/control/control | |
mkdir ipk | |
- name: Compile python sources | |
run: | | |
python -O -m compileall deploy/data/usr/lib/enigma2/python/Plugins/Extensions/AlternativeSoftCamManager/ | |
- name: Build python data package | |
working-directory: './deploy/data' | |
run: | | |
tar --numeric-owner --group=0 --owner=0 -czf ../data.tar.gz ./* | |
- name: Build python control package | |
working-directory: './deploy/control' | |
run: | | |
tar --numeric-owner --group=0 --owner=0 -czf ../control.tar.gz ./* | |
- name: Build python ipk package | |
working-directory: './deploy' | |
run: | | |
echo 2.0 > debian-binary | |
ar rv ../ipk/enigma2-plugin-extensions-alternativesoftcammanager_${{ env.env.PKGV }}_all.ipk debian-binary data.tar.gz control.tar.gz | |
- name: Create release | |
uses: Taapat/[email protected] | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
tag: ${{ env.SRCPV }} | |
name: ${{ env.COMMIT_SUBJECT }} | |
gzip: false | |
files: > | |
ipk/enigma2-plugin-extensions-alternativesoftcammanager_${{ env.env.PKGV }}_all.ipk | |
- name: Upload ipk via ftp | |
uses: sebastianpopp/ftp-action@releases/v2 | |
with: | |
host: ${{ secrets.FTP_SERVER }} | |
user: ${{ secrets.FTP_USERNAME }} | |
password: ${{ secrets.FTP_PASSWORD }} | |
localDir: 'ipk' | |
remoteDir: ${{ secrets.FTP_DIR }} |