diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d45250bef06..dfb7d6e0343 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,6 +22,10 @@ jobs: name: Commits uses: owncloud/reusable-workflows/.github/workflows/semantic-git-message.yml@main + js-unit: + name: JavaScript Unit + uses: ./.github/workflows/js-unit.yml + php-unit: name: PHP Unit uses: ./.github/workflows/php-unit.yml diff --git a/.github/workflows/js-unit.yml b/.github/workflows/js-unit.yml new file mode 100644 index 00000000000..000445324a3 --- /dev/null +++ b/.github/workflows/js-unit.yml @@ -0,0 +1,30 @@ +on: + workflow_call: + +permissions: + contents: read + +jobs: + js-unit: + name: JavaScript Unit + runs-on: ubuntu-latest + + steps: + - name: Clone owncloud/core + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18' + cache: 'yarn' + cache-dependency-path: build/yarn.lock + + - name: Enable yarn + run: corepack enable + + - name: Install Firefox + run: sudo apt-get install -y firefox + + - name: Run JavaScript tests + run: make test-js diff --git a/build/package.json b/build/package.json index eb8263c51bc..a7dbb0c502f 100644 --- a/build/package.json +++ b/build/package.json @@ -41,7 +41,7 @@ "karma": "^6.4.4", "karma-coverage": "*", "karma-firefox-launcher": "^2.1.3", - "karma-jasmine": "^1.1.2", + "karma-jasmine": "^5.1.0", "karma-jasmine-sinon": "^1.0.4", "karma-junit-reporter": "*", "sinon": "^22.0.0" diff --git a/build/yarn.lock b/build/yarn.lock index 21ffe2fd2e0..ccc3083ccd8 100644 --- a/build/yarn.lock +++ b/build/yarn.lock @@ -1007,6 +1007,11 @@ jasmine-core@^2.99.1: resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.99.1.tgz#e6400df1e6b56e130b61c4bcd093daa7f6e8ca15" integrity sha512-ra97U4qu3OCcIxvN6eg3kyy8bLrID/TgxafSGMMICg3SFx5C/sUfDPpiOh7yoIsHdtjrOVdtT9rieYhqOsh9Ww== +jasmine-core@^4.1.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-4.6.1.tgz#5ebb8afa07282078f8d7b15871737a83b74e58f2" + integrity sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ== + jasmine-sinon@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/jasmine-sinon/-/jasmine-sinon-0.4.0.tgz#8040a179a01ae0349b234aee438c24191239ae98" @@ -1061,10 +1066,12 @@ karma-jasmine-sinon@^1.0.4: resolved "https://registry.yarnpkg.com/karma-jasmine-sinon/-/karma-jasmine-sinon-1.0.4.tgz#fe8996604137946900a706c06229679500734c40" integrity sha512-7/wljAZ+tnLLlnGFM/aO5f700jDBmrMnGMsPpdhZ8zx+8cGNuGKt3V1Usq02NErU5yBGT6AFDSwqqdvgo4DyfQ== -karma-jasmine@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-1.1.2.tgz#394f2b25ffb4a644b9ada6f22d443e2fd08886c3" - integrity sha512-SENGE9DhlIIFTSZWiNq4eGeXL8G6z9cqHIOdkx9jh1qhhQqwEy3tAoLRyER0vOcHqdOlKmGpOuXk+HOipIy7sg== +karma-jasmine@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/karma-jasmine/-/karma-jasmine-5.1.0.tgz#3af4558a6502fa16856a0f346ec2193d4b884b2f" + integrity sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ== + dependencies: + jasmine-core "^4.1.0" karma-junit-reporter@*: version "2.0.1"