Comments (13)
@Michelle-Watson, I ended up implementing the task myself, feel free to check out new release pipeline https://github.com/AlgoWorldNFT/algoworld-contracts/blob/main/.github/workflows/release.yaml
poetry
made things trickier, i wanted to use commitlint initially but haven't found a good python compatible setup that can be used both in action and in pre-commit. There are packages that auto bump push to pypi and then auto release on github but its just too many variables to keep an eye on, so the new setup is plain and simple. When I create a new release manually and bump the tag, the release pipeline is triggered, version is auto bumped, published to pypi and then bumped version is auto pushed to main branch using a secret PAT
Addressed in #57
Closing issue
from algoworld-contracts.
interested! I'll apply here: https://gitcoin.co/issue/29006
from algoworld-contracts.
@Michelle-Watson awesome! looking forward.
from algoworld-contracts.
Could target using a CI job spec
We can name it release with release version as a parameter
When release job is triggered, it will have a new commit to master changing the version to the specified release version, tagging it with git, then publish the incremented version directly.
Doing that will make sure the published version, and tagged version is the correct version, and reduce the number of auto commits with the hook every time committed to master.
from algoworld-contracts.
@eugenennamdi by changing the version to the specified release version
you refer to the python package version or the tag on git? The task implies that pipeline should in semi or fully automated manner bump both python package version, and release tag on git. If python package isn't bumped then poetry will fail during publish to pypi registry.
Please confirm if the task is clear enough and feel free to proceed with the implementation.
from algoworld-contracts.
@Michelle-Watson , looks like @eugenennamdi already picked up the task sorry, but take a look into another bounty on a sibling repo https://gitcoin.co/issue/29022, perhaps youd be interested in tackling it
from algoworld-contracts.
@aorumbayev thanks for the redirect! I'll check it out
from algoworld-contracts.
The following may be helpful:
version_source - store the version using Git tags from the symver
documentation
I'd love to check out the PR once it's complete!
from algoworld-contracts.
@eugenennamdi by
changing the version to the specified release version
you refer to the python package version or the tag on git? The task implies that pipeline should in semi or fully automated manner bump both python package version, and release tag on git. If python package isn't bumped then poetry will fail during publish to pypi registry.Please confirm if the task is clear enough and feel free to proceed with the implementation.
I can proceed with the implementation.
from algoworld-contracts.
@eugenennamdi hey, it was marked as work started on gitcoin since yesterday i though you already went ahead with the implementation.
In that case, can you please reply to make question before proceeding with implementation. Here is my question once again, in case it wasn't clear:
[eugenennamdi](https://github.com/eugenennamdi) by changing the version to the specified release version you refer to the python package version or the tag on git? The task implies that pipeline should in semi or fully automated manner bump both python package version, and release tag on git. If python package isn't bumped then poetry will fail during publish to pypi registry.
Please confirm if the task is clear enough and feel free to proceed with the implementation.
from algoworld-contracts.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
The funding of 50.0 ALGO (17.3 USD @ $0.35/ALGO) attached to this issue has been cancelled by the bounty submitter
- Questions? Checkout Gitcoin Help or the Gitcoin's Discord
- $3,312,016.05 more funded OSS Work available on the Gitcoin Issue Explorer
from algoworld-contracts.
@Michelle-Watson, I ended up implementing the task myself, feel free to check out new release pipeline https://github.com/AlgoWorldNFT/algoworld-contracts/blob/main/.github/workflows/release.yaml
poetry
made things trickier, i wanted to use commitlint initially but haven't found a good python compatible setup that can be used both in action and in pre-commit. There are packages that auto bump push to pypi and then auto release on github but its just too many variables to keep an eye on, so the new setup is plain and simple. When I create a new release manually and bump the tag, the release pipeline is triggered, version is auto bumped, published to pypi and then bumped version is auto pushed to main branch using a secret PATAddressed in #57
Closing issue
Hi! Can you clarify what you mean by bump the tag
?
Is the process:
- Do you create a new tag, attach to the branch you want to release, and publish the release ( the steps here )
- and then the release pipeline is triggered?
Also! I'd love to tackle any other issues you have in the repo. I'm more familiar with the backend so would love a tag, but I'll keep my eye out as well, especially for good first issue
's.
from algoworld-contracts.
@Michelle-Watson sorry for confusion, so a shorter recap would be:
- Merge latest changes to main
- Create new release, bump the release tag manually and create github release
- The change in release tag will trigger the the release workflow automatically
- Release workflow will use poetry to set the latest release tag to version of the pypi package.
- Lastly package is published, and actions commit the bumped pyproject yaml file to
main
branch
from algoworld-contracts.
Related Issues (10)
- Dependency Dashboard
- Improve Multi ASA contract and trim down total compiled size
- Concurrent ASA-to-ASA swaps
- stateless ASC1 smart contracts HOT 1
- Replace `pytest-cov` with `coverage` & enable codecov HOT 1
- Decouple swap proxy escrow funding from main `save` transaction group HOT 2
- Running the sandbox in `dev` mode HOT 1
- Wrong default incentive amount HOT 1
- Incentive fee sender HOT 3
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 algoworld-contracts.