Improve Streaming Dataset API (#18882) #256
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: Releasing package | |
# https://help.github.com/en/actions/reference/events-that-trigger-workflows | |
on: | |
push: | |
branches: [master, "release/*"] | |
release: | |
types: [published] | |
pull_request: # this shall test only the part of workflow before publishing | |
branches: [master, "release/*"] | |
types: [opened, reopened, ready_for_review, synchronize] | |
paths: | |
- ".github/actions/pkg-publish/*" | |
- ".github/workflows/_legacy-checkpoints.yml.yml" | |
- ".github/workflows/_build-packages.yml" | |
- ".github/workflows/release-pypi.yml" | |
defaults: | |
run: | |
shell: bash | |
env: | |
FREEZE_REQUIREMENTS: 1 | |
TORCH_URL: "https://download.pytorch.org/whl/cpu/torch_stable.html" | |
PYTHON_VER: "3.8" | |
jobs: | |
build-packages: | |
uses: ./.github/workflows/_build-packages.yml | |
with: | |
artifact-name: dist-packages-${{ github.sha }} | |
upload-packages: | |
runs-on: ubuntu-22.04 | |
needs: build-packages | |
if: github.event_name == 'release' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v3 | |
with: | |
name: dist-packages-${{ github.sha }} | |
path: dist | |
- run: ls -lh dist/ | |
- name: Upload to release | |
uses: AButler/[email protected] | |
with: | |
files: "dist/*/*" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
release-version: | |
runs-on: ubuntu-22.04 | |
outputs: | |
tag: ${{ steps.lai-package.outputs.version }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.PYTHON_VER }} | |
- name: install Package | |
run: | | |
pip install . -f ${TORCH_URL} | |
pip list | |
- name: package Version | |
id: lai-package | |
run: python -c "import lightning ; print(f'version={lightning.__version__}')" >> $GITHUB_OUTPUT | |
signaling: | |
runs-on: ubuntu-22.04 | |
needs: ["release-version", "build-packages"] | |
if: startsWith(github.event.ref, 'refs/tags') || github.event_name == 'release' | |
env: | |
TAG: ${{ needs.release-version.outputs.tag }} | |
BRANCH_NAME: "trigger/lightning-${{ needs.release-version.outputs.tag }}" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: gridai/base-images | |
token: ${{ secrets.PAT_GHOST }} | |
- name: Update lightning version | |
run: | | |
import json, os | |
fname = "versions.json" | |
with open(fname, encoding="utf-8") as fopen: | |
vers = json.load(fopen) | |
vers["lightning_version"] = os.getenv('TAG') | |
with open(fname, "w", encoding="utf-8") as fopen: | |
json.dump(vers, fopen, indent=2) | |
# satisfy pre-commit with line fixer | |
fopen.write(os.linesep) | |
shell: python | |
- run: cat versions.json | |
- name: Create Pull Request | |
if: github.event_name != 'pull_request' | |
uses: peter-evans/create-pull-request@v5 | |
with: | |
title: "Bump lightning ver `${{ env.TAG }}`" | |
committer: GitHub <[email protected]> | |
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> | |
token: ${{ secrets.PAT_GHOST }} | |
add-paths: versions.json | |
commit-message: "bumping lightning version -> (${{ env.TAG }})" | |
branch: "bump/lightning-${{ env.TAG }}" | |
# Delete the branch when closing pull requests, and when undeleted after merging. | |
delete-branch: true | |
# the PR"s body/content | |
body: > | |
**This is automated update with the latest lighting | |
[release](https://github.com/Lightning-AI/lightning/releases/tag/${{ env.TAG }})!** | |
Please, act swiftly to land this PR as it is effectively blocking lightning release to be finished... | |
assignees: | | |
justusschock | |
borda | |
reviewers: | | |
justusschock | |
ethanwharris | |
borda | |
waiting: | |
runs-on: ubuntu-22.04 | |
needs: [release-version, signaling] | |
env: | |
TAG: ${{ needs.release-version.outputs.tag }} | |
# due to PR process this may take longer | |
timeout-minutes: 180 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.PYTHON_VER }} | |
- run: pip install gitpython | |
- name: Delay releasing | |
run: | | |
import git, os, time | |
repo = git.Repo('.') | |
branch = f"origin/builds/{os.getenv('TAG')}" | |
while True: | |
remote_refs = [b.name for b in repo.remote().refs] | |
print([n for n in remote_refs if "builds" in n]) | |
if branch in remote_refs: | |
break | |
time.sleep(60) | |
for remote in repo.remotes: | |
remote.fetch() | |
shell: python | |
pre-publish-packages: | |
runs-on: ubuntu-22.04 | |
needs: build-packages | |
if: startsWith(github.event.ref, 'refs/tags') || github.event_name == 'release' | |
strategy: | |
fail-fast: false | |
matrix: | |
name: ["APP", "FABRIC", "PYTORCH", "LIGHTNING"] | |
steps: | |
- uses: actions/checkout@v4 # needed for local action below | |
- uses: actions/download-artifact@v3 | |
with: | |
name: dist-packages-${{ github.sha }} | |
path: dist | |
- name: Browse folder | |
id: folder | |
run: | | |
sudo apt install -q -y tree | |
tree -L 2 -h dist/ | |
python -c "print('pkg=' + '${{ matrix.name }}'.lower())" >> $GITHUB_OUTPUT | |
- uses: ./.github/actions/pkg-publish | |
with: | |
pkg-folder: dist/${{ steps.folder.outputs.pkg }} | |
pypi-test-token: ${{ secrets[format('PYPI_TEST_TOKEN_{0}', matrix.name)] }} | |
publish-packages: | |
runs-on: ubuntu-22.04 | |
needs: [build-packages, waiting] | |
if: startsWith(github.event.ref, 'refs/tags') || github.event_name == 'release' | |
strategy: | |
fail-fast: false | |
matrix: | |
name: ["APP", "FABRIC", "PYTORCH", "LIGHTNING"] | |
steps: | |
- uses: actions/checkout@v4 # needed for local action below | |
- uses: actions/download-artifact@v3 | |
with: | |
name: dist-packages-${{ github.sha }} | |
path: dist | |
- name: Browse folder | |
id: folder | |
run: | | |
sudo apt install -q -y tree | |
tree -L 2 -h dist/ | |
python -c "print('pkg=' + '${{ matrix.name }}'.lower())" >> $GITHUB_OUTPUT | |
- uses: ./.github/actions/pkg-publish | |
with: | |
pkg-folder: dist/${{ steps.folder.outputs.pkg }} | |
pypi-token: ${{ secrets[format('PYPI_TOKEN_{0}', matrix.name)] }} | |
legacy-checkpoints: | |
needs: [build-packages] | |
uses: ./.github/workflows/_legacy-checkpoints.yml | |
with: | |
push_to_s3: ${{ startsWith(github.event.ref, 'refs/tags') || github.event_name == 'release' }} | |
upload_local: ${{ startsWith(github.event.ref, 'refs/tags') || github.event_name == 'release' }} | |
create_pr: ${{ startsWith(github.event.ref, 'refs/tags') || github.event_name == 'release' }} | |
secrets: inherit |