GithubHelp home page GithubHelp logo

Comments (3)

webknjaz avatar webknjaz commented on June 1, 2024 1

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.

jorisroovers avatar jorisroovers commented on June 1, 2024

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.

- uses: actions/[email protected]
with:
ref: ${{ github.event.pull_request.head.sha }} # Checkout pull request HEAD commit instead of merge commit
fetch-depth: 0 # checkout all history, needed for hatch versioning

from gitlint.

jorisroovers avatar jorisroovers commented on June 1, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.