fetch-asterisk-releases and build workflows

This commit is contained in:
Andrius Kairiukstis 2022-05-16 17:15:40 +02:00
parent 1d19ae27f0
commit 8f2415c17e
No known key found for this signature in database
GPG Key ID: 5FF87DD5A462570A
10 changed files with 1304 additions and 1 deletions

3
.act/build-asterisk.json Normal file
View File

@ -0,0 +1,3 @@
{
"action": "workflow_dispatch"
}

View File

@ -0,0 +1,3 @@
{
"action": "workflow_dispatch"
}

View File

@ -0,0 +1,3 @@
{
"action": "workflow_dispatch"
}

View File

@ -0,0 +1,6 @@
{
"action": "workflow_dispatch",
"inputs": {
"github_ref": "master"
}
}

25
.github/workflows/build-asterisk.yml vendored Normal file
View File

@ -0,0 +1,25 @@
name: Build asterisk
on:
workflow_dispatch:
push:
paths:
- .github/workflows/build-asterisk.yml
- 'asterisk-releases.txt'
jobs:
build-asterisk:
timeout-minutes: 600
runs-on: ubuntu-20.04
strategy:
matrix:
releases: ['1.2', '1.4', '1.6', '1.8', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19']
fail-fast: false
steps:
- run: |
set -x
echo "Processing asterisk releases for v. ${{ matrix.releases }}.x"

View File

@ -0,0 +1,25 @@
name: Build asterisk (cert)
on:
workflow_dispatch:
push:
paths:
- .github/workflows/build-cert-asterisk.yml
- 'asterisk-certified-releases.txt'
jobs:
build-cert-asterisk:
timeout-minutes: 600
runs-on: ubuntu-20.04
strategy:
matrix:
releases: ['11', '13', '16', '18']
fail-fast: false
steps:
- run: |
set -x
echo "Processing asterisk (cert) releases for v. ${{ matrix.releases }}.x"

View File

@ -0,0 +1,93 @@
name: Fetch asterisk releases
on:
workflow_dispatch:
push:
paths:
- .github/workflows/fetch-asterisk-releases.yml
schedule:
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * *
- cron: '0 20 * * *' # Daily at 8 PM
jobs:
fetch-asterisk-releases:
timeout-minutes: 10
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Fetch asterisk releases
shell: bash
run: |
set -ueox pipefail
URLS=( \
http://downloads.asterisk.org/pub/telephony/asterisk/releases/ \
http://downloads.asterisk.org/pub/telephony/asterisk/ \
http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/ \
)
RELEASES=""
for URL in "${URLS[@]}"; do
_RELEASES="$( \
curl -sL "${URL}" \
| grep '<a href="asterisk.*.tar.gz">' \
| grep -v '\-patch\|\-addons\|\-sounds' \
| awk -F '</td><td>|">asterisk' '{print $2}' \
| awk -F '"' '{print $NF}' \
| awk -F '.tar.gz' '{print $1}' \
)"
RELEASES="$(echo -e "\n${RELEASES}\n${_RELEASES}")"
done
echo -e "${RELEASES}" | sort -u > ./asterisk-releases.txt
URLS=( \
http://downloads.asterisk.org/pub/telephony/certified-asterisk/ \
http://downloads.asterisk.org/pub/telephony/certified-asterisk/releases/ \
)
RELEASES=""
for URL in "${URLS[@]}"; do
_RELEASES="$( \
curl -sL "${URL}" \
| grep '<a href="asterisk.*.tar.gz">' \
| grep -v '\-patch' \
| awk -F '</td><td>|">asterisk' '{print $2}' \
| awk -F '"' '{print $NF}' \
| awk -F '.tar.gz' '{print $1}' \
)"
RELEASES="$(echo -e "\n${RELEASES}\n${_RELEASES}")"
done
echo -e "${RELEASES}" | sort -u > ./asterisk-certified-releases.txt
- name: Commit and push updates
shell: bash
run: |
set -ueox pipefail
git config user.email "github-actions@users.noreply.github.com"
git config user.name "github-actions[bot]"
git add ./asterisk-releases.txt
git add ./asterisk-certified-releases.txt
git commit \
--all \
--allow-empty \
--message "Automatic update of asterisk releases file(s) on $(date '+%Y-%m-%d %H:%M:%S')"
git push

View File

@ -1,2 +1 @@
Dockerfile*
generate.sh

View File

@ -0,0 +1,54 @@
asterisk-certified-11.6-cert12
asterisk-certified-11.6-cert13
asterisk-certified-11.6-cert14
asterisk-certified-11.6-cert15
asterisk-certified-11.6-cert16
asterisk-certified-11.6-cert17
asterisk-certified-11.6-cert18
asterisk-certified-13.1-cert3
asterisk-certified-13.1-cert4
asterisk-certified-13.1-cert5
asterisk-certified-13.1-cert6
asterisk-certified-13.1-cert7
asterisk-certified-13.1-cert8
asterisk-certified-13.13-cert1
asterisk-certified-13.13-cert2
asterisk-certified-13.13-cert3
asterisk-certified-13.13-cert4
asterisk-certified-13.13-cert5
asterisk-certified-13.13-cert6
asterisk-certified-13.13-cert7
asterisk-certified-13.13-cert8
asterisk-certified-13.13-cert9
asterisk-certified-13.18-cert1
asterisk-certified-13.18-cert2
asterisk-certified-13.18-cert3
asterisk-certified-13.18-cert4
asterisk-certified-13.21-cert1
asterisk-certified-13.21-cert2
asterisk-certified-13.21-cert3
asterisk-certified-13.21-cert4
asterisk-certified-13.21-cert5
asterisk-certified-13.21-cert6
asterisk-certified-13.8-cert1
asterisk-certified-13.8-cert2
asterisk-certified-13.8-cert3
asterisk-certified-13.8-cert4
asterisk-certified-16.3-cert1
asterisk-certified-16.8-cert1
asterisk-certified-16.8-cert10
asterisk-certified-16.8-cert11
asterisk-certified-16.8-cert12
asterisk-certified-16.8-cert13
asterisk-certified-16.8-cert14
asterisk-certified-16.8-cert2
asterisk-certified-16.8-cert3
asterisk-certified-16.8-cert4
asterisk-certified-16.8-cert5
asterisk-certified-16.8-cert6
asterisk-certified-16.8-cert7
asterisk-certified-16.8-cert8
asterisk-certified-16.8-cert9
asterisk-certified-18.9-cert1
asterisk-certified-18.9-current

1092
asterisk-releases.txt Normal file

File diff suppressed because it is too large Load Diff