Skip to content

sylviiu - schedule - 622482c6a100cb4e1a6b51fb47a87f6a690dbc77 #159

sylviiu - schedule - 622482c6a100cb4e1a6b51fb47a87f6a690dbc77

sylviiu - schedule - 622482c6a100cb4e1a6b51fb47a87f6a690dbc77 #159

Workflow file for this run

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 }}