Skip to content

Commit 3e7fb82

Browse files
authored
feat: adding release please and pypi publishng (#1)
1 parent 785e179 commit 3e7fb82

4 files changed

Lines changed: 164 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Release Pipeline
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: write
10+
pull-requests: write
11+
12+
jobs:
13+
release-please:
14+
runs-on: ubuntu-latest
15+
outputs:
16+
release_created: ${{ steps.release.outputs.release_created }}
17+
tag_name: ${{ steps.release.outputs.tag_name }}
18+
upload_url: ${{ steps.release.outputs.upload_url }}
19+
steps:
20+
- uses: google-github-actions/release-please-action@v4
21+
id: release
22+
with:
23+
# Token for creating PRs and releases
24+
token: ${{ secrets.GITHUB_TOKEN }}
25+
26+
build-package:
27+
name: Build Python Package
28+
needs: release-please
29+
if: ${{ needs.release-please.outputs.release_created == 'true' }}
30+
runs-on: ubuntu-latest
31+
steps:
32+
- name: Checkout repository
33+
uses: actions/checkout@v6
34+
35+
- name: Set up Python
36+
uses: actions/setup-python@v5
37+
with:
38+
python-version: '3.12'
39+
40+
- name: Install build dependencies
41+
run: python -m pip install build
42+
43+
- name: Build sdist and wheel
44+
run: python -m build
45+
46+
- name: Store distribution packages
47+
uses: actions/upload-artifact@v7
48+
with:
49+
name: python-package-distributions
50+
path: dist/
51+
52+
publish-github-release:
53+
name: Attach to GitHub Release
54+
needs: [release-please, build-package]
55+
runs-on: ubuntu-latest
56+
permissions:
57+
contents: write # Needed to upload release assets
58+
steps:
59+
- name: Checkout repository
60+
uses: actions/checkout@v6
61+
62+
- name: Download distribution packages
63+
uses: actions/download-artifact@v8
64+
with:
65+
name: python-package-distributions
66+
path: dist/
67+
68+
- name: Attach artifacts to GitHub Release
69+
env:
70+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
71+
run: |
72+
gh release upload ${{ needs.release-please.outputs.tag_name }} dist/*
73+
74+
publish-pypi:
75+
name: Publish to PyPI
76+
needs: [release-please, build-package]
77+
runs-on: ubuntu-latest
78+
environment: pypi
79+
permissions:
80+
id-token: write # Needed for trusted publishing to PyPI
81+
steps:
82+
- name: Download distribution packages
83+
uses: actions/download-artifact@v8
84+
with:
85+
name: python-package-distributions
86+
path: dist/
87+
88+
- name: Publish package distributions to PyPI
89+
uses: pypa/gh-action-pypi-publish@release/v1

.release-please-manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
".": "0.1.1"
3+
}

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Changelog
2+
3+
All notable changes to this project are documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
This file is maintained automatically by
9+
[release-please](https://github.com/googleapis/release-please) based on
10+
[Conventional Commits](https://www.conventionalcommits.org/).

release-please-config.json

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{
2+
"release-type": "python",
3+
"package-name": "datavault4sqlmesh",
4+
"include-component-in-tag": false,
5+
"bump-minor-pre-major": true,
6+
"bump-patch-for-minor-pre-major": false,
7+
"changelog-sections": [
8+
{
9+
"type": "feat",
10+
"section": "Features",
11+
"hidden": false
12+
},
13+
{
14+
"type": "fix",
15+
"section": "Bug Fixes",
16+
"hidden": false
17+
},
18+
{
19+
"type": "docs",
20+
"section": "Documentation",
21+
"hidden": false
22+
},
23+
{
24+
"type": "style",
25+
"section": "Code Style",
26+
"hidden": false
27+
},
28+
{
29+
"type": "refactor",
30+
"section": "Refactoring",
31+
"hidden": false
32+
},
33+
{
34+
"type": "perf",
35+
"section": "Performance",
36+
"hidden": false
37+
},
38+
{
39+
"type": "test",
40+
"section": "Tests",
41+
"hidden": false
42+
},
43+
{
44+
"type": "build",
45+
"section": "Build System",
46+
"hidden": false
47+
},
48+
{
49+
"type": "ci",
50+
"section": "CI/CD",
51+
"hidden": false
52+
},
53+
{
54+
"type": "chore",
55+
"section": "Miscellaneous",
56+
"hidden": false
57+
}
58+
],
59+
"packages": {
60+
".": {}
61+
}
62+
}

0 commit comments

Comments
 (0)