diff options
Diffstat (limited to '.github/workflows/release.yml')
-rw-r--r-- | .github/workflows/release.yml | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index ada508be8..000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,163 +0,0 @@ -name: Release -on: - workflow_dispatch: - inputs: - version: - description: Version tag (YYYY.MM.DD[.REV]) - required: false - default: '' - type: string - channel: - description: Update channel (stable/nightly/...) - required: false - default: '' - type: string - prerelease: - description: Pre-release - default: false - type: boolean - -permissions: - contents: read - -jobs: - prepare: - permissions: - contents: write - runs-on: ubuntu-latest - outputs: - channel: ${{ steps.set_channel.outputs.channel }} - version: ${{ steps.update_version.outputs.version }} - head_sha: ${{ steps.get_target.outputs.head_sha }} - - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - uses: actions/setup-python@v4 - with: - python-version: "3.10" - - - name: Set channel - id: set_channel - run: | - CHANNEL="${{ github.repository == 'yt-dlp/yt-dlp' && 'stable' || github.repository }}" - echo "channel=${{ inputs.channel || '$CHANNEL' }}" > "$GITHUB_OUTPUT" - - - name: Update version - id: update_version - run: | - REVISION="${{ vars.PUSH_VERSION_COMMIT == '' && '$(date -u +"%H%M%S")' || '' }}" - REVISION="${{ inputs.prerelease && '$(date -u +"%H%M%S")' || '$REVISION' }}" - python devscripts/update-version.py ${{ inputs.version || '$REVISION' }} | \ - grep -Po "version=\d+\.\d+\.\d+(\.\d+)?" >> "$GITHUB_OUTPUT" - - - name: Update documentation - run: | - make doc - sed '/### /Q' Changelog.md >> ./CHANGELOG - echo '### ${{ steps.update_version.outputs.version }}' >> ./CHANGELOG - python ./devscripts/make_changelog.py -vv -c >> ./CHANGELOG - echo >> ./CHANGELOG - grep -Poz '(?s)### \d+\.\d+\.\d+.+' 'Changelog.md' | head -n -1 >> ./CHANGELOG - cat ./CHANGELOG > Changelog.md - - - name: Push to release - id: push_release - if: ${{ !inputs.prerelease }} - run: | - git config --global user.name github-actions - git config --global user.email github-actions@example.com - git add -u - git commit -m "Release ${{ steps.update_version.outputs.version }}" \ - -m "Created by: ${{ github.event.sender.login }}" -m ":ci skip all :ci run dl" - git push origin --force ${{ github.event.ref }}:release - - - name: Get target commitish - id: get_target - run: | - echo "head_sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT" - - - name: Update master - if: vars.PUSH_VERSION_COMMIT != '' && !inputs.prerelease - run: git push origin ${{ github.event.ref }} - - build: - needs: prepare - uses: ./.github/workflows/build.yml - with: - version: ${{ needs.prepare.outputs.version }} - channel: ${{ needs.prepare.outputs.channel }} - permissions: - contents: read - packages: write # For package cache - secrets: - GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} - - publish_pypi_homebrew: - needs: [prepare, build] - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 - with: - python-version: "3.10" - - - name: Install Requirements - run: | - sudo apt-get -y install pandoc man - python -m pip install -U pip setuptools wheel twine - python -m pip install -U -r requirements.txt - - - name: Prepare - run: | - python devscripts/update-version.py ${{ needs.prepare.outputs.version }} - python devscripts/make_lazy_extractors.py - - - name: Build and publish on PyPI - env: - TWINE_USERNAME: __token__ - TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} - if: env.TWINE_PASSWORD != '' && !inputs.prerelease - run: | - rm -rf dist/* - make pypi-files - python devscripts/set-variant.py pip -M "You installed yt-dlp with pip or using the wheel from PyPi; Use that to update" - python setup.py sdist bdist_wheel - twine upload dist/* - - - name: Checkout Homebrew repository - env: - BREW_TOKEN: ${{ secrets.BREW_TOKEN }} - PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} - if: env.BREW_TOKEN != '' && env.PYPI_TOKEN != '' && !inputs.prerelease - uses: actions/checkout@v3 - with: - repository: yt-dlp/homebrew-taps - path: taps - ssh-key: ${{ secrets.BREW_TOKEN }} - - - name: Update Homebrew Formulae - env: - BREW_TOKEN: ${{ secrets.BREW_TOKEN }} - PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} - if: env.BREW_TOKEN != '' && env.PYPI_TOKEN != '' && !inputs.prerelease - run: | - python devscripts/update-formulae.py taps/Formula/yt-dlp.rb "${{ needs.prepare.outputs.version }}" - git -C taps/ config user.name github-actions - git -C taps/ config user.email github-actions@example.com - git -C taps/ commit -am 'yt-dlp: ${{ needs.prepare.outputs.version }}' - git -C taps/ push - - publish: - needs: [prepare, build] - uses: ./.github/workflows/publish.yml - permissions: - contents: write - with: - channel: ${{ needs.prepare.outputs.channel }} - prerelease: ${{ inputs.prerelease }} - version: ${{ needs.prepare.outputs.version }} - target_commitish: ${{ needs.prepare.outputs.head_sha }} |