diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 00000000..5e4dd529 --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,76 @@ +name: Test + +on: + workflow_call: + workflow_dispatch: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + python: ["3.9", "3.10"] + node-version: [12.x, 14.x, 16.x] + env: + DATABASE_URL: "sqlite:///:memory" + DJANGO_SETTINGS_MODULE: measuremate.settings.dev + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - name: Checkout code + uses: actions/checkout@v2 + - name: Setup Node ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - name: Install production dependencies + run: | + yarn global add gulp-cli + yarn install --production + - name: Gulp production build + run: | + gulp build --production + - name: Install development dependencies + run: | + yarn install + - name: Gulp development build + run: | + gulp build + - name: Setup Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install requirements + run: | + pip install -U pip wheel setuptools + pip install -U -r requirements/local.txt + pip install coveralls + - name: Setup + run: | + python manage.py migrate --no-input + python manage.py collectstatic --no-input + - name: Run tests + run: | + gem install coveralls-lcov + coverage run manage.py test + coverage xml + coverage lcov + coveralls-lcov -v -n ./coverage/lcov.info > coverage.json + - name: Upload coverage to coveralls.io + uses: coverallsapp/github-action@master + with: + github-token: ${{ github.token }} + path-to-lcov: coverage.json + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v2 + with: + #token: ${{ secrets.CODECOV_TOKEN }} + files: coverage.xml + verbose: true +# - name: Upload coverage to CodeClimate +# uses: paambaati/codeclimate-action@v3.0.0 +# env: +# CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }} diff --git a/package.json b/package.json index f98e3ac4..6895c0af 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "jquery": "^3.4.0", "lodash": "^4.17.11", "minimist": "^1.2.0", - "moment": "^2.24.0", + "moment": "^2.29.4", "plotly.js": "^1.48.3", "prop-types": "^15.7.2", "react": "^15.6.2", diff --git a/yarn.lock b/yarn.lock index 0533a245..8f175c4a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8651,10 +8651,10 @@ module-deps@^6.0.0: through2 "^2.0.0" xtend "^4.0.0" -moment@^2.24.0: - version "2.25.3" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.25.3.tgz#252ff41319cf41e47761a1a88cab30edfe9808c0" - integrity sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg== +moment@^2.29.4: + version "2.29.4" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" + integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== monotone-convex-hull-2d@^1.0.1: version "1.0.1"