Comments (27)
Alright, we now have a release script.
Thanks to some nice scripting work by @jv-k, I had something to start from, my bash isn't great
It bumps the version, writes it to all necessary places, creates a VERSION
file that F-Droid can hopefully be setup to parse, and then tags the commit and pushes it.
./release.sh -b -p origin
Option set: Disable committing to new branch.
Option set: Pushing to <origin>, as the last action in this script.
Current version from <VERSION> file: 2.2.1-rc0
Enter a new version number [2.2.1-rc0]:
Parsing 2.2.1-rc0
✅ Successfully parsed 2.2.1-rc0 to 2.2.1-rc0
V_MAJOR=2
V_MINOR=2
V_PATCH=1
V_BUILD_TYPE=rc
V_BUILD_COUNTER=0
Setting version to [2.2.1-rc1 (20201010)] ....
––––––
Parsing version.properties:
Found major, replacing: project.versioning.major=2 -> project.versioning.major=2
Found minor, replacing: project.versioning.minor=2 -> project.versioning.minor=2
Found patch, replacing: project.versioning.patch=1 -> project.versioning.patch=1
Found build, replacing: project.versioning.build=0 -> project.versioning.build=1
✅ Updated [version.properties] file
✅ Updated [VERSION] file
Committing...
✅ [main 63f37e5] Release: 2.2.1-rc1
2 files changed, 2 insertions(+), 2 deletions(-)
✅ Added GIT tag
Pushing files + tags to <origin>...
✅ To github.com:d4rken-org/capod.git
* [new tag] v2.2.1-rc1 -> v2.2.1-rc1
To github.com:d4rken-org/capod.git
01ea08a..63f37e5 main -> main
––––––
✅ Bumped 2.2.1-rc0 –> 2.2.1-rc1
Done 👋🏻
from capod.
@d4rken do you want me to keep it in my repo once it becomes available at F-Droid? I see you've mastered the "supreme discipline" and are going with reproducible builds, so there'd be no conflict: users can install from F-Droid (for added trust) and profit from faster updates via my repo if they wish.
I'd be okay with keeping both if you think there is benefit. Your solution was very low maintenance so far for me
Not sure what I did do for reproducible builds, but it did require quite some patience to get it all to work in the end
Thanks to @licaon-kter who helped me along
from capod.
@d4rken halp https://gitlab.com/fdroid/rfp/-/issues/2222#note_1116255404
I replied there.
I don't mind if there is no extra work for me.
This already seems to have failed
from capod.
@IzzySoft we're not there yet, still waiting for the devs about other issues, afaik
from capod.
I recommend using ver-bump as a globally installed package, it's superior to that gist that I wrote 🙌🏼
from capod.
https://gitlab.com/fdroid/fdroiddata/-/merge_requests/12569
from capod.
I don't mind if there is no extra work for me.
Is this the difference between a 3rd party repo and "the default" f-droid repo?
We already have this:
https://apt.izzysoft.de/fdroid/index/apk/eu.darken.capod
/cc @IzzySoft
from capod.
Is crowdin-cli.jar needed to build?
What to specify in the field developer and developer mail?
from capod.
Is crowdin-cli.jar needed to build?
No, it's for synchronizing translations.
What to specify in the field developer
darken or Matthias Urhahn
and developer mail?
if it's for admin stuff [email protected] if it's for users [email protected] but f-droid users who have issues should go on GitHub, not email me
from capod.
It is also desirable to tell the site of the developer
from capod.
AuthorName: Matthias Urhahn
AuthorEmail: [email protected]
AuthorWebSite: https://darken.eu
Donate: https://github.com/sponsors/d4rken
SourceCode: https://github.com/d4rken-org/capod
IssueTracker: https://github.com/d4rken-org/capod/issues
Changelog: https://github.com/d4rken-org/capod/releases
from capod.
@d4rken halp https://gitlab.com/fdroid/rfp/-/issues/2222#note_1116255404
from capod.
This already seems to have failed
😦
😅
from capod.
Is this the difference between a 3rd party repo and "the default" f-droid repo?
The F-Droid.org repo is more trusted than mine, for good reasons (which doesn't mean my repo is not trustworthy – but more eyes looking on it plus reproducing the build, thus making sure the APK really corresponds to the source etc is something I cannot do alone
from capod.
There currently is no release to download in fdroid. I cannot download this app other than manually downloading github releases.
from capod.
@Donkey-Doug you've seen already that https://gitlab.com/fdroid/rfp/-/issues/2222#note_1116255404 is still open and not merged, right?
from capod.
For some reason IzzyOnDroid version doesn't install, it requires android.hardware.type.watch.
from capod.
@the4anoni think it's: https://gitlab.com/fdroid/fdroidclient/-/issues/2430 ;(
from capod.
@the4anoni think it's: https://gitlab.com/fdroid/fdroidclient/-/issues/2430 ;(
It actually doesn't install directly from APK.
from capod.
Uh-Oh… Fixed. My updater had grabbed the wrong APK. When I added the app to my repo, there was just a single APK available at each release. Since v2, there are 2 of them attached to releases/
: one is WEAROS and the other not. The WEAROS one requires android.hardware.type.watch
, the other does not. I've just told my updater to ignore the WEAROS one and replaced the latest release.
@the4anoni please try again after the next sync today at around 6 pm UTC.
@licaon-kter maybe our recipe needs an update then as well, so we (also) build the other one?
from capod.
Uh-Oh… Fixed. My updater had grabbed the wrong APK. When I added the app to my repo, there was just a single APK available at each release. Since v2, there are 2 of them attached to
releases/
: one is WEAROS and the other not. The WEAROS one requiresandroid.hardware.type.watch
, the other does not. I've just told my updater to ignore the WEAROS one and replaced the latest release.@the4anoni please try again after the next sync today at around 6 pm UTC.
@licaon-kter maybe our recipe needs an update then as well, so we (also) build the other one?
Now it works as it should :)
from capod.
I recommend using ver-bump as a globally installed package, it's superior to that gist that I wrote 🙌🏼
I'd still have to modify it too, to fit this use-case. I don't have a package.json that I need to bump but a custom gradle properties file.
from capod.
...
> Task :app:packageFossRelease
> Task :app:bugsnagReleaseFoss-releaseTask FAILED
WARNING:API 'ApkVariantOutput.getVersionCodeOverride()' is obsolete and has been replaced with 'VariantOutput.versionCode()'.
It will be removed in version 7.0 of the Android Gradle plugin.
Gradle Properties must be used to change Variant information.
For more information, see https://d.android.com/r/tools/use-properties.
To determine what is calling ApkVariantOutput.getVersionCodeOverride(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
WARNING:API 'ApkVariantOutput.getVersionNameOverride()' is obsolete and has been replaced with 'VariantOutput.versionName()'.
It will be removed in version 7.0 of the Android Gradle plugin.
Gradle Properties must be used to change Variant information.
For more information, see https://d.android.com/r/tools/use-properties.
To determine what is calling ApkVariantOutput.getVersionNameOverride(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.
Bugsnag: Uploading to Releases API
{"errors":["API key not recognised: deadbeef"],"status":"error"}
> Task :app:createFossReleaseApkListingFileRedirect
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:bugsnagReleaseFoss-releaseTask'.
> java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Bugsnag request failed to complete
What's the plan with bugsnag?
Recipe:
- versionName: 2.7.2-rc0
versionCode: 20702000
commit: 48fd3543e3ca947c06a9b5e805dfeed051538678
subdir: app
gradle:
- foss
rm:
- crowdin-cli.jar
prebuild:
- cp ../version.properties .
- sed -i -e 's/${bugsnagApiKey}/deadbeef/' ../app-wear/src/main/AndroidManifest.xml
src/main/AndroidManifest.xml
from capod.
What's the plan with bugsnag?
Didn't I move that into an extra flavor?
I'll look into it, give me a few hours.
from capod.
@licaon-kter Thanks, can we recheck against this branch (#88):
https://github.com/d4rken-org/capod/tree/foss_fdroid_tweaks
or should I create a release with this?
edit: nvm build fails
edi2: Okay pr checks pass
I don't mind if there is no extra work for me.
from capod.
@d4rken do you want me to keep it in my repo once it becomes available at F-Droid? I see you've mastered the "supreme discipline" and are going with reproducible builds, so there'd be no conflict: users can install from F-Droid (for added trust) and profit from faster updates via my repo if they wish.
from capod.
I'd be okay with keeping both if you think there is benefit. Your solution was very low maintenance so far for me
☺️ .
Glad to read it was easy going – and marked for keep. Once it shows up at F-Droid, on my repo's website it will have the hint of being available in both places.
And yes, sometimes RB works out-of-the-box, at other times it needs some tweaking. Luckily the cases we cannot get it working and have to give up are few.
from capod.
Related Issues (20)
- Popup to Show When a Device is first seen by BLE broadcasts
- Option to show popup on audio connection
- Add support for OnePlus Buds (Z) HOT 1
- Airpods Pro 2 issue with reactions HOT 1
- Airpods Max are always detected as on ear HOT 8
- Volume randomly spiked HOT 1
- Airpods max ear detection reversed HOT 1
- Add support for Borofone BW36 HOT 2
- Capod
- Add support for Earfun Pro SV HOT 3
- No connection HOT 2
- Device not visible HOT 9
- Automatic play/pause not working (AirPods 1st gen) HOT 2
- Add support for Anker Soundcore Liberty 2 HOT 11
- Support for active data retrieval via direct connections with paired devices HOT 5
- 2device pairing HOT 1
- (request) Google Assistant Support HOT 3
- Add support for RUSAM - TWS GA33
- Genuine AirPods Gen 3 are detected as fake with seemingly incorrect information HOT 2
- AirPod Pro 2 actions problems HOT 4
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 capod.