From d38e8286162c19c05013830a29f4cb2874a9a5ad Mon Sep 17 00:00:00 2001 From: s-nakajima Date: Fri, 8 Jan 2021 19:22:55 +0900 Subject: [PATCH 01/15] =?UTF-8?q?fix:=20ffmpeg=E3=81=8C=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=82=B9=E3=83=88=E3=83=BC=E3=83=AB=E3=81=95=E3=82=8C=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=81=AA=E3=81=84=E7=92=B0=E5=A2=83=E3=81=A7=E7=A7=BB?= =?UTF-8?q?=E8=A1=8C=E3=81=99=E3=82=8B=E3=81=A8=E3=82=B5=E3=83=A0=E3=83=8D?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E7=94=BB=E5=83=8F=E3=81=8C=E4=BD=9C=E3=82=89?= =?UTF-8?q?=E3=82=8C=E3=81=AA=E3=81=84=E3=81=9F=E3=82=81=E3=80=81=E5=8B=95?= =?UTF-8?q?=E7=94=BB=E3=82=92=E7=B7=A8=E9=9B=86=E3=81=99=E3=82=8B=E3=81=93?= =?UTF-8?q?=E3=81=A8=E3=81=8C=E5=87=BA=E6=9D=A5=E3=81=AA=E3=81=8F=E3=81=AA?= =?UTF-8?q?=E3=82=8B=E3=83=90=E3=82=B0=E4=BF=AE=E6=AD=A3=20https://github.?= =?UTF-8?q?com/NetCommons3/NetCommons3/issues/1617?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controller/VideoFilesController.php | 18 +++++++++++++++++- Model/Behavior/VideoValidationBehavior.php | 8 ++++++++ webroot/img/thumbnail_noimage.png | Bin 0 -> 7735 bytes 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 webroot/img/thumbnail_noimage.png diff --git a/Controller/VideoFilesController.php b/Controller/VideoFilesController.php index e19c3ba..a52a7d4 100644 --- a/Controller/VideoFilesController.php +++ b/Controller/VideoFilesController.php @@ -80,7 +80,23 @@ public function file() { // ダウンロード実行 if ($video) { - return $this->Download->doDownload($video['Video']['id']); + //NC2からNC3で移行するとサムネイルが移行されないため、サムネイル画像がないときはNoImageを表示させる + //@see https://github.com/NetCommons3/NetCommons3/issues/1617 + try { + $response = $this->Download->doDownload($video['Video']['id']); + } catch (Exception $ex) { + if (!empty($this->request->params['pass']) && + $this->request->params['pass'][0] === Video::THUMBNAIL_FIELD) { + //NoImageを表示する + $noimagePath = CakePlugin::path('Videos') . + 'webroot' . DS . 'img' . DS . 'thumbnail_noimage.png'; + $this->response->file($noimagePath, ['name' => 'No Image']); + $response = $this->response; + } else { + throw $ex; + } + } + return $response; } else { // 表示できないなら404 throw new NotFoundException(__d('videos', 'Invalid video entry')); diff --git a/Model/Behavior/VideoValidationBehavior.php b/Model/Behavior/VideoValidationBehavior.php index e5e15f9..83a3406 100644 --- a/Model/Behavior/VideoValidationBehavior.php +++ b/Model/Behavior/VideoValidationBehavior.php @@ -172,6 +172,14 @@ public function rules(Model $model, $options = array()) { ), ), )); + + //NC2からNC3で移行するとサムネイルが移行されないため、サムネイルのupload_idが空であれば、 + //エラーにならないようにunsetする。 + //@see https://github.com/NetCommons3/NetCommons3/issues/1617 + if (isset($model->data['UploadFile']['thumbnail']['id']) && + ! $model->data['UploadFile']['thumbnail']['id']) { + unset($model->data['UploadFile']['thumbnail']); + } } return $rules; diff --git a/webroot/img/thumbnail_noimage.png b/webroot/img/thumbnail_noimage.png new file mode 100644 index 0000000000000000000000000000000000000000..6ef4242c292969ee208f995a03bce293bc6c7d92 GIT binary patch literal 7735 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 uoZ9s~{2#vQKg`?zCc<%;jz@5hT_JbE@5%by Date: Sat, 23 Jan 2021 14:09:55 +0900 Subject: [PATCH 02/15] =?UTF-8?q?add:=20release=E3=82=BF=E3=82=B0=E4=BB=98?= =?UTF-8?q?=E3=81=91=E3=81=AEgithub=20action=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/NetCommons3/NetCommons3/issues/1619 --- .github/workflows/release.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..a3225bc --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,28 @@ +on: + push: + # Sequence of patterns matched against refs/tags + tags: + - '3*' + +name: Create Release + +jobs: + build: + name: Create Release + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token + with: + tag_name: ${{ github.ref }} + release_name: ${{ github.ref }} + body: | + NetCommons ${{ github.ref }} released. + draft: false + prerelease: false From 77bcc2539d3deb861db0f7fa2c8bfa8724fa24f4 Mon Sep 17 00:00:00 2001 From: s-nakajima Date: Sat, 23 Jan 2021 14:10:00 +0900 Subject: [PATCH 03/15] change: Version number to 3.3.3 --- VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.txt b/VERSION.txt index 4772543..619b537 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -3.3.2 +3.3.3 From bdc6626ffb5ba5be7e9c383913e2af7caf6af010 Mon Sep 17 00:00:00 2001 From: s-nakajima Date: Mon, 2 Aug 2021 22:18:07 +0900 Subject: [PATCH 04/15] =?UTF-8?q?change:=20test:=20TravisCI=E3=81=8B?= =?UTF-8?q?=E3=82=89GithubAction=E3=81=AB=E5=A4=89=E6=9B=B4=20https://gith?= =?UTF-8?q?ub.com/NetCommons3/NetCommons3/issues/1650?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/tests.yml | 137 ++++++++++++++++++++++++++++++++++++ .travis.yml | 54 -------------- README.md | 7 +- phpunit.xml.dist | 4 +- 4 files changed, 142 insertions(+), 60 deletions(-) create mode 100644 .github/workflows/tests.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..d6bd01e --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,137 @@ +on: + push: + branches: + - main + - master + - availability + pull_request: + branches: + - main + - master + - availability + +name: tests + +jobs: + tests: + name: tests + runs-on: ubuntu-18.04 + strategy: + matrix: + php: [ '7.1', '7.2', '7.3', '7.4' ] + + env: + NC3_BUILD_DIR: "/opt/nc3" + NC3_DOCKER_DIR: "/opt/docker" + NC3_GIT_URL: "git://github.com/NetCommons3/NetCommons3.git" + NC3_GIT_BRANCH: "master" + PLUGIN_BUILD_DIR: ${{ github.workspace }} + PHP_VERSION: ${{ matrix.php }} + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: cakephp_test + + steps: + - uses: actions/checkout@v2 + + - name: environment + run: | + echo "GITHUB_WORKSPACE=${GITHUB_WORKSPACE}" + echo "PLUGIN_BUILD_DIR=${PLUGIN_BUILD_DIR}" + echo "PHP_VERSION=${PHP_VERSION}" + ls -al ${PLUGIN_BUILD_DIR} + + - name: docker-compose install + run: | + curl -L https://github.com/docker/compose/releases/download/1.11.2/docker-compose-`uname -s`-`uname -m` > ~/docker-compose + chmod +x ~/docker-compose + sudo mv ~/docker-compose /usr/local/bin/docker-compose + docker-compose --version + + - name: git clone nc3 + run: git clone -b ${NC3_GIT_BRANCH} ${NC3_GIT_URL} ${NC3_BUILD_DIR} + + - name: git clone nc3_docker + run: git clone https://github.com/NetCommons3/nc3app-docker.git ${NC3_DOCKER_DIR} + + - name: docker-compose start + run: | + cd ${NC3_DOCKER_DIR} + docker-compose up -d + docker-compose start + + - run: docker ps + + - name: check libraries + run: | + cd ${NC3_DOCKER_DIR} + docker-compose exec -T nc3app bash /opt/scripts/start-on-docker.sh + + - name: nc3 build + run: | + cd ${NC3_DOCKER_DIR} + docker-compose exec -T nc3app bash /opt/scripts/app-build.sh + + - name: phpcs (PHP CodeSniffer) + run: | + cd ${NC3_DOCKER_DIR} + docker-compose exec -T nc3app bash /opt/scripts/phpcs.sh + + - name: phpmd (PHP Mess Detector) + run: | + cd ${NC3_DOCKER_DIR} + docker-compose exec -T nc3app bash /opt/scripts/phpmd.sh + + - name: phpcpd (PHP Copy/Paste Detector) + run: | + cd ${NC3_DOCKER_DIR} + docker-compose exec -T nc3app bash /opt/scripts/phpcpd.sh + + - name: gjslint (JavaScript Style Check) + run: | + cd ${NC3_DOCKER_DIR} + docker-compose exec -T nc3app bash /opt/scripts/gjslint.sh + + - name: phpdoc (PHP Documentor) + run: | + cd ${NC3_DOCKER_DIR} + docker-compose exec -T nc3app bash /opt/scripts/phpdoc.sh + + - name: phpunit (PHP UnitTest) + run: | + cd ${NC3_DOCKER_DIR} + docker-compose exec -T nc3app bash /opt/scripts/phpunit.sh + sudo -s chmod a+w -R ${NC3_BUILD_DIR}/build + + - name: push coveralls + env: + COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COVERALLS_FLAG_NAME: ${{ matrix.php }} + run: | + cd ${NC3_BUILD_DIR} + ls -la ${NC3_BUILD_DIR} + vendors/bin/php-coveralls --coverage_clover=build/logs/clover.xml -v + + - name: docker-compose remove + run: | + cd ${NC3_DOCKER_DIR} + docker-compose rm -f + + # テスト成功時はこちらのステップが実行される + - name: Slack Notification on Success + if: success() + uses: rtCamp/action-slack-notify@v2.2.0 + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} + SLACK_CHANNEL: notify-netcommons3 + SLACK_TITLE: "${{ github.repository }}(${{ matrix.php }})" + SLACK_COLOR: good + + # テスト失敗時はこちらのステップが実行される + - name: Slack Notification on Failure + uses: rtCamp/action-slack-notify@v2.2.0 + if: failure() + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} + SLACK_CHANNEL: notify-netcommons3 + SLACK_TITLE: "${{ github.repository }}(${{ matrix.php }})" + SLACK_COLOR: danger diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3f29ca4..0000000 --- a/.travis.yml +++ /dev/null @@ -1,54 +0,0 @@ -language: php - -php: - - 7.0 - - 7.1 - - 7.2 - - 7.3.24 - - 7.4 - -sudo: false -dist: trusty - -env: - matrix: - - NETCOMMONS_VERSION=master DB=mysql - global: - - secure: "ETR0GRqjEv6OAGGpr0eNQ2mCdPFLVV4ppmU6cDbGdHyfr1a/SVA2Do75gDx/qwjf9FAXb0qNPypCU7CIJ6L+U2yVpn65qbAZ5fgKLk2xA8xjkfrn2W5Fcif7kxusvqJyYXmq1mhIBkZdNQjwfJPsSO5zZjGUeqv/cBUz5lvfa/I=" - - GIT_COMMITTER_NAME=akagane99 - - GIT_COMMITTER_EMAIL=akagane99@gmail.com - - GIT_AUTHOR_NAME=akagane99 - - GIT_AUTHOR_EMAIL=akagane99@gmail.com - -matrix: - allow_failures: - # PHP 7.4 testing is allowed to fail because the GD extension and ZipArchive is not packaged on Travis CI yet. - # See https://travis-ci.community/t/some-extensions-are-missing-in-php-7-4-0-zip-gmp-sodium/6320/9 - - php: 7.4 - -addons: - apt: - packages: - - libav-tools - - libavcodec-extra - -before_script: - - sudo ln -s /usr/bin/avconv /usr/bin/ffmpeg - - export NETCOMMONS_BUILD_DIR=`dirname $TRAVIS_BUILD_DIR`/NetCommons3 - - git clone git://github.com/NetCommons3/NetCommons3 $NETCOMMONS_BUILD_DIR - - cd $NETCOMMONS_BUILD_DIR - - git checkout $NETCOMMONS_VERSION - - . tools/build/plugins/cakephp/travis/pre.sh - -script: - - travis_wait . tools/build/plugins/cakephp/travis/main.sh - -after_script: - - . tools/build/plugins/cakephp/travis/post.sh - -notifications: - email: - recipients: - - netcommons3@googlegroups.com - on_success: never # default: change - on_failure: always # default: always diff --git a/README.md b/README.md index a66cafc..3831b77 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ -# Videos -Videos for NetCommons3 +Videos +======== -[![Build Status](https://api.travis-ci.org/NetCommons3/Videos.svg?branch=master)](https://travis-ci.org/NetCommons3/Videos) +[![Tests Status](https://github.com/NetCommons3/Videos/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/NetCommons3/Videos/actions/workflows/tests.yml) [![Coverage Status](https://coveralls.io/repos/NetCommons3/Videos/badge.svg?branch=master)](https://coveralls.io/r/NetCommons3/Videos?branch=master) +[![Stable Version](https://img.shields.io/packagist/v/netcommons/videos.svg?label=stable)](https://packagist.org/packages/netcommons/videos) ### [phpdoc](https://netcommons3.github.io/NetCommons3Docs/phpdoc/Videos/) diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 99ada75..f1f965c 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -3,9 +3,6 @@ - - - app/Plugin/Videos @@ -20,5 +17,6 @@ + From 0f4a1a62f0d6e29bdb0cbfa8f3752d6c9ae03635 Mon Sep 17 00:00:00 2001 From: s-nakajima Date: Wed, 11 Aug 2021 15:55:41 +0900 Subject: [PATCH 05/15] =?UTF-8?q?fix:=20test:=20UnitTest=E3=82=A8=E3=83=A9?= =?UTF-8?q?=E3=83=BC=E4=BF=AE=E6=AD=A3=20https://github.com/NetCommons3/Ne?= =?UTF-8?q?tCommons3/issues/1650?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release.yml | 35 ++++++++++++++++++++++++-- .github/workflows/tests.yml | 47 +++++++++++++++++++++++++---------- 2 files changed, 67 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a3225bc..592d72f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,16 +4,25 @@ on: tags: - '3*' -name: Create Release +name: create_release jobs: build: - name: Create Release + name: create_release runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 + - name: Slack Notification on Start + uses: rtCamp/action-slack-notify@v2.2.0 + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_RELEASE }} + SLACK_CHANNEL: notify-nc3-release + SLACK_TITLE: "${{ github.repository }}" + SLACK_COLOR: "#f0ad4e" + SLACK_MESSAGE: "Start Job" + - name: Create Release id: create_release uses: actions/create-release@v1 @@ -26,3 +35,25 @@ jobs: NetCommons ${{ github.ref }} released. draft: false prerelease: false + + # テスト成功時はこちらのステップが実行される + - name: Slack Notification on Finish + uses: rtCamp/action-slack-notify@v2.2.0 + if: success() + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_RELEASE }} + SLACK_CHANNEL: notify-nc3-release + SLACK_TITLE: "${{ github.repository }}" + SLACK_COLOR: good + SLACK_MESSAGE: "Job Success" + + # テスト失敗時はこちらのステップが実行される + - name: Slack Notification on Failure + uses: rtCamp/action-slack-notify@v2.2.0 + if: failure() + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_RELEASE }} + SLACK_CHANNEL: notify-nc3-tests + SLACK_TITLE: "${{ github.repository }}" + SLACK_COLOR: danger + SLACK_MESSAGE: "Job Failure" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d6bd01e..1477ea2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,12 +13,26 @@ on: name: tests jobs: + setup: + name: setup + runs-on: ubuntu-18.04 + steps: + - name: Slack Notification on Start + uses: rtCamp/action-slack-notify@v2.2.0 + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_TESTS }} + SLACK_CHANNEL: notify-nc3-tests + SLACK_TITLE: "${{ github.repository }}" + SLACK_COLOR: "#f0ad4e" + tests: name: tests + needs: setup runs-on: ubuntu-18.04 strategy: matrix: php: [ '7.1', '7.2', '7.3', '7.4' ] + mysql: [ '5.7', '8.0' ] env: NC3_BUILD_DIR: "/opt/nc3" @@ -27,6 +41,7 @@ jobs: NC3_GIT_BRANCH: "master" PLUGIN_BUILD_DIR: ${{ github.workspace }} PHP_VERSION: ${{ matrix.php }} + MYSQL_VERSION: ${{ matrix.mysql }} MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: cakephp_test @@ -38,6 +53,7 @@ jobs: echo "GITHUB_WORKSPACE=${GITHUB_WORKSPACE}" echo "PLUGIN_BUILD_DIR=${PLUGIN_BUILD_DIR}" echo "PHP_VERSION=${PHP_VERSION}" + echo "MYSQL_VERSION=${MYSQL_VERSION}" ls -al ${PLUGIN_BUILD_DIR} - name: docker-compose install @@ -116,22 +132,27 @@ jobs: cd ${NC3_DOCKER_DIR} docker-compose rm -f - # テスト成功時はこちらのステップが実行される - - name: Slack Notification on Success - if: success() - uses: rtCamp/action-slack-notify@v2.2.0 - env: - SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} - SLACK_CHANNEL: notify-netcommons3 - SLACK_TITLE: "${{ github.repository }}(${{ matrix.php }})" - SLACK_COLOR: good - # テスト失敗時はこちらのステップが実行される - name: Slack Notification on Failure uses: rtCamp/action-slack-notify@v2.2.0 if: failure() env: - SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} - SLACK_CHANNEL: notify-netcommons3 - SLACK_TITLE: "${{ github.repository }}(${{ matrix.php }})" + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_TESTS }} + SLACK_CHANNEL: notify-nc3-tests + SLACK_TITLE: "${{ github.repository }}(php${{ matrix.php }}, mysql${{ matrix.mysql }})" SLACK_COLOR: danger + + teardown: + name: teardown + runs-on: ubuntu-18.04 + needs: tests + steps: + # テスト成功時はこちらのステップが実行される + - name: Slack Notification on Success + if: success() + uses: rtCamp/action-slack-notify@v2.2.0 + env: + SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_TESTS }} + SLACK_CHANNEL: notify-nc3-tests + SLACK_TITLE: "${{ github.repository }}" + SLACK_COLOR: good From 805a033f03bed6dbc81fdd317bf149ba96f61d43 Mon Sep 17 00:00:00 2001 From: s-nakajima Date: Fri, 13 Aug 2021 19:13:59 +0900 Subject: [PATCH 06/15] change: Version number to 3.3.4 --- VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.txt b/VERSION.txt index 619b537..a0891f5 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -3.3.3 +3.3.4 From 15daf4802b06fa2d1e2a822900f1e1971f99dfb5 Mon Sep 17 00:00:00 2001 From: s-nakajima Date: Tue, 16 Nov 2021 13:13:16 +0900 Subject: [PATCH 07/15] =?UTF-8?q?refactor:=20NetCommonsFormHelper=E3=81=AB?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- View/VideosEdit/edit.ctp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/View/VideosEdit/edit.ctp b/View/VideosEdit/edit.ctp index 4ef6283..f4fa83d 100644 --- a/View/VideosEdit/edit.ctp +++ b/View/VideosEdit/edit.ctp @@ -103,7 +103,7 @@ $video = NetCommonsAppController::camelizeKeyRecursive(array('video' => $this->d 'key' => $this->request->data('Video.key') ))); ?> - Form->end(); ?> + NetCommonsForm->end(); ?> Workflow->canDelete('Videos.Video', $this->request->data('Video'))) : ?>