Skip to content

Commit

Permalink
Adding publish workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
mbsantiago committed Jan 31, 2024
1 parent f59ba53 commit 67c63ae
Show file tree
Hide file tree
Showing 10 changed files with 123 additions and 12 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build_frontend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
name: Build Frontend
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 21
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build_user_guide.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ jobs:
name: Build User Guide
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
python-version: "3.10"
- name: Install dependencies
run: |
cd back
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/bundle_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ jobs:
runs-on: windows-latest
needs: [build-user-guide, build-frontend]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: actions/download-artifact@v4
Expand All @@ -43,8 +43,8 @@ jobs:
runs-on: ubuntu-20.04
needs: [build-user-guide, build-frontend]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: actions/download-artifact@v4
Expand All @@ -68,8 +68,8 @@ jobs:
runs-on: macos-11
needs: [build-user-guide, build-frontend]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- uses: actions/download-artifact@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
matrix:
python-version: ["3.11"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup PDM
uses: pdm-project/setup-pdm@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
matrix:
python-version: ["3.11"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup PDM
uses: pdm-project/setup-pdm@v3
with:
Expand Down
108 changes: 108 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Publish PyPI
on:
workflow_dispatch:
release:
types: [published]

jobs:
build-user-guide:
uses: mbsantiago/whombat/.github/workflows/build_user_guide.yml@dev

build-frontend:
uses: mbsantiago/whombat/.github/workflows/build_frontend.yml@dev

build:
runs-on: ubuntu-latest
needs: [build-user-guide, build-frontend]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.11"
- uses: actions/download-artifact@v4
with:
name: frontend
path: back/src/whombat/statics/
- uses: actions/download-artifact@v4
with:
name: user_guide
path: back/src/whombat/user_guide/
- name: Install pypa/build
run: pip install build
- name: Build a binary wheel and source tarball
run: |
cd back
python -m build
- name: Store the distribution packages
uses: actions/upload-artifact@v3
with:
name: python-package-distributions
path: back/dist/

publish-to-pypi:
name: Publish to PyPI
needs: [build]
runs-on: ubuntu-latest

if: github.event_name == 'release'

environment:
name: pypi
url: https://pypi.org/p/whombat

permissions:
id-token: write
steps:
- name: Download all the dists
uses: actions/download-artifact@v3
with:
name: python-package-distributions
path: dist/
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

github-release:
name: Upload to GitHub release
needs: [publish-to-pypi]
runs-on: ubuntu-latest

if: github.event_name == 'release'

permissions:
contents: write
id-token: write

steps:
- name: Download the dists
uses: actions/download-artifact@v3
with:
name: python-package-distributions
path: dist/
- name: Upload artifact to GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
gh release upload '${{ github.ref_name }}' dist/** --repo '${{github.repository }}'
publish-to-testpypi:
name: Publish to TestPyPI
needs: [build]
runs-on: ubuntu-latest

if: github.event_name == 'workflow_dispatch'

environment:
name: testpypi
url: https://test.pypi.org/p/whombat

permissions:
id-token: write

steps:
- name: Download all the dists
uses: actions/download-artifact@v3
with:
name: python-package-distributions
path: dist/
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
matrix:
python-version: ["3.11"]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup PDM
uses: pdm-project/setup-pdm@v3
with:
Expand Down
1 change: 1 addition & 0 deletions scripts/bundle_linux.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ build/.venv/bin/pyinstaller \
--add-data "src/whombat/statics:whombat/statics" \
--add-data "src/whombat/user_guide:whombat/user_guide" \
--add-data "alembic.ini:." \
--recursive-copy-metadata "numpy" \
--name whombat \
--onefile \
--splash "../assets/splash.png" \
Expand Down
1 change: 1 addition & 0 deletions scripts/bundle_macos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ build/.venv/bin/pyinstaller \
--add-data "src/whombat/statics:whombat/statics" \
--add-data "src/whombat/user_guide:whombat/user_guide" \
--add-data "alembic.ini:." \
--recursive-copy-metadata "numpy" \
--name whombat \
--onefile \
--console \
Expand Down
1 change: 1 addition & 0 deletions scripts/bundle_windows.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ build\.venv\Scripts\pyinstaller `
--add-data "src\whombat\statics;whombat\statics" `
--add-data "src\whombat\user_guide;whombat\user_guide" `
--add-data "alembic.ini;." `
--recursive-copy-metadata "numpy" `
--name whombat `
--onefile `
--console `
Expand Down

0 comments on commit 67c63ae

Please sign in to comment.