diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..9b0a64ba --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +github: [jendib] diff --git a/.github/workflows/build-deploy.yml b/.github/workflows/build-deploy.yml new file mode 100644 index 00000000..2c38750a --- /dev/null +++ b/.github/workflows/build-deploy.yml @@ -0,0 +1,84 @@ +name: Maven CI/CD + +on: + push: + branches: [master] + tags: [v*] + workflow_dispatch: + +jobs: + build_and_publish: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: "11" + distribution: "temurin" + cache: maven + - name: Install test dependencies + run: sudo apt-get update && sudo apt-get -y -q --no-install-recommends install ffmpeg mediainfo tesseract-ocr tesseract-ocr-deu + - name: Build with Maven + run: mvn -Pprod clean install + - name: Upload war artifact + uses: actions/upload-artifact@v2 + with: + name: docs-web-ci.war + path: docs-web/target/docs*.war + + build_docker_image: + name: Publish to Docker Hub + runs-on: ubuntu-latest + needs: [build_and_publish] + + steps: + - + name: Checkout + uses: actions/checkout@v2 + - + name: Download war artifact + uses: actions/download-artifact@v2 + with: + name: docs-web-ci.war + path: docs-web/target + - + name: Setup up Docker Buildx + uses: docker/setup-buildx-action@v1 + - + name: Login to DockerHub + if: github.event_name != 'pull_request' + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Populate Docker metadata + id: metadata + uses: docker/metadata-action@v3 + with: + images: sismics/docs + flavor: | + latest=false + tags: | + type=ref,event=tag + type=raw,value=latest,enable=${{ github.ref_type != 'tag' }} + labels: | + org.opencontainers.image.title = Teedy + org.opencontainers.image.description = Teedy is an open source, lightweight document management system for individuals and businesses. + org.opencontainers.image.created = ${{ github.event_created_at }} + org.opencontainers.image.author = Sismics + org.opencontainers.image.url = https://teedy.io/ + org.opencontainers.image.vendor = Sismics + org.opencontainers.image.license = GPLv2 + org.opencontainers.image.version = ${{ github.event_head_commit.id }} + - + name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.metadata.outputs.tags }} + labels: ${{ steps.metadata.outputs.labels }} diff --git a/.gitignore b/.gitignore index 06a670ab..ef52ccd0 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,11 @@ *.iml node_modules import_test -docs-importer-linux -docs-importer-macos -docs-importer-win.exe \ No newline at end of file +teedy-importer-linux +teedy-importer-macos +teedy-importer-win.exe +docs/* +!docs/.gitkeep + +#macos +.DS_Store diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9663b0db..00000000 --- a/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -sudo: required -dist: trusty -language: java -before_install: - - sudo add-apt-repository -y ppa:mc3man/trusty-media - - sudo apt-get -qq update - - sudo apt-get -y -q install ffmpeg mediainfo tesseract-ocr tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-kor tesseract-ocr-rus tesseract-ocr-ukr tesseract-ocr-spa tesseract-ocr-ara tesseract-ocr-hin tesseract-ocr-deu tesseract-ocr-pol tesseract-ocr-jpn tesseract-ocr-por tesseract-ocr-tha tesseract-ocr-jpn tesseract-ocr-chi-sim tesseract-ocr-chi-tra tesseract-ocr-nld tesseract-ocr-tur - - sudo apt-get -y -q install haveged && sudo service haveged start -after_success: - - | - if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then - mvn -Pprod -DskipTests clean install - docker login -u $DOCKER_USER -p $DOCKER_PASS - export REPO=sismics/docs - export TAG=`if [ "$TRAVIS_BRANCH" == "master" ]; then echo "latest"; else echo $TRAVIS_BRANCH ; fi` - docker build -f Dockerfile -t $REPO:$COMMIT . - docker tag $REPO:$COMMIT $REPO:$TAG - docker tag $REPO:$COMMIT $REPO:travis-$TRAVIS_BUILD_NUMBER - docker push $REPO - fi -env: - global: - - secure: LRGpjWORb0qy6VuypZjTAfA8uRHlFUMTwb77cenS9PPRBxuSnctC531asS9Xg3DqC5nsRxBBprgfCKotn5S8nBSD1ceHh84NASyzLSBft3xSMbg7f/2i7MQ+pGVwLncusBU6E/drnMFwZBleo+9M8Tf96axY5zuUp90MUTpSgt0= - - secure: bCDDR6+I7PmSkuTYZv1HF/z98ANX/SFEESUCqxVmV5Gs0zFC0vQXaPJQ2xaJNRop1HZBFMZLeMMPleb0iOs985smpvK2F6Rbop9Tu+Vyo0uKqv9tbZ7F8Nfgnv9suHKZlL84FNeUQZJX6vsFIYPEJ/r7K5P/M0PdUy++fEwxEhU= - - secure: ewXnzbkgCIHpDWtaWGMa1OYZJ/ki99zcIl4jcDPIC0eB3njX/WgfcC6i0Ke9mLqDqwXarWJ6helm22sNh+xtQiz6isfBtBX+novfRt9AANrBe3koCMUemMDy7oh5VflBaFNP0DVb8LSCnwf6dx6ZB5E9EB8knvk40quc/cXpGjY= - - COMMIT=${TRAVIS_COMMIT::8} diff --git a/Dockerfile b/Dockerfile index d4dced9f..a6a1a2e8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,48 @@ -FROM sismics/ubuntu-jetty:9.4.12-2 -MAINTAINER b.gamard@sismics.com +FROM sismics/ubuntu-jetty:11.0.14 +LABEL maintainer="b.gamard@sismics.com" -RUN apt-get update && apt-get -y -q install ffmpeg mediainfo tesseract-ocr tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-kor tesseract-ocr-rus tesseract-ocr-ukr tesseract-ocr-spa tesseract-ocr-ara tesseract-ocr-hin tesseract-ocr-deu tesseract-ocr-pol tesseract-ocr-jpn tesseract-ocr-por tesseract-ocr-tha tesseract-ocr-jpn tesseract-ocr-chi-sim tesseract-ocr-chi-tra tesseract-ocr-nld tesseract-ocr-tur && \ - apt-get clean && rm -rf /var/lib/apt/lists/* +RUN apt-get update && \ + apt-get -y -q --no-install-recommends install \ + ffmpeg \ + mediainfo \ + tesseract-ocr \ + tesseract-ocr-ara \ + tesseract-ocr-ces \ + tesseract-ocr-chi-sim \ + tesseract-ocr-chi-tra \ + tesseract-ocr-dan \ + tesseract-ocr-deu \ + tesseract-ocr-fin \ + tesseract-ocr-fra \ + tesseract-ocr-heb \ + tesseract-ocr-hin \ + tesseract-ocr-hun \ + tesseract-ocr-ita \ + tesseract-ocr-jpn \ + tesseract-ocr-kor \ + tesseract-ocr-lav \ + tesseract-ocr-nld \ + tesseract-ocr-nor \ + tesseract-ocr-pol \ + tesseract-ocr-por \ + tesseract-ocr-rus \ + tesseract-ocr-spa \ + tesseract-ocr-swe \ + tesseract-ocr-tha \ + tesseract-ocr-tur \ + tesseract-ocr-ukr \ + tesseract-ocr-vie \ + tesseract-ocr-sqi && \ + apt-get clean && rm -rf /var/lib/apt/lists/* && \ + mkdir /app && \ + cd /app && \ + java -jar /opt/jetty/start.jar --add-modules=server,http,webapp,deploy -# Remove the embedded javax.mail jar from Jetty -RUN rm -f /opt/jetty/lib/mail/javax.mail.glassfish-*.jar +ADD docs.xml /app/webapps/docs.xml +ADD docs-web/target/docs-web-*.war /app/webapps/docs.war + +ENV JAVA_OPTIONS -Xmx1g + +WORKDIR /app +CMD ["java", "-jar", "/opt/jetty/start.jar"] -ADD docs.xml /opt/jetty/webapps/docs.xml -ADD docs-web/target/docs-web-*.war /opt/jetty/webapps/docs.war diff --git a/README.md b/README.md index 9e455ae8..69461826 100644 --- a/README.md +++ b/README.md @@ -2,40 +2,38 @@ -[![Twitter: @teedyio](https://img.shields.io/badge/contact-@teedyio-blue.svg?style=flat)](https://twitter.com/teedyio) [![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) -[![Build Status](https://secure.travis-ci.org/sismics/docs.png)](http://travis-ci.org/sismics/docs) +[![Maven CI/CD](https://github.com/sismics/docs/actions/workflows/build-deploy.yml/badge.svg)](https://github.com/sismics/docs/actions/workflows/build-deploy.yml) Teedy is an open source, lightweight document management system for individuals and businesses. -**Discuss it on [Product Hunt](https://www.producthunt.com/posts/sismics-docs) 🦄** -