59 lines
2.8 KiB
YAML
59 lines
2.8 KiB
YAML
name: Repology metadata
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 */3 * * *'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
update:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Clone repository
|
|
uses: actions/checkout@v2
|
|
- name: Clone supplementary package repositories
|
|
run: |
|
|
mkdir -p /tmp/repos
|
|
git clone --depth=1 https://github.com/termux/game-packages /tmp/repos/games
|
|
git clone --depth=1 https://github.com/termux/science-packages /tmp/repos/science
|
|
git clone --depth=1 https://github.com/termux/termux-root-packages /tmp/repos/root
|
|
git clone --depth=1 https://github.com/termux/unstable-packages /tmp/repos/unstable
|
|
git clone --depth=1 https://github.com/termux/x11-packages /tmp/repos/x11
|
|
- name: Process all Termux packages
|
|
run: |
|
|
mkdir -p generated
|
|
bash ./scripts/repology/generate-repology-metadata.sh ./packages/* /tmp/repos/*/packages/* > ./generated/packages.json
|
|
- name: Upload metadata to bintray.com
|
|
env:
|
|
BINTRAY_USERNAME: xeffyr
|
|
BINTRAY_API_KEY: ${{ secrets.BINTRAY_API_KEY }}
|
|
run: |
|
|
response=$(curl --silent --user "${BINTRAY_USERNAME}:${BINTRAY_API_KEY}" --request DELETE --write-out "|%{http_code}" \
|
|
"https://api.bintray.com/packages/termux/metadata/repology/versions/current")
|
|
if [[ $(echo "$response" | cut -d'|' -f2) != "200" ]] && [[ $(echo "$response" | cut -d'|' -f2) != "404" ]]; then
|
|
echo "Failed to delete entry for version 'current' !"
|
|
echo "response: $response"
|
|
fi
|
|
response=$(curl --silent --user "${BINTRAY_USERNAME}:${BINTRAY_API_KEY}" --request POST --write-out "|%{http_code}" \
|
|
--header "Content-Type: application/json" --data '{"name":"current"}' \
|
|
"https://api.bintray.com/packages/termux/metadata/repology/versions")
|
|
if [[ $(echo "$response" | cut -d'|' -f2) != "201" ]] && [[ $(echo "$response" | cut -d'|' -f2) != "409" ]]; then
|
|
echo "Failed to create entry for version 'current' !"
|
|
echo "response: $response"
|
|
exit 1
|
|
fi
|
|
response=$(curl --silent --user "${BINTRAY_USERNAME}:${BINTRAY_API_KEY}" --request PUT \
|
|
--header "X-Bintray-Package: repology" --header "X-Bintray-Version: current" \
|
|
--header "X-Bintray-Publish: 1" --upload-file ./generated/packages.json --write-out "|%{http_code}" \
|
|
"https://api.bintray.com/content/termux/metadata/repology/packages.json")
|
|
if [[ $(echo "$response" | cut -d'|' -f2) != "201" ]] && [[ $(echo "$response" | cut -d'|' -f2) != "409" ]]; then
|
|
echo "New metadata uploading failed !"
|
|
echo "response: $response"
|
|
exit 1
|
|
fi
|
|
- name: Store packages.json as artifact
|
|
uses: actions/upload-artifact@v1
|
|
with:
|
|
name: repology-metadata
|
|
path: ./generated/packages.json
|