44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
|
name: Update CImg
|
||
|
on:
|
||
|
schedule:
|
||
|
- cron: 0 0 3 * * # The first day after this workflow was merged
|
||
|
release:
|
||
|
types: [published]
|
||
|
workflow_dispatch:
|
||
|
jobs:
|
||
|
check-version:
|
||
|
name: Check for updates
|
||
|
runs-on: ubuntu-latest
|
||
|
outputs:
|
||
|
latest-tag: ${{ steps.latest-tag.outputs.result }}
|
||
|
steps:
|
||
|
- name: Fetch the latest tag (could be buggy)
|
||
|
uses: actions/github-script@v7
|
||
|
id: latest-tag
|
||
|
with:
|
||
|
result-encoding: string
|
||
|
script: |
|
||
|
return (await github.rest.repos.listTags({ owner: 'GreycLab', repo: 'CImg', per_page: 28 })).data[27].name
|
||
|
pull-file:
|
||
|
name: Update CImg.h
|
||
|
runs-on: ubuntu-latest
|
||
|
needs: check-version
|
||
|
if: ${{ needs.check-version.outputs.latest-tag != 'v.3.3.3' }}
|
||
|
steps:
|
||
|
- uses: actions/checkout@v4
|
||
|
name: Checkout this repository
|
||
|
with:
|
||
|
token: ${{ secrets.CIMG_UPDATE_TOKEN }}
|
||
|
- name: Download new CImg version
|
||
|
uses: carlosperate/download-file-action@v2
|
||
|
with:
|
||
|
file-url: 'https://github.com/GreycLab/CImg/raw/${{ needs.check-version.outputs.latest-tag }}/CImg.h'
|
||
|
location: 'src'
|
||
|
- name: Commit new CImg version (and update script)
|
||
|
run: |
|
||
|
sed -i 's/v.3.3.3/${{ needs.check-version.outputs.latest-tag }}/' .github/workflows/cimg.yml
|
||
|
git config user.name 'GitHub Actions'
|
||
|
git config user.email 'actions@github.com'
|
||
|
git commit -am "Update CImg to ${{ needs.check-version.outputs.latest-tag }}"
|
||
|
git push
|