Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update deprecated github workflows nexus #112

Merged
merged 1 commit into from
Feb 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ jobs:
if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get update; fi
if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get install fakeroot; fi
- name: Checkout Kodi repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
repository: xbmc/xbmc
ref: Nexus
path: xbmc
- name: Checkout pvr.freebox repo
uses: actions/checkout@v2
- name: Checkout add-on repo
uses: actions/checkout@v4
with:
path: ${{ env.app_id }}
- name: Configure
Expand All @@ -41,7 +41,7 @@ jobs:
run: |
if [[ $DEBIAN_BUILD != true ]]; then cd ${app_id} && mkdir -p build && cd build; fi
if [[ $DEBIAN_BUILD != true ]]; then cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=${{ github.workspace }} -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/xbmc/addons -DPACKAGE_ZIP=1 ${{ github.workspace }}/xbmc/cmake/addons; fi
if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/master/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi
if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/Nexus/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi
if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get build-dep ${{ github.workspace }}/${app_id}; fi
- name: Build
env:
Expand Down
28 changes: 14 additions & 14 deletions .github/workflows/changelog-and-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,28 +39,29 @@ jobs:

# Checkout the current repository into a directory (repositories name)
- name: Checkout Repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
path: ${{ github.event.repository.name }}

# Checkout the required scripts from kodi-pvr/pvr-scripts into the 'scripts' directory
# Checkout the required scripts from xbmc/binary-addon-scripts into the 'scripts' directory
- name: Checkout Scripts
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
repository: kodi-pvr/pvr-scripts
repository: xbmc/binary-addon-scripts
path: scripts

# Install all dependencies required by the following steps
# - libxml2-utils, xmlstarlet: reading news and version from addon.xml.in
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install libxml2-utils xmlstarlet

# Setup python version 3.9
- name: Set up Python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: '3.9'

Expand All @@ -84,6 +85,7 @@ jobs:
# - steps.required-variables.outputs.version: version element from addon.xml.in
# - steps.required-variables.outputs.branch: branch of the triggering ref
# - steps.required-variables.outputs.today: today's date in format '%Y-%m-%d'
# Note: we use a random EOF for 'changes' as is best practice for for multiline variables
- name: Get required variables
id: required-variables
run: |
Expand All @@ -92,17 +94,15 @@ jobs:
then
changes=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/extension/news)' | awk -v RS= 'NR==1')
fi
changes="${changes//'%'/'%25'}"
changes="${changes//$'\n'/'%0A'}"
changes="${changes//$'\r'/'%0D'}"
changes="${changes//$'\\n'/'%0A'}"
changes="${changes//$'\\r'/'%0D'}"
echo ::set-output name=changes::$changes
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
echo "changes<<$EOF" >> $GITHUB_OUTPUT
echo "$changes" >> $GITHUB_OUTPUT
echo "$EOF" >> $GITHUB_OUTPUT
version=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/@version)')
echo ::set-output name=version::$version
echo "version=$version" >> $GITHUB_OUTPUT
branch=$(echo ${GITHUB_REF#refs/heads/})
echo ::set-output name=branch::$branch
echo ::set-output name=today::$(date +'%Y-%m-%d')
echo "branch=$branch" >> $GITHUB_OUTPUT
echo "today=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
working-directory: ${{ github.event.repository.name }}

# Create a commit of the incremented version and changelog, news changes
Expand Down
63 changes: 63 additions & 0 deletions .github/workflows/increment-version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Increment version when languages are updated

on:
push:
branches: [ Matrix, Nexus ]
paths:
- '**resource.language.**strings.po'

jobs:
default:
if: github.repository == 'aassif/pvr.freebox'
runs-on: ubuntu-latest
name: Increment add-on version when languages are updated

steps:

- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0
path: ${{ github.event.repository.name }}

- name: Checkout Scripts
uses: actions/checkout@v4
with:
fetch-depth: 0
repository: xbmc/weblate-supplementary-scripts
path: scripts

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.9'

- name: Get changed files
uses: trilom/[email protected]

- name: Increment add-on version
run: |
python3 ../scripts/binary/increment_version.py $HOME/files.json -c -n
working-directory: ${{ github.event.repository.name }}

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install libxml2-utils xmlstarlet

- name: Get required variables
id: required-variables
run: |
version=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/@version)')
echo "version=$version" >> $GITHUB_OUTPUT
working-directory: ${{ github.event.repository.name }}

- name: Create PR for incrementing add-on versions
uses: peter-evans/[email protected]
with:
commit-message: Add-on version incremented to ${{ steps.required-variables.outputs.version }} from Weblate
title: Add-on version incremented to ${{ steps.required-variables.outputs.version }} from Weblate
body: Add-on version incremented triggered by ${{ github.sha }}
branch: inc-ver
delete-branch: true
path: ./${{ github.event.repository.name }}
18 changes: 9 additions & 9 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:

# Checkout the current repository into a directory (repositories name)
- name: Checkout Repository
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
fetch-depth: 0
path: ${{ github.event.repository.name }}
Expand All @@ -23,12 +23,14 @@ jobs:
# - libxml2-utils, xmlstarlet: reading news and version from addon.xml.in
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install libxml2-utils xmlstarlet

# Create the variables required by the following steps
# - steps.required-variables.outputs.changes: latest entry in the changelog.txt (if exists), or addon.xml.in news element
# - steps.required-variables.outputs.version: version element from addon.xml.in
# - steps.required-variables.outputs.branch: branch of the triggering ref
# Note: we use a random EOF for 'changes' as is best practice for for multiline variables
- name: Get required variables
id: required-variables
run: |
Expand All @@ -37,16 +39,14 @@ jobs:
then
changes=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/extension/news)' | awk -v RS= 'NR==1')
fi
changes="${changes//'%'/'%25'}"
changes="${changes//$'\n'/'%0A'}"
changes="${changes//$'\r'/'%0D'}"
changes="${changes//$'\\n'/'%0A'}"
changes="${changes//$'\\r'/'%0D'}"
echo ::set-output name=changes::$changes
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
echo "changes<<$EOF" >> $GITHUB_OUTPUT
echo "$changes" >> $GITHUB_OUTPUT
echo "$EOF" >> $GITHUB_OUTPUT
version=$(xmlstarlet fo -R "$(find . -name addon.xml.in)" | xmlstarlet sel -t -v 'string(/addon/@version)')
echo ::set-output name=version::$version
echo "version=$version" >> $GITHUB_OUTPUT
branch=$(echo ${GITHUB_REF#refs/heads/})
echo ::set-output name=branch::$branch
echo "branch=$branch" >> $GITHUB_OUTPUT
working-directory: ${{ github.event.repository.name }}

# Create a release at {steps.required-variables.outputs.branch}
Expand Down
58 changes: 58 additions & 0 deletions .github/workflows/sync-addon-metadata-translations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Sync addon metadata translations

on:
push:
branches: [ Matrix, Nexus ]
paths:
- '**addon.xml.in'
- '**resource.language.**strings.po'

jobs:
default:
if: github.repository == 'aassif/pvr.freebox'
runs-on: ubuntu-latest

strategy:

fail-fast: false
matrix:
python-version: [ 3.9 ]

steps:

- name: Checkout repository
uses: actions/checkout@v4
with:
path: project

- name: Checkout sync_addon_metadata_translations repository
uses: actions/checkout@v4
with:
repository: xbmc/sync_addon_metadata_translations
path: sync_addon_metadata_translations

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install sync_addon_metadata_translations/

- name: Run sync-addon-metadata-translations
run: |
sync-addon-metadata-translations
working-directory: ./project

- name: Create PR for sync-addon-metadata-translations changes
uses: peter-evans/[email protected]
with:
commit-message: Sync of addon metadata translations
title: Sync of addon metadata translations
body: Sync of addon metadata translations triggered by ${{ github.sha }}
branch: amt-sync
delete-branch: true
path: ./project
reviewers: gade01