Giter Site home page Giter Site logo

nextcloud / docker-ci Goto Github PK

View Code? Open in Web Editor NEW
43.0 12.0 35.0 1.95 MB

:package: Containers used for Continous Integration jobs (automated testing)

Home Page: https://hub.docker.com/u/nextcloudci/

Shell 5.64% Perl 63.26% JavaScript 1.15% CSS 5.33% PHP 9.44% Makefile 0.08% Dockerfile 15.11%

docker-ci's Introduction

CI images for Nextcloud

📦 Containers used for Continous Integration jobs (automated testing)

GitHub Container Registry

The images are automatic builds on GitHub actions. You can find them at https://github.com/orgs/nextcloud/packages?repo_name=docker-ci. The build is triggered using GitHub workflows.

GitHub workflows

To trigger a build of a specific container, go to https://github.com/nextcloud/docker-ci/actions/workflows/docker.yml and press "Run Workflow". Enter the following information:

  • Path to the folder (e.g. translations)
  • Path to Dockerfile: Dockerfile-Plain IMPORTANT: If you are not using Dockerfile but one with a suffix here, you also need to add the suffix on the image name in the next field (all lowercased)
  • Suffix to image name: -plain
  • Tag name (e.g. latest)

This would result in the Dockerfile /client/Dockerfile being built and the binary being pushed to the GitHub Container Registry as client:latest.

Docker Hub

The images are automatic builds on Docker Hub. You can find them at https://hub.docker.com/u/nextcloudci/. The build is only triggered if a git tag is set.

Git tags

To trigger a build of a specific container the tag needs to be named like the folder followed by a dash and a version number. This means translations-1 will only trigger a build of the translation container and will then build the container nextcloudci/translations:translations-1.

Other example:

  • git tag php7.1-5 will only build nextcloudci/php7.1:php7.1-5

docker-ci's People

Contributors

alvarobrey avatar andyscherzinger avatar artonge avatar azul avatar blizzz avatar christianlupus avatar christophwurst avatar come-nc avatar danxuliu avatar e-alfred avatar gary-kim avatar ivaradi avatar j0wi avatar jonathantreffler avatar juliushaertl avatar korelstar avatar lukasreschke avatar mgallien avatar misch7 avatar morrisjobke avatar nickvergessen avatar rakekniven avatar rullzer avatar schiessle avatar skjnldsv avatar sualko avatar susnux avatar szaimen avatar tobiaskaminsky avatar vitormattos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-ci's Issues

translationtool: `/.l10nignore` vs. `/l10n/ignorelist`

What is the state of the art for excluding files from being translated?

If I understand this correctly, /l10n/ignorelist was used by the old l10n.pl and /.l10nignore is used by the new translationtool.php. Is this correct?

Why I'm asking: translationtool.php has a method readIgnoreList() which reads from /l10n/ignorelist and returns the content. This method is called from createPotFile() in line 64 (https://github.com/nextcloud/docker-ci/blob/master/translations/translationtool/src/translationtool.php#L64). However, the result is not used!

Hence, the content of /l10n/ignorelist is totally ignored. If this is intended, we should remove the method readIgnoreList(). Otherwise (backward-compatibility?), the result of that method has to be used correctly.

Drop obsolete versions of PHP

This repository is getting crowded.

Can I open a PR to drop all images specific to PHP versions below 7.3 that have an equivalent for a newer version?

Maybe keep 7.2 as well, if needed to test things on older Nextcloud versions (7.2 support was dropped in Nextcloud 21, 7.1 in 18 according to documentation).

Add project "diary" to Transifex sync

  • App repo: Add .tx folder including config -> @danielroehrig
  • App repo: Add ignore file -> @danielroehrig
  • App repo: Add l10n folder -> @danielroehrig
  • App repo: Invite "nextcloud bot" with write permissions -> @danielroehrig
  • docker-ci: add repo info to config.json -> @danielroehrig #373
  • Sysadmins of NC: Deploy internally to tx sync process -> @blizzz
  • Transifex: New resource should appear -> rakekniven
  • Transifex: Do translations and check sync to repo -> rakekniven

Add project "audioplayer" to Transifex sync

  • App repo: Add .tx folder including config -> @Rello
  • App repo: Add ignore file -> @Rello
  • App repo: Add l10n folder -> @Rello
  • App repo: Invite "nextcloud bot" with write permissions -> @Rello
  • docker-ci: add repo info to config.json -> rakekniven #330
  • Sysadmins of NC: Deploy internally to tx sync process -> @blizzz
  • Transifex: New resource should appear -> rakekniven
  • Transifex: Do translations and check sync to repo -> rakekniven

Add project "files_scripts" to Transifex sync

  • App repo: Add .tx folder including config -> @Raudius
  • App repo: Add ignore file -> @Raudius
  • App repo: Add l10n folder -> @Raudius
  • App repo: Invite "nextcloud bot" with write permissions -> @Raudius
    • Invite pending
  • docker-ci: add repo info to config.json -> #381
  • Sysadmins of NC: Deploy internally to tx sync process ->
  • Transifex: New resource should appear -> @rakekniven
  • Transifex: Do translations and check sync to repo -> @rakekniven
  • Add resource to wiki -> @rakekniven

When translated strings for a language fall below 50%, they are not removed on Android

When a translated language falls below the 50% mark, they won't get pushed anymore back from transifex to the upstream repository.

To avoid outdated translations in the upstream repository, there is a delete command to clean up such little translated but no longer pushed languages:
https://github.com/nextcloud/docker-ci/blob/master/translations/handleAppTranslations.sh#L80-L81

It seems though, that this will only affect json and js files, but translations for Android apps are stored in xml files which are not covered by the rm.

I am not sure whether or not this issue can simply be solved by adding xml to the list of file extensions in this line, therefore just opening an issue instead of a direct PR.

luckily found by coincidence: stefan-niedermann/nextcloud-deck#519
also affected: at least @David-Development and @tobiasKaminsky
for information: @rakekniven

Nextcloud translation to Persian (Farsi)

Hi there!
We have deployed Nextcloud recently and need to localize the interface - which is already done; but incompletely - and want to know how we can include our translations.

How to include specific .txt-file in transifex-bot?

Hey @MorrisJobke,

here another request: I want to add some kind of description about how to use markdown for the Notes app (nextcloud/notes-android#116).

I could store the text in the strings.xml-file and it would be translated by transifex. But i do not really want to do that for clarity reasons. Ideal for me was if i could simply place a plain .md- or .txt-file inside of the android assets-folder (similar to #198).

  • Would this kind of file be respected by the transifex-bot yet?
  • If not, can you add support for something like this? Or do you have any other idea about how / where to store such a property?

cc @tobiasKaminsky

Sync for czech language is not working

Today https://help.nextcloud.com/t/missing-strings-in-czech-translation/130459/7 came up.

I checked Transifex for mentioned strings and everything is in place.

A look at https://github.com/nextcloud/server/tree/master/apps/files_sharing/l10n shows that czech language hasn't been updated for 5 years.

Did I miss something?

@blizzz Can you check or forward to someone?

Reporting user is using NC v22.2.3 and therefore it looks like an up-to-date issue.

btw. I checked https://demo1.nextcloud.com/status.php to prove issue and it is at v21.0.4. This is outdated for new users. Where to report it?

Regex issue during transifex string extraction - strings are not extracted

Hello. I am currently checking on the issue nextcloud/cookbook#495. I first thought the problem to be in our code. To narrow down the problem, I manually ran the translation tool with create-pot-files to check the *.pot file generated.

Surprisingly, the .pot file contained the relevant part that was criticized in the named issue. One example would be the strings Fat total and Fat content. Both strings are in our *.vue files (discussable if this is a good idea but not this issue's topic) and are correctly reported in the pot file in fake vue files

#: /tmp/test-vue/cookbook/specialVueFakeDummyForL10nScript.js:73
msgid "Fat content"
msgstr ""

[...]

#: /tmp/test-vue/cookbook/specialVueFakeDummyForL10nScript.js:105
msgid "Fat total"
msgstr ""

In transifex web frontend the Fat content string is showing up just well. The Fat total string is nowhere to find in their page.

After looking into the codes, I assume, the docker container built by Dockerfile-App will do the synchronization with transifex. Unfortunately, I do not find any hint where this docker file is run and where to look for errors/warnings if there are any.

As we are getting daily updates from the translation bot I assume, the docker image is running in general and taking our repository into consideration. So it seems nothing is broken here in first sight.

Can you please help to elaborate the issue further?

Add project "integration_openproject" to Transifex sync

  • App repo: Add .tx folder including config -> @eneiluj
  • App repo: Add ignore file -> @eneiluj
  • App repo: Add l10n folder -> @eneiluj
  • App repo: Invite "nextcloud bot" with write permissions -> @eneiluj
  • docker-ci: add repo info to config.json -> @eneiluj #347
  • Sysadmins of NC: Deploy internally to tx sync process -> @blizzz
  • Transifex: New resource should appear -> rakekniven
  • Transifex: Do translations and check sync to repo -> rakekniven
  • Add resource to help forum page

No data is visible on transifex

I tried to configure the repo according to the documentation here. Yesterday the PR #209 was accepted. The repo is publicly visible, the mail of adding the bot as a collaborator was sent, I do not know if it was already confirmed.

However, I assumed that the project would at least show up in transifex. It might happen that the push to master is not possible but the translations should appear online.
I looked at this page on transifex. I do not find the cookbook app there.

The reason I ask here is that there are a set of translations already in the repo and I want to check if these are automatically imported to transifex or if we need to move them to transifex "somehow". In the latter case, I would ask you for help and advice. But first, we need to get the main connection done.

Thanks anyways

Add project "recognize" to Transifex sync

  • App repo: Add .tx folder including config -> @marcelklehr
  • App repo: Add ignore file -> @marcelklehr
  • App repo: Add l10n folder -> @marcelklehr
  • App repo: Invite "nextcloud bot" with write permissions -> @marcelklehr
    • Invite pending
  • docker-ci: add repo info to config.json -> #388
  • Sysadmins of NC: Deploy internally to tx sync process ->
  • Transifex: New resource should appear -> @rakekniven
  • Transifex: Do translations and check sync to repo -> @rakekniven
  • Add resource to wiki -> @rakekniven

Repo URL: https://github.com/nextcloud/recognize

Extract strings from info.xml

Extract name, summary and description from the info XML to properly translate it on transifex.

Should be tackled together with #87.

Translations of long strings vs code styling

Hello,

I have a longer text that needs to be localized. It is a description of an error case and how the user has to solve it.

When thinking of code styling, such a text will likely need to be broken into multiple lines to fit into the code styling requirements. However in the parser of the translationtool (here using the vue parser as an example), the regex seems to parse the combined file only line by line. So most probably it will only catch only the first part of the string for translation.

Do I miss something here? Or is the best way to simply disable the code style checker for the names line and keep everything on one line?

Using transifex for Nextcloud related app

Hello

I was told to ask here for help with transifex.

Im currently developing a smartphone app https://github.com/Teifun2/nextcloud-cookbook-flutter for a nextcloud "plugin" https://github.com/nextcloud/cookbook. This nextcloud plugin is already integrated with the nextcloud transifex project. As the smartphone app to this plugin will mostly contain the same "texts" that need translation i was wondering if it is possible to use the same transifex project.

Would it even be possible to use partially the same texts as the cookbook plugin. And what CI and structure would i need to adopt to be accepted into this transifex project?

I hope i am at the correct place to ask these questions here, and if not then please let me know.

Android files app translating fails

Your branch is up to date with 'origin/master'.
+ cp app/src/main/res/values/strings.xml stable-values/master.xml
+ git checkout stable-3.18
Branch 'stable-3.18' set up to track remote branch 'stable-3.18' from 'origin'.
Switched to a new branch 'stable-3.18'
+ cp app/src/main/res/values/strings.xml stable-values/stable-3.18.xml
cp: can't stat 'app/src/main/res/values/strings.xml': No such file or directory

Either it needs a version switch or you need to remove stable-3.18

Originally posted by @nickvergessen in #364 (comment)

Support fastlane

Dear @MorrisJobke,

is it possible to add support for fastlane?

If you don't know it, it's basically like a folder/file-structure convention to store simple .txt-files containing descriptions, release notes and some other details for android apps (+ some image files which do not matter in the scope of this issue of course).

You can find a sample structure in the repository for Nextcloud Notes for android.

It would be a very great benefit if those files could be handeled by the transifex-bot because

  • F-Droid uses those files for all available information
  • Fastlane can be used to deploy to Play Store automatically

This would greatly enhance the accessability for users of other languages than english 🙂.

Thanks

cc @tobiasKaminsky

Add project "salattime" to Transifex sync

  • App repo: Add .tx folder including config -> @medismail
  • App repo: Add ignore file -> @medismail
  • App repo: Add l10n folder -> @medismail
  • App repo: Invite "nextcloud bot" with write permissions -> @medismail
    • Invite pending
  • docker-ci: add repo info to config.json -> #398
  • Sysadmins of NC: Deploy internally to tx sync process ->
  • Transifex: New resource should appear -> @rakekniven
  • Transifex: Do translations and check sync to repo -> @rakekniven
  • Add resource to wiki -> @rakekniven

Repo URL: https://github.com/medismail/salattime

Update ImageMagick in CI environment to support HEIF/HEIC test cases

Steps to reproduce

  1. Submit a pullrequest like nextcloud/server#10526 which requires a recent version of ImageMagick convert tool
  2. CI test case fails: https://drone.nextcloud.com/nextcloud/server/9604

Expected behaviour

Test case should report green.
grafik

Actual behaviour

Due to the version of ImageMagick which lacks support to read HEIF/HEIC files (the new Apple file format for iPhones) in the CI environment, the test case fails (see log below).

Server configuration

Running the tests on macOS with ImageMagick 7.0.8-9 installed through Homebrew works:
brew install --with-libheif imagemagick

Operating system:
macOS 10.13.6

Web server:
embedded php webserver

Database:
embedded sqlite

PHP version:
7.2

Nextcloud version: (see Nextcloud admin page)
github master checkout

Updated from an older Nextcloud/ownCloud or fresh install:
new install

Where did you install Nextcloud from:
github

Logs

CI log (data/nextcloud.log)

Nextcloud CI log (https://drone.nextcloud.com/nextcloud/server/9604)
1) Test\Preview\HEICTest::testGetThumbnail with data set #0 (-85, -61)
Failed asserting that false is not equal to false.

/drone/src/github.com/nextcloud/server/tests/lib/Preview/Provider.php:141
/drone/src/github.com/nextcloud/server/tests/lib/Preview/Provider.php:103

2) Test\Preview\HEICTest::testGetThumbnail with data set #1 (34, 26)
Failed asserting that false is not equal to false.

/drone/src/github.com/nextcloud/server/tests/lib/Preview/Provider.php:141
/drone/src/github.com/nextcloud/server/tests/lib/Preview/Provider.php:103

3) Test\Preview\HEICTest::testGetThumbnail with data set #2 (-76, 55)
Failed asserting that false is not equal to false.

/drone/src/github.com/nextcloud/server/tests/lib/Preview/Provider.php:141
/drone/src/github.com/nextcloud/server/tests/lib/Preview/Provider.php:103

4) Test\Preview\HEICTest::testGetThumbnail with data set #3 (75, -84)
Failed asserting that false is not equal to false.

/drone/src/github.com/nextcloud/server/tests/lib/Preview/Provider.php:141
/drone/src/github.com/nextcloud/server/tests/lib/Preview/Provider.php:103

Migration to Vue.js causes trouble with transifex

Hello,

the app cookbook just migrated to Vue.js. Unfortunately, the translation system got broken by it. Almost all translation files were dropped by the bot.

I assume, that the bot did not correctly detect the Vue sources and thus removed non-required entries from the l10n files. Of course, we do not want to lose all the translations yet done. So I am coming to you to ask for advice.

If I just take an example file and throw it into a preg matcher against your detection code, it seems that the file would be selected for translation.
Unfortunately, I cannot look into the dummy vue file generated. Is there a better way than to hack on the generate pot file and keep the dummy file for inspection?

Thank you very much!

Add project "Transfer" to Transifex sync

  • App repo: Add .tx folder including config -> @danth
  • App repo: Add ignore file -> @danth
  • App repo: Add l10n folder -> @danth
  • App repo: Invite "nextcloud bot" with write permissions -> @danth
  • docker-ci: add repo info to config.json -> danth #370
  • Sysadmins of NC: Deploy internally to tx sync process -> @blizzz
  • Transifex: New resource should appear -> rakekniven
  • Transifex: Do translations and check sync to repo -> rakekniven

Add project "backup" to Transifex sync

  • App repo: Add .tx folder including config -> @ArtificialOwl
  • App repo: Add ignore file -> @rakekniven nextcloud/backup#66
  • App repo: Add l10n folder -> @ArtificialOwl
  • App repo: Invite "nextcloud bot" with write permissions -> @ArtificialOwl
  • docker-ci: add repo info to config.json -> rakekniven Details: #327
  • Sysadmins of NC: Deploy internally to tx sync process -> @blizzz
  • Transifex: New resource should appear -> rakekniven
  • Transifex: Do translations and check sync to repo -> rakekniven

Add richdocumentscode for translation

PR for initial i18n/l10n work on the richdocumentscode side: CollaboraOnline/richdocumentscode#29
PR for the CI side: #226

Followed instructions here: https://docs.nextcloud.com/server/latest/developer_manual/app/view/l10n.html

By looking at the instructions and the config.json here, it seemed like the app is assumed to be on the root dir of the repo, but we have it under a subdir (nextcloud-app). So we will also add some bits to our build script to copy the l10n directory into the build directory later.

I hope I got everything right for the l10n. Your cooperation/help is much appreciated. Thank you! :)

Make the android image smaller

A lot of disk space issues are there because most of the space is occupied by the ~9GB android image.

We should try to make this smaller to fit everything on Ramdisks - otherwise I need to disable Ramdisk completely.

cc @AndyScherzinger

Nextcloud Bot pending invite

I added the translation configuration for my project fractava/biblio to this repository in #297.
I have also sent a collaborator invite to the Nextcloud Bot on Github, but so far the invite is not accepted and no commits by the bot have been pushed.

bot invite

Is there anything else I need to do or do I just have to wait?

Add project "analytics" to Transifex sync

  • App repo: Add .tx folder including config -> @Rello Rello/analytics#202
  • App repo: Add ignore file -> @Rello Rello/analytics#202
  • App repo: Add l10n folder -> @Rello Rello/analytics#202
  • App repo: Invite "nextcloud bot" with write permissions -> @Rello
  • docker-ci: add repo info to config.json -> rakekniven Details: #324
  • Sysadmins of NC: Deploy internally to tx sync process -> @blizzz
  • Transifex: New resource should appear -> rakekniven
  • Transifex: Do translations and check sync to repo -> rakekniven

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.