diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0712b6a..e36da80 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 add-on repo - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: path: ${{ env.app_id }} - name: Configure @@ -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: diff --git a/.github/workflows/changelog-and-release.yml b/.github/workflows/changelog-and-release.yml index e3d3b4e..46c5086 100644 --- a/.github/workflows/changelog-and-release.yml +++ b/.github/workflows/changelog-and-release.yml @@ -39,14 +39,14 @@ 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 - name: Checkout Scripts - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: fetch-depth: 0 repository: kodi-pvr/pvr-scripts @@ -60,7 +60,7 @@ jobs: # Setup python version 3.9 - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: '3.9' @@ -97,12 +97,12 @@ jobs: changes="${changes//$'\r'/'%0D'}" changes="${changes//$'\\n'/'%0A'}" changes="${changes//$'\\r'/'%0D'}" - echo ::set-output name=changes::$changes + echo "changes=$changes" >> $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 @@ -133,7 +133,7 @@ jobs: shell: bash # Create a release at {steps.required-variables.outputs.branch} - # - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 1.0.0-Matrix + # - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 20.0.0-Nexus # - release body: {steps.required-variables.outputs.changes} - name: Create Release id: create-release diff --git a/.github/workflows/increment-version.yml b/.github/workflows/increment-version.yml new file mode 100644 index 0000000..b3b5b70 --- /dev/null +++ b/.github/workflows/increment-version.yml @@ -0,0 +1,62 @@ +name: Increment version when languages are updated + +on: + push: + branches: [ Matrix, Nexus ] + paths: + - '**resource.language.**strings.po' + +jobs: + default: + if: github.repository == 'xbmc/inputstream.rtmp' + 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/file-changes-action@v1.2.4 + + - 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 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/create-pull-request@v3.10.0 + 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 }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f413289..7bf49f1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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 }} @@ -42,15 +42,15 @@ jobs: changes="${changes//$'\r'/'%0D'}" changes="${changes//$'\\n'/'%0A'}" changes="${changes//$'\\r'/'%0D'}" - echo ::set-output name=changes::$changes + echo "changes=$changes" >> $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} - # - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 1.0.0-Matrix + # - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 20.0.0-Nexus # - release body: {steps.required-variables.outputs.changes} - name: Create Release id: create-release diff --git a/.github/workflows/sync-addon-metadata-translations.yml b/.github/workflows/sync-addon-metadata-translations.yml index 66b685e..44615dc 100644 --- a/.github/workflows/sync-addon-metadata-translations.yml +++ b/.github/workflows/sync-addon-metadata-translations.yml @@ -12,22 +12,34 @@ jobs: if: github.repository == 'xbmc/inputstream.rtmp' runs-on: ubuntu-latest + strategy: + + fail-fast: false + matrix: + python-version: [ 3.9 ] + steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: path: project - - name: Set up Python - uses: actions/setup-python@v2 + - 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: '3.9' + python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip - python -m pip install git+https://github.com/xbmc/sync_addon_metadata_translations.git + python -m pip install sync_addon_metadata_translations/ - name: Run sync-addon-metadata-translations run: |