Comments (3)
Interesting, it doesn't look like what I suggested (at least, looking from phone). I'll try to check the PR next week since I'm on vacation now.
from gitlint.
So I looked into re-actors/checkout-python-sdist.
I found the code in the cherrypy repo (1, 2, 3) a bit too complex for my liking.
I think we could just use actions/upload-artifacts to upload whatever sdist file is created by python -m build sdist
.
Something akin to (pseudo-code):
jobs:
build:
runs-on: "ubuntu-latest"
steps:
- run: python -m build
- uses: actions/upload-artifact@v3
with:
name: sdist-tarball
path: dist/*.tar.gz
tests:
runs-on: "ubuntu-latest"
needs:
- build
steps:
- uses: re-actors/checkout-python-sdist@release/v1
with:
source-tarball-name: "*.tar.gz" # default value, remove in implementation
workflow-artifact-name: sdist-tarball
The actual implementation would be a bit more complicated to add matrixing for different python versions.
Actually trying this out is my next step here.
edit: I just realized that our sdist does not actually contain the test files, those are excluded at build time. I reckon I'd need to include them for this to work? Is that best practice? Perhaps just doing seeing if gitlint runs (i.e. a smoke test) is good enough here.
CC: @webknjaz
Reminder to self: While we currently do a deep clone in CI for hatch to determine the correct version, #470 added support for hatch to do this from sdist as well.
gitlint/.github/workflows/ci.yml
Lines 25 to 28 in 84f9218
from gitlint.
Implemented in #509.
I ended up not using the re-actors/checkout-python-sdist because I had to download tarballs for both gitlint and gitlint-core and re-actors/checkout-python-sdist does not support changing the target path or working directory. Also, it's really only 2 simple steps (download and extract) that are performed in that action which were easily duplicated as steps in our worfklow - also avoids adding an external dependency.
Reminder to self: While we currently do a deep clone in CI for hatch to determine the correct version, #470 added support for hatch to do this from sdist as well.
This is incorrect, the version is stored in the PKG-INFO
that comes with the sdist tarball.
from gitlint.
Related Issues (20)
- gitlint raises an exception if run without --staged and with an ignore-by-author-name configuration HOT 3
- Support for per-user configuration files and configuration inheritance HOT 9
- Ignore stdin by default in CI HOT 7
- Feature request: generate a junit or sarif report HOT 4
- Allow several --extra-path HOT 1
- v0.19.0dev tag should not be on the default branch HOT 7
- gitlint and gitlint-core v0.19.0 fail to build from sdist HOT 13
- 0.20.0 Release Plan
- Enable support for git archive installs HOT 7
- Consider adopting pypi-publish GHA instead of hatch publish
- Adopt GHA environments HOT 1
- Refactor GHA pipelines for improved security HOT 4
- Commit message with a hash sign at the start is not detected HOT 5
- Full workflow example for fixing a previously rejected commit message HOT 2
- installing hook on pre-commit fails with newest virtualenv (>20.24.5) present HOT 15
- Forever violations even after being edited HOT 2
- Poetry version solving failure
- Failed to install the `pre-commit` hook HOT 3
- Feature request: Support for `pre-commit` env variables
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gitlint.