Check for new release of FreeSWITCH #69
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: Check for new release of FreeSWITCH | |
on: | |
schedule: | |
- cron: "0 0 * * *" | |
jobs: | |
prepare: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Get latest FreeSWTICH release tag | |
uses: ./.github/actions/get_release | |
id: release-info | |
with: | |
repository: /~https://github.com/signalwire/freeswitch | |
- name: Print release tag | |
run: | | |
echo "Latest upstream release: ${{ steps.release-info.outputs.version }}" | |
shell: bash | |
- name: Parse Dockerfile | |
id: local-version | |
run: | | |
VALUE=$(sed -n 's/ARG FREESWITCH\_VERSION=\"\(v[[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\)\"/\1/p' Dockerfile) | |
echo "value=$VALUE" >> $GITHUB_OUTPUT | |
shell: bash | |
outputs: | |
upstream-version: ${{ steps.release-info.outputs.version }} | |
local-version: ${{ steps.local-version.outputs.value }} | |
name: ${{ steps.steps.release-info.outputs.name }} | |
url: ${{ steps.steps.release-info.outputs.url }} | |
patch: | |
runs-on: ubuntu-latest | |
needs: | |
- prepare | |
permissions: | |
contents: write | |
pull-requests: write | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Patch FreeSWITCH version if needed | |
if: ${{ needs.prepare.outputs.local-version != needs.prepare.outputs.upstream-version }} | |
run: | | |
echo "Freeswitch needs an update. Local version: ${{ needs.prepare.outputs.local-version }}, Upstream version: ${{ needs.prepare.outputs.upstream-version }}" | |
sed -i 's/ARG FREESWITCH\_VERSION=\"v[[:digit:]]*\.[[:digit:]]*\.[[:digit:]]*\"/ARG FREESWITCH\_VERSION=\"${{ needs.prepare.outputs.upstream-version }}\"/' Dockerfile | |
- name: Create Pull Request | |
if: ${{ needs.prepare.outputs.local-version != needs.prepare.outputs.upstream-version }} | |
uses: peter-evans/create-pull-request@v7 | |
with: | |
commit-message: | | |
[FreeSWITCH] Update FreeSWITCH from ${{ needs.prepare.outputs.local-version }} to ${{ needs.prepare.outputs.upstream-version }} | |
Updates [FreeSWITCH](/~https://github.com/signalwire/freeswitch) to permit the latest version. | |
- [Release notes](/~https://github.com/signalwire/freeswitch/releases/) | |
body: | | |
Updates the requirements on [FreeSWITCH](/~https://github.com/signalwire/freeswitch) to permit the latest version. | |
<details> | |
<summary>Release notes</summary> | |
<ul> | |
<li><a href="${{ needs.prepare.outputs.url }}"><code>${{ needs.prepare.outputs.name }}</code></a></li> | |
</ul> | |
</details> | |
title: | | |
[FreeSWITCH] Update FreeSWITCH from ${{ needs.prepare.outputs.local-version }} to ${{ needs.prepare.outputs.upstream-version }} | |
labels: dependencies, freeswitch | |
branch: updater/freeswitch/freeswitch-${{ needs.prepare.outputs.upstream-version }} | |
sign-commits: true |