Comments (4)
I have proceeded to create and upload an AUR package in the meantime, so I can proceed and prepare a new release of Platypush with all the mandatory dependencies available on the AUR.
I've tested it on several of my machines and it seems to work.
Let me know if you folks want to take over it, or maybe integrate the release in your CI/CD pipelines.
from marshmallow_dataclass.
@BlackLight Thank you for your efforts!
I am a maintainer, but not the owner, of marshmallow_dataclass, so I speak only with tentative authority.
Also, I am not very familiar with Arch, AUR, or its packaging mechanics.
If you're willing to continue to maintain the AUR package, then I think that's great!
If it's straightforward to integrate the AUR packaging/release with our CI workflow, I'm all for it. Feel free to submit a PR for that. Also, feel free to reach out if I can help with that from this end.
from marshmallow_dataclass.
Hi @dairiki, thanks for reaching back!
Maintaining a distribution package is relatively simple, but I proposed of integrating the process into the CI pipeline so I don't have to do it manually upon a new release.
The PKGBUILD format is quite straightforward, in the one I've uploaded basically you just need to update pkgver
and the sha512sum
of the package when there's a new release.
A PR that integrates it in Github Actions shouldn't be hard to put together, the only problem is that the process involves cloning the git repo of the package and pushing the changes with an SSH key that is allowed to modify the repo. So I guess that I either need a spare RSA pubkey that can be used in the CI process (and add it to the authorized keys for the repo), or use my own?
from marshmallow_dataclass.
@BlackLight Here's a GitHub action that purports to (I think) do what's needed: https://github.com/ulises-jeremias/github-actions-aur-publish
(There are quite a few similar actions listed in the marketplace — I picked the one with the most stars.)
As you say, these would involve generating a new SSH key pair for our CI to use to push the new releases. The new private key would be stored as one of our project secrets. (I don't think I have permission to set new secrets on the project, but I'm fairly sure @lovasoa would help to get that done.)
====
Another option that would avoid having to grant our CI push permission is to work up a script on your end that would pull the required information from GitHub's tags API. Or we could start making GitHub releases for each release and you could use GitHub's release API.
That script could either be run manually when there is a new release or it could be run periodically, polling for new releases.
from marshmallow_dataclass.
Related Issues (20)
- Misunderstanding about how Union types are read from a JSON? HOT 3
- Cyclic references break when using `class_schema` in a class decorator HOT 1
- Add native marshmallow.fields.Enum suport HOT 1
- str | None fails HOT 5
- Enum parameters are ignored when loading a schema HOT 3
- field_for_schema can use _RECURSION_GUARD.seen_classes before it is initialized
- TypeError when creating a marshmallow schema from dataclass inherited from generic class HOT 1
- Enum fields always cast as JSON instead of native type
- Issues with typeguard package v3 HOT 3
- Error when using marshmallow_dataclass with attr.s HOT 1
- Ability to configure custom Nested field class
- 8.5.13 broken on py3.9? HOT 3
- mypy: error: "Type[X]" has no attribute "Schema" [attr-defined] HOT 1
- Validating enum type HOT 1
- Union field is broken: The order of Union arguments is indeterminate
- Union with generic types is broken HOT 3
- Type stub-only objects not allowed in dataclass fields HOT 7
- The type constraint of `errors` is broken HOT 3
- "dump" ignores validation HOT 2
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 marshmallow_dataclass.