name: release on: push: branches: - main schedule: - cron: '0 0/1 * * *' jobs: release: runs-on: act-runner-user steps: - name: check pagefind version id: check run: | export NEWEST_PAGEFIND_RELEASE=$(curl -s https://api.github.com/repos/CloudCannon/pagefind/releases | jq -r '.[0].name') export CURRENT_PAGEFIND_RELEASE=$(curl --user ${{ secrets.DOCKER_USERNAME }}:${{ secrets.DOCKER_PASSWORD }} https://git.cantorgymnasium.de/api/v1/packages/gcg | jq -r 'map(select( .name | contains("pagefind"))) | .[0].version') echo update_available=$(! [[ $NEWEST_PAGEFIND_RELEASE != $CURRENT_PAGEFIND_RELEASE ]]; echo $?) >> $GITHUB_OUTPUT - name: update hugo package if: steps.check.outputs.update_available == 1 run: | export NEWEST_PAGEFIND_RELEASE=$(curl -s https://api.github.com/repos/CloudCannon/pagefind/releases | jq -r '.[0].name') curl -LO https://github.com/CloudCannon/pagefind/releases/download/v$(echo $NEWEST_PAGEFIND_RELEASE)/pagefind_extended_$(echo $NEWEST_PAGEFIND_RELEASE)_x86_64-unknown-linux-musl.tar.gz tar -xf pagefind_extended_$(echo $NEWEST_PAGEFIND_RELEASE)_x86_64-unknown-linux-musl.tar.gz curl --user ${{ secrets.DOCKER_USERNAME }}:${{ secrets.DOCKER_PASSWORD }} --upload-file pagefind_extended https://git.cantorgymnasium.de/api/packages/gcg/generic/hugo/$NEWEST_PAGEFIND_RELEASE/pagefind_extended - name: deploy if: steps.check.outputs.update_available == 1 run: | export NEWEST_PAGEFIND_RELEASE=$(curl -s https://api.github.com/repos/CloudCannon/pagefind/releases | jq -r '.[0].name') curl -sL https://git.cantorgymnasium.de/api/packages/gcg/generic/hugo/$NEWEST_PAGEFIND_RELEASE/pagefind_extended --output /usr/local/bin/pagefind_extended - name: notification uses: actions/telegram-action@main if: always() with: chat_id: ${{ secrets.TG_CHAT_ID }} token: ${{ secrets.TG_TOKEN }}