From b07b50ad01664207fcb0299ca55c4c38ed78f930 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 08:45:29 +0100 Subject: Add build of docs --- .circleci/config.yml | 7 +------ .github/workflows/build-and-test.yml | 0 .github/workflows/build-docs.yml | 37 ++++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/build-and-test.yml create mode 100644 .github/workflows/build-docs.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index 9a276ad2..916d1f8c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -312,12 +312,7 @@ jobs: workflows: version: 2 - build-docs: - jobs: - - build-develop-doc: - filters: - branches: - only: master + build-and-test: jobs: - install diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml new file mode 100644 index 00000000..e69de29b diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml new file mode 100644 index 00000000..63e57e63 --- /dev/null +++ b/.github/workflows/build-docs.yml @@ -0,0 +1,37 @@ +name: Build documentation + +on: + push: + branches: + - master + +env: + BUILD_PATH: ../docs-build + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install dependencies + run: + - apt install -y graphviz + - pip3 install sphinx-guillotina-theme sphinx + - name: Build docs + run: + - ./build_docs.sh + working-directory: docs + - name: Deploy docs + uses: burnett01/rsync-deployments@4.1 + with: + switches: -avc --delete + path: docs-build/ + remote_path: / + remote_host: ${{ secrets.DOCS_DEPLOY_HOST }} + remote_user: ${{ secrets.DOCS_DEPLOY_USER }} + remote_key: ${{ secrets. }} -- cgit v1.2.3 From f9d1f253094050d571d4e55513d335022ba7f0f3 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 08:48:54 +0100 Subject: fix --- .github/workflows/build-docs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 63e57e63..8daebf47 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -1,3 +1,4 @@ +--- name: Build documentation on: @@ -11,7 +12,7 @@ env: jobs: build: runs-on: ubuntu-latest - + steps: - uses: actions/checkout@v2 - name: Set up Python 3.9 -- cgit v1.2.3 From 168077d5b0d5e1945b973b1fd2bffb7a4261aa64 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 08:51:11 +0100 Subject: fix2 --- .github/workflows/build-docs.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 8daebf47..2f7805c1 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -20,12 +20,11 @@ jobs: with: python-version: 3.9 - name: Install dependencies - run: - - apt install -y graphviz - - pip3 install sphinx-guillotina-theme sphinx + run: | + apt install -y graphviz + pip3 install sphinx-guillotina-theme sphinx - name: Build docs - run: - - ./build_docs.sh + run: ./build_docs.sh working-directory: docs - name: Deploy docs uses: burnett01/rsync-deployments@4.1 -- cgit v1.2.3 From eda8cc19a3a45f05e1ee0184e39d771ba89fbb19 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 08:52:36 +0100 Subject: fix3 --- .github/workflows/build-docs.yml | 44 ++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 2f7805c1..2ce7013e 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -13,25 +13,25 @@ jobs: build: runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up Python 3.9 - uses: actions/setup-python@v2 - with: - python-version: 3.9 - - name: Install dependencies - run: | - apt install -y graphviz - pip3 install sphinx-guillotina-theme sphinx - - name: Build docs - run: ./build_docs.sh - working-directory: docs - - name: Deploy docs - uses: burnett01/rsync-deployments@4.1 - with: - switches: -avc --delete - path: docs-build/ - remote_path: / - remote_host: ${{ secrets.DOCS_DEPLOY_HOST }} - remote_user: ${{ secrets.DOCS_DEPLOY_USER }} - remote_key: ${{ secrets. }} + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install dependencies + run: | + apt install -y graphviz + pip3 install sphinx-guillotina-theme sphinx + - name: Build docs + run: ./build_docs.sh + working-directory: docs + - name: Deploy docs + uses: burnett01/rsync-deployments@4.1 + with: + switches: -avc --delete + path: docs-build/ + remote_path: / + remote_host: ${{ secrets.DOCS_DEPLOY_HOST }} + remote_user: ${{ secrets.DOCS_DEPLOY_USER }} + remote_key: ${{ secrets. }} -- cgit v1.2.3 From 41d31211b8a70a8037700494bbd6afeaa9021f03 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 08:53:40 +0100 Subject: aaaaa --- .github/workflows/build-docs.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 2ce7013e..8f2a9957 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -14,7 +14,8 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - name: Checkout code + uses: actions/checkout@v2 - name: Set up Python 3.9 uses: actions/setup-python@v2 with: -- cgit v1.2.3 From fc3eba98caae997d30d0cfead36c0016c1e97f60 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 08:54:25 +0100 Subject: ??? --- .github/workflows/build-docs.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 8f2a9957..7e8b6a48 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -1,4 +1,3 @@ ---- name: Build documentation on: -- cgit v1.2.3 From 0f23cc4b74cc176b6343c61c4df9d9710bae3f9f Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 08:55:21 +0100 Subject: ??? --- .github/workflows/build-docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 7e8b6a48..76243948 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -11,6 +11,7 @@ env: jobs: build: runs-on: ubuntu-latest + name: Build and sync latest documentation steps: - name: Checkout code -- cgit v1.2.3 From 34fd27a77011223319a1dd70b428e83eb91870b4 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 09:16:32 +0100 Subject: Add testing for front and back --- .github/workflows/build-and-test.yml | 126 +++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index e69de29b..a7ac6d11 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -0,0 +1,126 @@ +name: Test builds + +on: push + +jobs: + frontend: + name: Test build frontend + runs-on: ubuntu-latest + + strategy: + matrix: + node: [12.x, 14.x, 15.x] + + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Uses Node.JS ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node }} + - name: Cache Node.js modules + uses: actions/cache@v2 + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.OS }}-node- + ${{ runner.OS }}- + + - name: Install dependencies + run: | + yarn install --frozen-lockfile + apt install -y firefox + working-directory: front + + - name: Lint code + run: npm run lint + working-directory: front + + # might need firefox... + - name: Test front + run: npm run unit + working-directory: front + + backend: + name: Test build backend + runs-on: ubuntu-latest + + strategy: + matrix: + python: [3.6, 3.7, 3.8, 3.9] + + services: + postgres: + image: postgres + env: + POSTGRES_PASSWORD: postgres + POSTGRES_DB: reel2bits_test + POSTGRES_USER: postgres + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Uses Python ${{ matrix.python }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: Cache pip + uses: actions/cache@v2 + with: + # This path is specific to Ubuntu + path: ~/.cache/pip + # Look to see if there is a cache hit for the corresponding requirements file + key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + ${{ runner.os }}- + + - name: Install system dependencies + run: | + apt update + apt install -y sox libtag1v5 libmagic1 libffi6 ffmpeg postgresql-client-11 rsync + apt install -y cmake build-essential git wget make libboost-all-dev rustc + apt install -y libsox-dev libsox-fmt-all libtag1-dev libmagic-dev libffi-dev libgd-dev libmad0-dev libsndfile1-dev libid3tag0-dev libmediainfo-dev + + - name: Install Audiowaveform + run: ./api/tests/install_audiowaveform.sh + + - name: Install python dependencies + run: | + pip install --requirement api/requirements.txt + pip install black + pip install flake8 + touch front/dist/index.html + + - name: Lint code + run: | + black --check . + flake8 . --count --show-source --statistics + working-directory: api + + - name: Test backend + run: python setup.py test + working-directory: api + env: + AUTHLIB_INSECURE_TRANSPORT: 1 + APP_SETTINGS: "config.testing.Config" + + - name: Test full migrations + run: | + psql -U postgres -h localhost -w -c 'CREATE DATABASE reel2bits' + psql -U postgres -h localhost -w -c 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp";' reel2bits + flask db upgrade + flask db-datas 000-seeds + flask db-datas 001-generate-tracks-uuids + flask db-datas 002-set-local-users + flask db-datas 003-set-user-quota + flask db-datas 004-update-file-sizes + flask db-datas 005-update-user-quotas + working-directory: api -- cgit v1.2.3 From e7d4da61476ace56306ee468d1188e698f98bd0f Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 09:16:56 +0100 Subject: drop circleci --- .circleci/config.yml | 361 --------------------------------------------------- 1 file changed, 361 deletions(-) delete mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 916d1f8c..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,361 +0,0 @@ -# Python CircleCI 2.0 configuration file -# Check https://circleci.com/docs/2.0/language-python/ for more details -version: 2 - -aliases: - - &defaults - docker: - - image: circleci/python:3.6-buster-node - working_directory: ~/projects/reel2bits - - - &attach_workspace - attach_workspace: - at: ~/projects/ - - - &persist_to_workspace - persist_to_workspace: - root: ~/projects/ - paths: - - ./reel2bits/ - - ./audiowaveform/ - - - &install_system_dependencies - run: - name: Install system dependencies - command: | - sudo apt-get update - sudo apt-get install -y sox libtag1v5 libmagic1 libffi6 ffmpeg postgresql-client-11 rsync - sudo apt-get install -y cmake build-essential git wget make libboost-all-dev rustc - sudo apt-get install -y libsox-dev libsox-fmt-all libtag1-dev libmagic-dev libffi-dev libgd-dev libmad0-dev libsndfile1-dev libid3tag0-dev libmediainfo-dev - - - &install_audiowaveform - run: - name: Install audiowaveform - command: ./api/tests/install_audiowaveform.sh - - - &install_python_dependencies - steps: - - *attach_workspace - - *install_system_dependencies - - *install_audiowaveform - - run: python -V | tee /tmp/.python-version - - restore_cache: - keys: - - v2-dependencies-{{ checksum "/tmp/.python-version" }}-{{ checksum "api/requirements.txt" }} - - run: python3 -m venv venv - - run: - command: | - . venv/bin/activate - pip install --requirement api/requirements.txt - pip install black - pip install flake8 - touch front/dist/index.html - - save_cache: - key: v2-dependencies-{{ checksum "/tmp/.python-version" }}-{{ checksum "api/requirements.txt" }} - paths: - - ./venv - - *persist_to_workspace - - - &install_steps - steps: - - checkout - - *attach_workspace - - restore_cache: - keys: - - v1-node-dependencies-{{ checksum "front/yarn.lock" }} - - v1-node-dependencies- - - run: - command: | - cd front - yarn install --frozen-lockfile - - save_cache: - key: v1-node-depdencies-{{ checksum "front/yarn.lock" }} - paths: - - ./front/node_modules/ - - *persist_to_workspace - - - &test_steps - steps: - - *attach_workspace - - *install_system_dependencies - - *install_audiowaveform - - run: - name: Linters - command: | - . venv/bin/activate - cd api - black --check . - flake8 . --count --show-source --statistics - - run: - name: Tests - command: | - . venv/bin/activate - cd api - mkdir test-reports - export AUTHLIB_INSECURE_TRANSPORT=1 - export APP_SETTINGS="config.testing.Config" - python setup.py test - - run: - name: Full migrations - command: | - psql -U postgres -h localhost -w -c 'CREATE DATABASE reel2bits' - psql -U postgres -h localhost -w -c 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp";' reel2bits - . venv/bin/activate - cd api - flask db upgrade - flask db-datas 000-seeds - flask db-datas 001-generate-tracks-uuids - flask db-datas 002-set-local-users - flask db-datas 003-set-user-quota - flask db-datas 004-update-file-sizes - flask db-datas 005-update-user-quotas - - store_test_results: - path: api/test-reports - - store_artifacts: - path: api/test-reports - - - &lint_steps_front - steps: - - *attach_workspace - - run: - name: Front lint - command: | - cd front - npm run lint - - - &test_steps_front - steps: - - *attach_workspace - - run: - name: Front test - command: | - firefox --version - cd front - npm run unit - - - &build_front - steps: - - *attach_workspace - - run: - name: Install rsync - command: | - sudo apt-get update - sudo apt-get install -y rsync - - run: - name: Front build - command: | - cd front - npm run build - - persist_to_workspace: - root: ~/projects/ - paths: - - ./reel2bits/front/dist - - - &sync_front - steps: - - *attach_workspace - - add_ssh_keys: - fingerprints: - - "8b:e8:75:22:8a:21:35:5a:50:1c:da:75:2f:11:6c:2b" - - "66:7c:0f:97:42:b2:eb:fe:53:3c:0a:db:a5:5c:7a:27" - - run: - name: Install rsync - command: | - sudo apt-get update - sudo apt-get install -y rsync - - deploy: - name: zip and sync artifacts - command: | - cd front - if [ "${CIRCLE_BRANCH}" = "master" ]; then - export NAME="front-dist-${CIRCLE_BRANCH}" - zip -r "${NAME}.zip" dist/ - rsync -avc -e "ssh -o StrictHostKeyChecking=no -p 22" ${NAME}.zip assets.reel2bits.org@cadance.licorn.eu:/ - fi - if [ ! -z "${CIRCLE_TAG}" ]; then - export NAME="front-dist-${CIRCLE_TAG}" - zip -r "${NAME}.zip" dist/ - rsync -avc -e "ssh -o StrictHostKeyChecking=no -p 22" ${NAME}.zip assets.reel2bits.org@cadance.licorn.eu:/ - fi - - - &build_and_sync_doc - steps: - - checkout - - *attach_workspace - - add_ssh_keys: - fingerprints: - - "66:80:b8:db:44:06:34:e1:f0:ac:35:b2:a0:80:98:bd" - - run: - name: Install rsync - command: | - sudo apt-get update - sudo apt-get install -y rsync graphviz - - run: - name: Install dependencies - command: | - python3 -m venv venv - . venv/bin/activate - pip install sphinx-guillotina-theme sphinx - - run: - name: Build docs - command: | - . venv/bin/activate - cd docs && ./build_docs.sh - - deploy: - name: deploy - command: | - rsync -avc -e "ssh -o StrictHostKeyChecking=no -p 22" --delete docs-build/ docs-develop.reel2bits.org@cadance.licorn.eu:/ -jobs: - install: - <<: *defaults - <<: *install_steps - - install-python3.6: - <<: *defaults - <<: *install_python_dependencies - - install-python3.7: - <<: *defaults - docker: - - image: circleci/python:3.7-buster-node - <<: *install_python_dependencies - - install-python3.8: - <<: *defaults - docker: - - image: circleci/python:3.8-buster-node - <<: *install_python_dependencies - - install-python3.9: - <<: *defaults - docker: - - image: circleci/python:3.9-rc-buster-node - <<: *install_python_dependencies - - test-python3.6: - <<: *defaults - docker: - - image: circleci/python:3.6-buster-node - - image: circleci/postgres:11-alpine - environment: - POSTGRES_USER: postgres - POSTGRES_DB: reel2bits_test - <<: *test_steps - - test-python3.7: - <<: *defaults - docker: - - image: circleci/python:3.7-buster-node - - image: circleci/postgres:11-alpine - environment: - POSTGRES_USER: postgres - POSTGRES_DB: reel2bits_test - <<: *test_steps - - test-python3.8: - <<: *defaults - docker: - - image: circleci/python:3.8-buster-node - - image: circleci/postgres:11-alpine - environment: - POSTGRES_USER: postgres - POSTGRES_DB: reel2bits_test - <<: *test_steps - - test-python3.9: - <<: *defaults - docker: - - image: circleci/python:3.9-rc-buster-node - - image: circleci/postgres:11-alpine - environment: - POSTGRES_USER: postgres - POSTGRES_DB: reel2bits_test - <<: *test_steps - - front-lint: - <<: *defaults - docker: - - image: circleci/node:12.9.0-buster-browsers - <<: *lint_steps_front - - front-lint-lts: - <<: *defaults - docker: - - image: circleci/node:10.16.3-buster-browsers - <<: *lint_steps_front - - front-test-lts: - <<: *defaults - docker: - - image: circleci/node:10.16.3-buster-browsers - <<: *test_steps_front - - front-build: - <<: *defaults - docker: - - image: circleci/node:10.16.3-buster-browsers - <<: *build_front - - front-sync: - <<: *defaults - docker: - - image: circleci/node:10.16.3-buster-browsers - <<: *sync_front - - build-develop-doc: - <<: *defaults - docker: - - image: circleci/python:3.7-buster-node - environment: - BUILD_PATH: ../docs-build - <<: *build_and_sync_doc - -workflows: - version: 2 - - build-and-test: - jobs: - - install - - install-python3.6: - requires: - - install - - install-python3.7: - requires: - - install - - install-python3.8: - requires: - - install - - install-python3.9: - requires: - - install - - test-python3.6: - requires: - - install-python3.6 - - test-python3.7: - requires: - - install-python3.7 - - test-python3.8: - requires: - - install-python3.8 - - test-python3.9: - requires: - - install-python3.9 - - front-lint-lts: - requires: - - install - - front-test-lts: - requires: - - front-lint-lts - - front-lint: - requires: - - install - - front-build: - requires: - - front-lint - - front-sync: - requires: - - front-lint-lts - - front-build - filters: - branches: - only: master -- cgit v1.2.3 From 6f32d5e1a20db23ea17c4da3d7f1cd6cd4da17b0 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 09:17:43 +0100 Subject: aaaaaa --- .github/workflows/build-and-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index a7ac6d11..01034dcc 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -116,7 +116,7 @@ jobs: run: | psql -U postgres -h localhost -w -c 'CREATE DATABASE reel2bits' psql -U postgres -h localhost -w -c 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp";' reel2bits - flask db upgrade + flask db upgrade flask db-datas 000-seeds flask db-datas 001-generate-tracks-uuids flask db-datas 002-set-local-users -- cgit v1.2.3 From 456ba3c825e6c844119dd127c9c30bed5ddf4e64 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 09:26:07 +0100 Subject: sudo ? --- .github/workflows/build-and-test.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 01034dcc..9299c3d1 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -31,7 +31,8 @@ jobs: - name: Install dependencies run: | yarn install --frozen-lockfile - apt install -y firefox + sudo apt update + sudo apt install -y firefox working-directory: front - name: Lint code @@ -84,10 +85,10 @@ jobs: - name: Install system dependencies run: | - apt update - apt install -y sox libtag1v5 libmagic1 libffi6 ffmpeg postgresql-client-11 rsync - apt install -y cmake build-essential git wget make libboost-all-dev rustc - apt install -y libsox-dev libsox-fmt-all libtag1-dev libmagic-dev libffi-dev libgd-dev libmad0-dev libsndfile1-dev libid3tag0-dev libmediainfo-dev + sudo apt update + sudo apt install -y sox libtag1v5 libmagic1 libffi6 ffmpeg postgresql-client-11 rsync + sudo apt install -y cmake build-essential git wget make libboost-all-dev rustc + sudo apt install -y libsox-dev libsox-fmt-all libtag1-dev libmagic-dev libffi-dev libgd-dev libmad0-dev libsndfile1-dev libid3tag0-dev libmediainfo-dev - name: Install Audiowaveform run: ./api/tests/install_audiowaveform.sh -- cgit v1.2.3 From c114b5e8b4d947690b4f9fba3500ca8dfe950efe Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 09:33:46 +0100 Subject: fix deps --- .github/workflows/build-and-test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 9299c3d1..42ea9b23 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -54,7 +54,7 @@ jobs: services: postgres: - image: postgres + image: postgres:12 env: POSTGRES_PASSWORD: postgres POSTGRES_DB: reel2bits_test @@ -86,8 +86,8 @@ jobs: - name: Install system dependencies run: | sudo apt update - sudo apt install -y sox libtag1v5 libmagic1 libffi6 ffmpeg postgresql-client-11 rsync - sudo apt install -y cmake build-essential git wget make libboost-all-dev rustc + sudo apt install -y sox libtag1v5 libmagic1 libffi7 ffmpeg postgresql-client-12 rsync + sudo apt install -y cmake build-essential git wget make libboost-all-dev rustc cargo sudo apt install -y libsox-dev libsox-fmt-all libtag1-dev libmagic-dev libffi-dev libgd-dev libmad0-dev libsndfile1-dev libid3tag0-dev libmediainfo-dev - name: Install Audiowaveform -- cgit v1.2.3 From 844414307ec5ffae377be675f64b634a9ecda052 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 09:34:40 +0100 Subject: Get audiowaveform from ppa --- .github/workflows/build-and-test.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 42ea9b23..63626ce1 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -85,13 +85,11 @@ jobs: - name: Install system dependencies run: | + sudo add-apt-repository -y ppa:chris-needham/ppa sudo apt update sudo apt install -y sox libtag1v5 libmagic1 libffi7 ffmpeg postgresql-client-12 rsync sudo apt install -y cmake build-essential git wget make libboost-all-dev rustc cargo - sudo apt install -y libsox-dev libsox-fmt-all libtag1-dev libmagic-dev libffi-dev libgd-dev libmad0-dev libsndfile1-dev libid3tag0-dev libmediainfo-dev - - - name: Install Audiowaveform - run: ./api/tests/install_audiowaveform.sh + sudo apt install -y libsox-dev libsox-fmt-all libtag1-dev libmagic-dev libffi-dev libgd-dev libmad0-dev libsndfile1-dev libid3tag0-dev libmediainfo-dev audiowaveform - name: Install python dependencies run: | -- cgit v1.2.3 From 5bf08df6c1ddf650767552d7d676778d102af4d0 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 10:45:07 +0100 Subject: map psql port --- .github/workflows/build-and-test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 63626ce1..684d3cff 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -64,6 +64,8 @@ jobs: --health-interval 10s --health-timeout 5s --health-retries 5 + ports: + - 5432:5432 steps: - name: Checkout code -- cgit v1.2.3 From 07f52d84fd6638031f82d0f052eaefe64204ea07 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 10:53:41 +0100 Subject: no password --- .github/workflows/build-and-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 684d3cff..4be09d56 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -56,9 +56,9 @@ jobs: postgres: image: postgres:12 env: - POSTGRES_PASSWORD: postgres POSTGRES_DB: reel2bits_test POSTGRES_USER: postgres + POSTGRES_HOST_AUTH_METHOD: trust options: >- --health-cmd pg_isready --health-interval 10s -- cgit v1.2.3 From 3ab6b36af0debd45013df5956204af41d00eb073 Mon Sep 17 00:00:00 2001 From: Dashie Date: Mon, 15 Mar 2021 12:10:05 +0100 Subject: front sync --- .github/workflows/build-and-test.yml | 70 ++++++++++++++++++++++++++++++++++-- .github/workflows/build-docs.yml | 2 +- 2 files changed, 68 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 4be09d56..4f8f4526 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -3,7 +3,7 @@ name: Test builds on: push jobs: - frontend: + test-frontend: name: Test build frontend runs-on: ubuntu-latest @@ -23,8 +23,9 @@ jobs: with: # npm cache files are stored in `~/.npm` on Linux/macOS path: ~/.npm - key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }} + key: ${{ runner.OS }}-node-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | + ${{ runner.OS }}-node-${{ matrix.node-version }} ${{ runner.OS }}-node- ${{ runner.OS }}- @@ -43,6 +44,68 @@ jobs: - name: Test front run: npm run unit working-directory: front + + - name: Test build front + run: npm run build + working-directory: front + + sync-frontend: + name: Sync frontend release + runs-on: ubuntu-latest + + needs: test-frontend + if: github.ref == 'refs/heads/master' || (github.event_name == 'push' && contains(github.ref, 'refs/tags/')) + + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Uses Node.JS 14.x + uses: actions/setup-node@v1 + with: + node-version: 14.x + - name: Cache Node.js modules + uses: actions/cache@v2 + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ~/.npm + key: ${{ runner.OS }}-node-14.x-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.OS }}-node-14.x + ${{ runner.OS }}-node- + ${{ runner.OS }}- + + - name: Install dependencies + run: | + yarn install --frozen-lockfile + working-directory: front + + - name: Build front + run: npm run build + working-directory: front + + - name: Archive build (tag) + run: | + export NAME="front-dist-${{ github.event.release.tag_name }}" + zip -r "${NAME}.zip" dist/ + working-directory: front + if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') + + - name: Archive build (master) + run: | + export NAME="front-dist-master" + zip -r "${NAME}.zip" dist/ + working-directory: front + if: github.ref == 'refs/heads/master' + + - name: Deploy front + uses: burnett01/rsync-deployments@4.1 + with: + switches: -avc + path: front-dist-*.zip + remote_path: / + remote_host: ${{ secrets.ASSETS_DEPLOY_HOST }} + remote_user: ${{ secrets.ASSETS_DEPLOY_USER }} + remote_key: ${{ secrets.ASSETS_DEPLOY_KEY }} backend: name: Test build backend @@ -80,8 +143,9 @@ jobs: # This path is specific to Ubuntu path: ~/.cache/pip # Look to see if there is a cache hit for the corresponding requirements file - key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} + key: ${{ runner.os }}-pip-${{ matrix.python }}-${{ hashFiles('requirements.txt') }} restore-keys: | + ${{ runner.os }}-pip-${{ matrix.python }} ${{ runner.os }}-pip- ${{ runner.os }}- diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 76243948..49227eaf 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -35,4 +35,4 @@ jobs: remote_path: / remote_host: ${{ secrets.DOCS_DEPLOY_HOST }} remote_user: ${{ secrets.DOCS_DEPLOY_USER }} - remote_key: ${{ secrets. }} + remote_key: ${{ secrets.DOCS_DEPLOY_KEY }} -- cgit v1.2.3