sylviiu - schedule - 622482c6a100cb4e1a6b51fb47a87f6a690dbc77 #159
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ezytdl pybridge dist | |
run-name: ${{ github.actor }} - ${{ github.event_name }} - ${{ github.sha }} | |
on: | |
schedule: | |
- cron: "0 11 * * 1,3,5" # every Monday, Wednesday and Friday at 11:00 UTC (6:00 EST) | |
workflow_dispatch: | |
inputs: | |
notes: | |
description: "Release notes" | |
required: false | |
default: '' | |
jobs: | |
#check_date: | |
# runs-on: ubuntu-latest | |
# name: Check latest commit | |
# outputs: | |
# should_run: ${{ env.should_run }} | |
# steps: | |
# - name: Checkout repo | |
# uses: actions/checkout@v2 | |
# with: | |
# fetch-depth: 0 | |
# | |
# - id: should_run | |
# continue-on-error: true | |
# name: check if there have been more than 0 commits since last tag | |
# run: | | |
# commits_since_last_tag=$(git rev-list $(git describe --tags --abbrev=0)..HEAD --count) | |
# echo "$commits_since_last_tag commits since last tag" | |
# echo "should_run=$(if (( $commits_since_last_tag > 0 )); then echo "true"; else echo "false"; fi)" >> "$GITHUB_ENV" | |
release_info: | |
#needs: check_date | |
if: ${{ needs.check_date.outputs.should_run != 'false' }} | |
runs-on: ubuntu-latest | |
name: Create release tag | |
permissions: write-all | |
outputs: | |
release_id: ${{ steps.create_release.outputs.id }} | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Get the pre-release tag | |
id: get_tag | |
run: | | |
echo "TAG_NAME=${{github.run_number}}" >> "$GITHUB_ENV" | |
echo "RELEASE_NAME=ezytdl pybridge build ${{github.run_number}}" >> "$GITHUB_ENV" | |
node devscripts/generateReleaseNotes.js ${{ github.event.inputs.notes }} | |
echo "BODY_PATH=$(echo "$(pwd)/release-notes.md")" >> "$GITHUB_ENV" | |
- name: Create pre-release draft | |
id: create_release | |
uses: ncipollo/release-action@v1 | |
with: | |
tag: ${{ env.TAG_NAME }} | |
name: ${{ env.RELEASE_NAME }} | |
commit: ${{ github.sha }} | |
draft: true | |
prerelease: false | |
makeLatest: true | |
bodyFile: ${{ env.BODY_PATH }} | |
omitBody: false | |
omitBodyDuringUpdate: true | |
linux-dist: | |
needs: release_info | |
name: "Linux distributable" | |
permissions: write-all | |
uses: sylviiu/ytdlp-pybridge/.github/workflows/build-linux.yml@main | |
with: | |
release_id: ${{ needs.release_info.outputs.release_id }} | |
macos-dist: | |
needs: release_info | |
name: "MacOS distributable" | |
permissions: write-all | |
uses: sylviiu/ytdlp-pybridge/.github/workflows/build-macos.yml@main | |
with: | |
release_id: ${{ needs.release_info.outputs.release_id }} | |
windows-dist: | |
needs: release_info | |
name: "Windows distributable" | |
permissions: write-all | |
uses: sylviiu/ytdlp-pybridge/.github/workflows/build-windows.yml@main | |
with: | |
release_id: ${{ needs.release_info.outputs.release_id }} | |
release: | |
needs: [linux-dist, macos-dist, windows-dist, release_info] | |
name: "Release the build" | |
runs-on: "ubuntu-latest" | |
permissions: write-all | |
steps: | |
- name: Publish | |
uses: eregon/publish-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
release_id: ${{ needs.release_info.outputs.release_id }} | |
- name: Delete older nightly builds | |
uses: dev-drprasad/delete-older-releases@v0.2.1 | |
with: | |
keep_latest: 3 | |
delete_tags: true | |
delete_tag_pattern: nightly | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |