From 9f14729f327cce70d6ac01e3d19a7bd47cedb86f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Fri, 5 Jun 2026 12:43:15 +0200 Subject: [PATCH 1/3] Migrate CI from DroneCI to GitHub Actions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the DroneCI pipeline (.drone.yml, Node 14, now EOL) with a native GitHub Actions workflow running on ubuntu-latest with Node 20 LTS. The workflow mirrors the existing Drone triggers (master, tags, pull requests) and runs the unchanged `npm test` command (Karma + FirefoxHeadless; Firefox is preinstalled on ubuntu-latest runners). Install uses `npm ci` against the committed package-lock.json. Co-Authored-By: Claude Opus 4.8 Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- .drone.yml | 16 ---------------- .github/workflows/ci.yml | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 16 deletions(-) delete mode 100644 .drone.yml create mode 100644 .github/workflows/ci.yml diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 076adab..0000000 --- a/.drone.yml +++ /dev/null @@ -1,16 +0,0 @@ -kind: pipeline -type: docker -name: default - -steps: -- name: test - image: owncloudci/nodejs:14 - commands: - - npm install - - npm test - -trigger: - ref: - - refs/heads/master - - refs/tags/** - - refs/pull/** diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..1a89cb1 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,26 @@ +name: CI + +on: + push: + branches: + - master + tags: + - '**' + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Run tests + run: npm test From dc77ba745a1d5d3f776134447bf120a28334cf39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Fri, 5 Jun 2026 12:51:23 +0200 Subject: [PATCH 2/3] Pin GitHub Actions to commit SHAs at latest versions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pin actions/checkout to v6.0.3 and actions/setup-node to v6.4.0 by full commit SHA (with version comments) for supply-chain safety, replacing the mutable @v4 tags. Co-Authored-By: Claude Opus 4.8 Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a89cb1..361e4a6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,9 +12,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 20 cache: npm From 48b7e50a49f126358d07d6eff39451f9df703326 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= <1005065+DeepDiver1975@users.noreply.github.com> Date: Fri, 5 Jun 2026 13:29:49 +0200 Subject: [PATCH 3/3] ci: add PR title linter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a Lint PR title workflow that enforces conventional-commit-style PR titles via amannn/action-semantic-pull-request, pinned by commit SHA (v6.1.1). Copied from owncloud/core. Co-Authored-By: Claude Opus 4.8 Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com> --- .github/workflows/lint-pr-title.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/lint-pr-title.yml diff --git a/.github/workflows/lint-pr-title.yml b/.github/workflows/lint-pr-title.yml new file mode 100644 index 0000000..94cdcf7 --- /dev/null +++ b/.github/workflows/lint-pr-title.yml @@ -0,0 +1,18 @@ +name: Lint PR title + +on: + pull_request: + types: + - opened + - edited + - synchronize + +permissions: {} + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}