Skip to content

initial fastlane structures from IzzyOnDroid#302

Merged
ribbons merged 2 commits into
ribbons:masterfrom
IzzySoft:fastlane
Aug 19, 2025
Merged

initial fastlane structures from IzzyOnDroid#302
ribbons merged 2 commits into
ribbons:masterfrom
IzzySoft:fastlane

Conversation

@IzzySoft
Copy link
Copy Markdown
Contributor

this PR provides you with a "fastlane starter package" – to give it into your hands to define how your app is presented, and make it easy to keep descriptions & graphics in sync with your development. Some notes to sum them up in a place easy to find for you:

  • the IzzyOnDroid Fastlane Documentation can guide you with maintaining the structures here
  • take special care for limits, e.g. per-release changelogs can have max 500 chars, full_description.txt max 4,000 chars, graphics must have specific aspect ratios etc.
  • you can have "bigger graphics" here; the IoD updater takes care to resize/optimize them as needed
  • for the full_description.txt here I've used HTML compressed into a single line, to prevent the fdroid software converting each line break to a <br>. The tags used for this are supported by F-Droid.org as well, and to my knowledge even by PlayStore.
  • whenever you add a new "type" of metadata that has not been there before (e.g. the first changelog, a featureGraphic if it wasn't yet present), please let us know so we can check and enable it.
  • Details on all this in the linked documentation.
  • Once merged, your changes will be synced whenever a new release is pulled in here – to make sure it stays up-to-date with the app itself.
  • Should you have questions, be welcome to ask 😉

A second commit adds a link to IzzyOnDroid to the Readme, where TaskerRsync is available since 2022-10-06 – and congrats, it's confirmed as reproducible build (see e.g. Reproducible Builds, special client support and more at IzzyOnDroid for some background on this) 🥳 So if you wish, there's also a shield available showing the last known RB status:

RB shield

[<img src="https://shields.rbtlog.dev/simple/com.nerdoftheherd.tasker.rsync" alt="RB shield">](https://shields.rbtlog.dev/com.nerdoftheherd.tasker.rsync)

And now: Enjoy!

@ribbons
Copy link
Copy Markdown
Owner

ribbons commented Aug 15, 2025

Cheers for this, seems like a good way of keeping things in sync. Think I'll take the opportunity to move a few bits around - will aim to get to it this weekend.

@ribbons ribbons self-assigned this Aug 17, 2025
@ribbons
Copy link
Copy Markdown
Owner

ribbons commented Aug 17, 2025

I've suffered from a certain amount of scope-creep here but have just pushed an updated version of this:

  • I've taken the liberty of removing the commit to add an IzzyOnDroid link to the readme - instead I've added a second 'download' link on the project page on my site to point to the app page in the IzzyOnDroid repository and also added a section at the bottom showing the RB shield.
  • Have moved the original feature graphic and app icon images that were elsewhere in the repo to the correct paths instead of importing the IzzyOnDroid versions.
  • I added a second commit replacing full_description with a copy of part of the readme in markdown format (and a check to make sure the two description files are kept in sync with the readme), not sure if that means you'll need to tweak a setting on your end as it's now in a different format?
  • I added a trailing newline to both short_description.txt and full_description.txt to appease the SingleNewlineAtEof gods but I'm not sure if that breaks anything at your end, let me know if it does and I can remove them again.
  • Also, I changed the fastlane directory layout to metadata/en-GB instead of fastlane/metadata/android/en-US - does the locale change cause any issues with language fallback or should that be alright?

In general, does this updated version look okay to you? Hopefully I've not made any mistakes with my changes 😄

@IzzySoft
Copy link
Copy Markdown
Contributor Author

  • download link/button: fine with me – that's why I made it a separate commit, so you could "cherry-pick" 😉
  • moved the original feature graphic and app icon images: that's the idea, replacing where you see fit – thanks for updating! 🤗
  • added a second commit replacing full_description with a copy of part of the readme in markdown format: And you used Github flavored markdown – this won't render as expected, we only support standard Markdown. Also, using "pure" Markdown is only supported with IzzyOnDroid, it won't work with other sites (F-Droid, PlayStore). So instead of using [link text][1] or [link text](httpx://example.com/), better use HTML links, for example: further, the bullet pont list starting at line 6 currently will just become one big block together with the line before it, unless you add an empty line before line 6. Also, line breaks (as currently in lines 17, 20, etc) are better using <br> – or "two spaces"; I'm not sure if the backslash works fine (it will definitely look ugly with F-Droid/PlayStore, as there it would stay a backslash character).
    Please see the linked documentation on what is described as "Markdown Lite", which works for all 3 mentioned places.
  • added a trailing newline: That's no problem at all, our importer will automatically remove it again 😉
  • does the locale change cause any issues with language fallback: it does, en-US is mandatory and the fallback used for everything amiss. en-GB will not be used as fallback – it's just a language as any other (don't ask me why they didn't choose a simple neutral en instead – I didn't write the specs). So I'd need to ask you to rename that back to en-US unfortunately.

In general, does this updated version look okay to you? Hopefully I've not made any mistakes with my changes 😄

In general it looks fine, except for those two glitches (locale, fulldesc formatting) 😊

Add initial fastlane format metadata with short/full description values
imported from IzzyOnDroid and move the feature graphic and icon images
originally created for the Play Store to the appropriate paths.
@ribbons
Copy link
Copy Markdown
Owner

ribbons commented Aug 18, 2025

Cheers for the rapid feedback 😄. I've reversed my overoptimistic locale change, cheers for the explanation on that one.

For full_description.txt - I probably should have said that I read that part of the Wiki, am not planning to ever release to the Play Store (they rejected the app) or release on F-Droid in the foreseeable future, so I'm happy to make use of this exclusive IzzyOnDroid feature 👍. Cheers for the heads-up about the missing blank line before the actions bullet points, have corrected that. I've elected to remove the permissions part from full_description.txt as it would rather duplicate the permissions section on the app page anyway (and I remember it was a pain to get the result I wanted but with a reasonable plain text layout in one markdown flavour so don't feel confident about getting it to work everywhere).

In theory that means this should be ready to merge now but I'll leave it for a day or two to give you the chance to shout if there's anything else I've messed up 😆

Also, this isn't really the right forum (would the correct one be https://gitlab.com/IzzyOnDroid/applists/-/issues ?) and is a very minor thing but the app license is GPL-3.0-or-later rather than GPL-3.0-only as shown on the app page in the repo 😇.

@ribbons
Copy link
Copy Markdown
Owner

ribbons commented Aug 18, 2025

Oh, and also on the subject of metadata, should the app's AntiFeatures be NonFreeDep as the app needs the (non-free) Tasker app to be usable rather than NonFreeAdd? Again, no biggie 😄. Edit: TBH, just re-read the list of definitions and I'm already less sure 😆

@IzzySoft
Copy link
Copy Markdown
Contributor Author

Thanks Matt! Let me shortly walk the points:

  • IoD exclusive: Thanks for your trust! 🤗 Yes, then "fully standard Markdown" should be fine. We'll find out soon how this one renders – looks fine to me.
  • permissions section: currently, that's only available via our repo browser. Without any ETA and still "in brainstorming mode", our clients (Droid-ify & Neo Store) plan to integrate that in the future, but the "official" client is very unlikely to do that. They rather focus on their own repo (to be fair, so do we), and would feel that as "endorsement" (no idea why, but that's the case seemingly).
  • License: as you placed it, it is "-only". If you meant it to be "-or-later", you'd need to explicitly state that, see How to Apply These Terms to Your New Programs – basically by adding lines 637-640 to your Readme. Else, it's unclear, and falls back to the stricter "only" variant.
  • AntiFeature: Yes, dependency-wise you're absolutely correct. Technically, this raises a difficulty. The library is defined as NonFreeAdd, as usually one implements it to provide some additional functionality. Yours is one of the very few cases where it's opposite. But if we re-flagged it, we'd get daily warnings on the scans, stating we shall remove one but add the other… So if it's fine with you, we take it as "no biggie" and keep it as-is. The main intention there is to be transparent about "that thingy being there somehow", so people can decide if it's OK with them. They then usually check how deep it goes, and hopefully understand 😉

That said: I cannot say anything on the Ruby script there, but the fastlane part looks fine. Though I miss some screenshot(s). Are there any (1 or 2 would be fine)?

Last, but we can do that separately: Be welcome to pick a badge for your Readme to link to your app at IzzyOnDroid: https://apt.izzysoft.de/packages/com.nerdoftheherd.tasker.rsync 😉 And if you wish, also the RB shield:

RB shield

[<img src="https://shields.rbtlog.dev/simple/com.nerdoftheherd.tasker.rsync" alt="RB shield">](https://shields.rbtlog.dev/com.nerdoftheherd.tasker.rsync)

@IzzySoft
Copy link
Copy Markdown
Contributor Author

would the correct one be gitlab.com/IzzyOnDroid/applists/-/issues ?

Oops, missed to answer that one. Close, but no cigar. It would be "repo", not "applist". The latter is for https://android.izzysoft.de/applists 😉

Change from the original imported full description value to a copy of
the relevant content from README.md.  Add a blank line to both before
the actions bullet points for wider markdown parser compatibility.

As ending a line with a backslash is a non-standard extension, switch
this to two spaces in the full description.

To prevent either the full or short description values getting out of
sync with the README, add a new Overcommit hook to check that they match
if any of them are updated.
@ribbons
Copy link
Copy Markdown
Owner

ribbons commented Aug 19, 2025

Thanks for the heads-up on the permissions section not being visible in the clients - have changed tack and reinstated that section but have replaced the backslashes with double spaces to make it (hopefully) universally compatible.

AntiFeature - cheers for the explanation, that makes complete sense and am very happy to leave it as-is 👍.

License - all of the source files in the repo should have SPDX-License-Identifier: GPL-3.0-or-later in their headers but I'm happy to differ on that one, it doesn't seem that likely there will be a GPL 3.1 or 4.0 any time soon 🙂.

Screenshots - my issue here is that the app doesn't really have much of a UI to speak of, it's got a handful of fairly empty settings pages, an update screen that's only shown if the user chooses to check for updates and tap on the notification and a lot of hidden 'plumbing' to set up the correct environment to run rsync and allow it to find dbclient etc. I could add a screenshot of the key generation and rsync config screens (which probably have the most going on) if you think they would be less off-putting than no screenshots at all 😆

would the correct one be gitlab.com/IzzyOnDroid/applists/-/issues ?

Oops, missed to answer that one. Close, but no cigar. It would be "repo", not "applist". The latter is for https://android.izzysoft.de/applists 😉

Ha, seems so obvious now you've pointed out my mistake 😂.

Thanks for all of your help and feedback on this one, much appreciated. I'll merge this once the checks have completed and can apply any other tweaks needed after the next release 👍.

@ribbons ribbons merged commit 034822a into ribbons:master Aug 19, 2025
6 checks passed
@IzzySoft
Copy link
Copy Markdown
Contributor Author

all of the source files in the repo should have SPDX-License-Identifier: GPL-3.0-or-later in their headers

Oof, I just looked at the Readme, and what Github claimed. You're of course right, those SPDX should suffice! Still helps to get it punched right on the nose, if you'd add it to the Readme – that then squashes the tomatoes on the eyes for those as blind as me 🙈

that the app doesn't really have much of a UI to speak of,

Totally up to you! We're not at PlayStore here where you're forced to provide at least 2 (we all know what that lead to). If there are none, none are needed. If there's at least a settings page or such, that helps visualizing what to expect. We don't want pictures to have pictures – but to be helpful to those browsing the catalogue 😉

I could add a screenshot of the key generation and rsync config screens

Yes, that sounds great! Please do.

Thanks for all of your help and feedback on this one, much appreciated.

Gladly, anytime, and any time again 🤗 Thanks for merging!

@ribbons
Copy link
Copy Markdown
Owner

ribbons commented Aug 21, 2025

Just as a postscript, license details added to the README in f33d169 and added those couple of screenshots in 9c83366.

@IzzySoft
Copy link
Copy Markdown
Contributor Author

Ah, thanks for the heads-up! I had processed too many issues these days. In the evening I thought 💩 some license adjustment, where was it 🙈 Done now.

Screenshots would be pulled along with the next release. If you feel it needed, I can trigger a fastlane sync before, so they'd go live within 24h.

@ribbons
Copy link
Copy Markdown
Owner

ribbons commented Aug 22, 2025

Screenshots would be pulled along with the next release. If you feel it needed, I can trigger a fastlane sync before, so they'd go live within 24h.

A sync would be great if it isn't too much trouble, thank you 🙂

@IzzySoft
Copy link
Copy Markdown
Contributor Author

$ iod repo fastlane com.nerdoftheherd.tasker.rsync -v 
- Checking Fastlane for updates …
com.nerdoftheherd.tasker.rsync: check if repo contains FUNDING.yml
com.nerdoftheherd.tasker.rsync: looking for 'https://api.github.com/repos/ribbons/.github/contents/'
com.nerdoftheherd.tasker.rsync: Github reports "Not Found" for https://api.github.com/repos/ribbons/.github/contents/
com.nerdoftheherd.tasker.rsync: no FUNDING.yml detected.
com.nerdoftheherd.tasker.rsync: calling 'getFastlaneMetaLocal('local',[host:localhost,owner:ribbons,repo:TaskerRsync,path:metadata],0
com.nerdoftheherd.tasker.rsync: FastlaneFeatures shortdesc,fulldescMD,icon,featureGraphic
com.nerdoftheherd.tasker.rsync: parsing local fastlane in 'build/com.nerdoftheherd.tasker.rsync/repo/metadata'
com.nerdoftheherd.tasker.rsync: checking locale 'en-US'
com.nerdoftheherd.tasker.rsync: replacing 'build/com.nerdoftheherd.tasker.rsync/metadata/en-US/full_description.txt' with fromMD
com.nerdoftheherd.tasker.rsync: updating 'build/com.nerdoftheherd.tasker.rsync/metadata/en-US/short_description.txt'
com.nerdoftheherd.tasker.rsync: updating 'repo/com.nerdoftheherd.tasker.rsync/en-US/featureGraphic.png'
com.nerdoftheherd.tasker.rsync: updating 'repo/com.nerdoftheherd.tasker.rsync/en-US/icon.png'

Done.

@ribbons
Copy link
Copy Markdown
Owner

ribbons commented Aug 24, 2025

Awesome, thank you 😄. I can see that the description has updated (and the markdown has converted as intended 🎉) but I can't see the screenshots on the app page, does that need an extra nudge from your side?

@IzzySoft
Copy link
Copy Markdown
Contributor Author

but I can't see the screenshots on the app page, does that need an extra nudge from your side?

Quoting from the initial post:

whenever you add a new "type" of metadata that has not been there before (e.g. the first changelog, a featureGraphic if it wasn't yet present), please let us know so we can check and enable it.

In your case, those are the screenshots 😉 Checked, look fine, enabled, manually triggered a sync… should show up with the next repo sync around 6 pm UTC now. Thanks for the nudge – and for adding screenshots of course! 🤗

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants