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.4' }} 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.4/${{ 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