Skip to content

Commit

Permalink
Rename draft release workflow and create release (#2658)
Browse files Browse the repository at this point in the history
  • Loading branch information
charlesbvll authored Dec 25, 2023
1 parent 48c0613 commit 213cc3e
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 76 deletions.
63 changes: 63 additions & 0 deletions .github/workflows/framework-draft-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Draft release

on:
push:
tags:
- "v*.*.*"

jobs:
publish:
if: ${{ github.repository == 'adap/flower' }}
name: Publish draft
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Wait for wheel to be built
uses: lewagon/wait-on-check-action@v1.3.1
with:
ref: ${{ github.ref }}
check-name: 'Build, test and upload wheel'
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 10
- name: Download wheel
run: |
tag_name=$(echo "${GITHUB_REF_NAME}" | cut -c2-)
echo "TAG_NAME=$tag_name" >> "$GITHUB_ENV"
wheel_name="flwr-${tag_name}-py3-none-any.whl"
echo "WHEEL_NAME=$wheel_name" >> "$GITHUB_ENV"
tar_name="flwr-${tag_name}.tar.gz"
echo "TAR_NAME=$tar_name" >> "$GITHUB_ENV"
wheel_url="https://artifact.flower.dev/py/main/${GITHUB_SHA::7}/${wheel_name}"
tar_url="https://artifact.flower.dev/py/main/${GITHUB_SHA::7}/${tar_name}"
curl $wheel_url --output $wheel_name
curl $tar_url --output $tar_name
- name: Upload wheel
env:
AWS_DEFAULT_REGION: ${{ secrets. AWS_DEFAULT_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets. AWS_SECRET_ACCESS_KEY }}
run: |
aws s3 cp --content-disposition "attachment" --cache-control "no-cache" ./${{ env.WHEEL_NAME }} s3://artifact.flower.dev/py/release/v${{ env.TAG_NAME }}/${{ env.WHEEL_NAME }}
aws s3 cp --content-disposition "attachment" --cache-control "no-cache" ./${{ env.TAR_NAME }} s3://artifact.flower.dev/py/release/v${{ env.TAG_NAME }}/${{ env.TAR_NAME }}
- name: Generate body
run: |
./dev/get-latest-changelog.sh > body.md
cat body.md
- name: Release
uses: softprops/action-gh-release@v1
with:
body_path: ./body.md
draft: true
name: Flower ${{ env.TAG_NAME }}
files: |
${{ env.WHEEL_NAME }}
${{ env.TAR_NAME }}
87 changes: 32 additions & 55 deletions .github/workflows/framework-release.yml
Original file line number Diff line number Diff line change
@@ -1,63 +1,40 @@
name: Release Framework
name: Publish `flwr` release on PyPI

on:
push:
tags:
- "v*.*.*"

release:
types: [released]

concurrency:
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_id || github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
publish:
if: ${{ github.repository == 'adap/flower' }}
name: Publish draft
name: Publish release
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Wait for wheel to be built
uses: lewagon/wait-on-check-action@v1.3.1
with:
ref: ${{ github.ref }}
check-name: 'Build, test and upload wheel'
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 10
- name: Download wheel
run: |
tag_name=$(echo "${GITHUB_REF_NAME}" | cut -c2-)
echo "TAG_NAME=$tag_name" >> "$GITHUB_ENV"
wheel_name="flwr-${tag_name}-py3-none-any.whl"
echo "WHEEL_NAME=$wheel_name" >> "$GITHUB_ENV"
tar_name="flwr-${tag_name}.tar.gz"
echo "TAR_NAME=$tar_name" >> "$GITHUB_ENV"
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Bootstrap
uses: ./.github/actions/bootstrap

- name: Get artifacts and publish
env:
GITHUB_REF: ${{ github.ref }}
run: |
TAG_NAME=$(echo "${GITHUB_REF_NAME}" | cut -c2-)
wheel_name="flwr-${TAG_NAME}-py3-none-any.whl"
tar_name="flwr-${TAG_NAME}.tar.gz"
wheel_url="https://artifact.flower.dev/py/release/v${TAG_NAME}/${wheel_name}"
tar_url="https://artifact.flower.dev/py/release/v${TAG_NAME}/${tar_name}"
curl $wheel_url --output $wheel_name
curl $tar_url --output $tar_name
wheel_url="https://artifact.flower.dev/py/main/${GITHUB_SHA::7}/${wheel_name}"
tar_url="https://artifact.flower.dev/py/main/${GITHUB_SHA::7}/${tar_name}"
curl $wheel_url --output $wheel_name
curl $tar_url --output $tar_name
- name: Upload wheel
env:
AWS_DEFAULT_REGION: ${{ secrets. AWS_DEFAULT_REGION }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets. AWS_SECRET_ACCESS_KEY }}
run: |
aws s3 cp --content-disposition "attachment" --cache-control "no-cache" ./${{ env.WHEEL_NAME }} s3://artifact.flower.dev/py/release/v${{ env.TAG_NAME }}/${{ env.WHEEL_NAME }}
aws s3 cp --content-disposition "attachment" --cache-control "no-cache" ./${{ env.TAR_NAME }} s3://artifact.flower.dev/py/release/v${{ env.TAG_NAME }}/${{ env.TAR_NAME }}
- name: Generate body
run: |
./dev/get-latest-changelog.sh > body.md
cat body.md
- name: Release
uses: softprops/action-gh-release@v1
with:
body_path: ./body.md
draft: true
name: Flower ${{ env.TAG_NAME }}
files: |
${{ env.WHEEL_NAME }}
${{ env.TAR_NAME }}
python -m poetry publish -u __token__ -p ${{ secrets.PYPI_TOKEN }}
21 changes: 0 additions & 21 deletions dev/publish.sh

This file was deleted.

0 comments on commit 213cc3e

Please sign in to comment.