1
0
mirror of https://github.com/owncloud/ocis.git synced 2026-10-23 23:29:02 +03:00
Commit Graph

184 Commits

Author SHA1 Message Date
Prajwol Amatya
9269643c0e [tests-only][full-ci][k8s] test: run e2e app-provider with k8s setup (#13046)
* test: run e2e app-provider with k8s setup

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: limit app-registry mimetypes

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: add host for onlyoffice

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: enable secure view

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: add available unified roles

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

---------

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>
2026-10-13 16:23:20 +05:45
kobergj
037ac76d26 ci(release): remove the disabled docker jobs from the release pipeline (#13129)
ci(release): remove the disabled docker jobs from the release pipeline (#13128)

Tagging v9.0.0-rc.1 produced a startup_failure: the workflow was rejected
before any job ran. owncloud pins Actions to an org allowlist
(owncloud/admin:actions-allowlist.yml, allowed_actions: selected with
sha_pinning_required), and three pins in this file are not on it:

  docker/setup-buildx-action @f87e5991 v4.4.1 (allowlist has v4.0.0)
  docker/login-action        @dbcb8138 v4.6.0 (allowlist has v4.1.0)
  docker/build-push-action   @c3c9e263 v7.4.0 (allowlist has v7.0.0)

Allowlist validation happens at parse time, so it does not care that all
three only appear in jobs already marked `if: false`.

Rather than pin them back, drop the jobs. Building, scanning and publishing
the production image moved to owncloud-docker/ocis, which is why these were
disabled in the first place; the image Trivy scan now runs there on every PR.
That leaves nothing to maintain here and removes all three offending pins.

Removes docker-build, docker-scan (dead too: it needs docker-build),
docker-manifest and docker-readme. Nothing outside that subgraph depended on
them, so the `docker_repos` and `is_production` outputs, the
PRODUCTION_RELEASE_TAGS / DOCKER_REPO_ROLLING / DOCKER_REPO_PRODUCTION env
vars and the REPOS computation go with them. is_prerelease stays, as
create-github-release still reads it.

The filesystem scan in security-scan-trivy is untouched.



(cherry picked from commit aab12d018e)

Signed-off-by: Julian Koberg <julian.koberg@kiteworks.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-10-13 09:12:10 +02:00
dependabot[bot]
91a8c76bdb build(deps): bump actions/setup-node from 6.4.0 to 7.1.0 (#13118)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.4.0 to 7.1.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v6.4.0...949feb2413d6458794dcd2491c4babbbce0c15c1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-12 19:44:39 +02:00
dependabot[bot]
88e2780a54 build(deps): bump actions/upload-artifact from 4.6.2 to 7.0.2 (#13117)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.2 to 7.0.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.6.2...cf430e030ddbb5b0abf93d22962f4752f3646cd9)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-12 16:22:42 +02:00
dependabot[bot]
60fcb2e214 build(deps): bump actions/download-artifact from 4.3.0 to 8.0.2 (#13119)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.3.0 to 8.0.2.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4.3.0...9000827ccba6bdab643e8b6fd33ac0654aef8333)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 8.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-12 16:22:20 +02:00
isha
9e2a79d0f2 [full-ci][tests-only][k8s] test: run part-2 e2e suites on k8s deployment (#13037)
test: run e2e suites on k8s deployment
2026-10-09 17:08:00 +05:45
Roman Perekhod
9143307b70 fix: [ocisdev-1433] fix public share, add The grpc clients keepalive and more (#13020) (#13068)
* fix: the public share configuration and fixed graceful shutdown

* fix: [OCISDEV-1433] remove GRPC_MAX_CONNECTION_AGE

The setting closed healthy grpc connections on a timer so that clients would redo
their DNS lookup. It never helped against the failure it was reached for - a
connection whose peer stopped answering - because the age limit is enforced by
the server, the grace period was left at infinity so a request already in flight
was never ended, and any value without a unit suffix silently disabled it again.

Detecting a peer that stops answering is now the job of the grpc clients, which
ping the peer while a request is in flight. The servers here got the matching
enforcement policy so they accept those pings; the client side arrives with the
next reva bump.

* fix: Added the new variable OCDAV_DISABLE_PROPFIND_PUBLIC_LINK_RESOLUTION that disable the resolution of public link shares when answering PROPFIND requests.

* chore: bump reva

* fix: The keepalive added to grpc clinet

* chore: bump reva

* build(deps): bump go 1.26.8, grpc-go dependency

---------

(cherry picked from commit e86eb4d210)

For the 9.0 branch, the reva dependency was pointed at reva's main-branch
merge of PR #748 (commit 373f9509a, pseudo-version
v2.0.0-20261005091647-373f9509a363) instead of the 8.2-targeted
e0beaa380005, since the 8.2 merge predates the VaultMode/UploadSessionFilter.Orphaned
APIs already present on the 9.0 reva lineage.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

# Conflicts:
#	changelog/unreleased/security-bump-grpc.md
#	go.mod
#	go.sum
#	vendor/google.golang.org/grpc/server.go
#	vendor/google.golang.org/grpc/stream.go
#	vendor/google.golang.org/grpc/version.go
#	vendor/modules.txt
2026-10-06 17:21:46 +02:00
Kavita gautam
281a1f1b46 test: Run apiSharingNgItemInvitation on k8s deployment (#12996)
* test: run apiSharingNgItemInvitation on k8s deployment

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: synchronization checks after the invitation

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: share with permission role

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

---------

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>
2026-10-05 14:31:31 +05:45
Matteo
30ff89b1de [full-ci] chore(web): adopt Nx as task orchestrator for web/ (#13039)
feat(web): adopt Nx as task orchestrator for web/

Introduces Nx on top of the existing pnpm workspace, so lint/typecheck/
test can be scoped to only the projects affected by a change instead of
running against the whole monorepo on every PR.

- Phase 0: add nx (^23.2.1) as a workspace devDependency, nx.json with a
  targetDefaults entry for test:unit (cache: true), ignore .nx/cache and
  .nx/workspace-data. No behavior change to any existing script.
- Phase 1: register @nx/vitest's inference plugin so every package with
  a vitest.config.ts gets a real, cached "test" target read directly
  from its own config, not just the packages that happened to already
  declare a "test:unit" npm script. Excludes vite.config.common.ts,
  the root vite.config.ts and vite.cern.config.ts from the plugin's
  default glob - none of them are test configs, and loading them as one
  aborts the whole project graph. defaultBase: "master" (bare `nx
  affected` defaults to a branch named "main"). testMode: "run" so `nx
  run <project>:test` doesn't default to vitest's watch mode locally.
- Phase 2a: register @nx/eslint/plugin for a per-project "lint" target
  on every project (root `lint` script untouched).
- Phase 2b: register @nx/vite/plugin's typecheckTargetName for a
  per-project "typecheck" target on projects with their own real
  vite.config.ts (design-system, web-client, web-pkg, web-test-helpers).
  The ~20 web-app-*/web-runtime projects only have a vitest.config.ts
  and aren't covered; root `pnpm run check:types` (whole-repo vue-tsc)
  stays the one check that covers everything.
- Phase 3 (CI): adds a `full-run` output to detect-web-changes - true for
  push to master/stable-* or a `[full-ci]` PR title (unchanged behavior),
  false for a normal PR, which instead runs `nx affected -t lint` / `nx
  affected -t test --base=<PR base sha>`. Added fetch-depth: 0 to
  web-build-test's checkout, needed for `nx affected --base=<sha>` to
  find that commit. Check types and the full-run unit-test path
  deliberately stay whole-repo (see inline comments for why).

Also:
- removes design-system's broken "lint": "lint:stylelint" alias (needed
  the "lint" name free for the new per-project target; it was never
  callable as written - "lint:stylelint" isn't a binary - and nothing
  called it).
- makes the design system's webfontloader import fire-and-forget so an
  in-flight rejection at test teardown doesn't surface as an unhandled
  rejection under vitest's per-project runs.
- pin `typescript` via `pnpm.overrides`. Adding nx's own devDependencies
  makes pnpm re-resolve the workspace's peer graph, and today's registry
  now has a typescript 6.x that some peer ranges accept - without the
  pin, half the vue-peer-dependent packages (pinia, vue-router,
  vue3-gettext, focus-trap-vue, ...) fork into a second, incompatible
  module instance. Same pin as the dependency-cycle fix, for an
  unrelated reason; needed independently here since this branch changes
  package.json on its own.

nx's `dependsOn: ["^target"]` errors outright on a circular task graph,
so this only works once the pre-existing web-pkg/design-system/
web-test-helpers dependency cycle is fixed - see
fix(web): break web-pkg/design-system/web-test-helpers dependency cycle,
which this PR targets rather than master.

Verified: nx run-many -t test / lint / typecheck succeed for all
projects; nx show projects --affected --files=... resolves correctly for
shared config changes; nx affected -t lint --base=<sha> matches pnpm
lint; root pnpm lint/check:types/check:format/test:unit/build all still
pass unchanged (380 files / 3128 tests).
2026-10-02 08:58:49 +02:00
isha
dbf40a3dcd [tests-only][full-ci][k8s] test(ci): run e2e test against k8s deployment (#13006)
ci: run e2e test against k8s deployment
2026-10-01 10:44:41 +05:45
dependabot[bot]
60b5b9eca0 build(deps): bump actions/checkout from 6.0.2 to 7.0.1 (#13014)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6.0.2...3d3c42e5aac5ba805825da76410c181273ba90b1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-29 20:49:34 +02:00
dependabot[bot]
4daf1331f8 build(deps): bump actions/setup-go from 6.3.0 to 7.0.0 (#13016)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6.3.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v6.3.0...b7ad1dad31e06c5925ef5d2fc7ad053ef454303e)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-29 15:16:45 +02:00
dependabot[bot]
87acc90e4d build(deps): bump actions/setup-node from 6.3.0 to 7.0.0 (#13015)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.3.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v6.3.0...820762786026740c76f36085b0efc47a31fe5020)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-29 14:33:13 +02:00
isha
146f08513c [tests-only][full-ci][k8s] test: run apiSearchContent on k8s deployment (#12959)
test: disable redundant k8s 5xx retries for search requests
2026-09-24 15:08:15 +05:45
Pradip Subedi
951f45f54e [tests-only][full-ci][k8s] test: enable coreApiWebdavPreviews in k8s (#12991)
test: enable coreApiWebdavPreviews in k8s
2026-09-24 13:00:00 +05:45
Ashim Shrestha
12ff0e1fcf [tests-only][full-ci][k8s] test: run apiCollaboration test suite on k8s deployment (#12939)
test: run apiCollaboration test suite on k8s deployment

Signed-off-by: Ashim Shrestha <ashimshrestha2384@gmail.com>
2026-09-24 11:43:52 +05:45
Kavita gautam
deaf4b6389 [tests-only][full-ci][k8s] test: Run apiSpace test suite on k8s deployment (#12975)
test: run apiSpace on k8s deployment

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>
2026-09-23 17:52:55 +05:45
Pradip Subedi
02c3df5503 fix: text file previews on libvips without imagemagick support (#12961)
* fix: text file previews on libvips without imagemagick support

* fix: bmp previews on magick-less libvips, vips-tagged tests in CI
2026-09-22 10:30:49 +02:00
dependabot[bot]
f6505f57c3 build(deps): bump the minor-and-patch group across 1 directory with 7 updates (#12866)
Bumps the minor-and-patch group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [shivammathur/setup-php](https://github.com/shivammathur/setup-php) | `2.37.0` | `2.37.2` |
| [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) | `0.35.0` | `0.36.0` |
| [pnpm/action-setup](https://github.com/pnpm/action-setup) | `6.0.9` | `6.1.0` |
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `4.0.0` | `4.4.1` |
| [docker/login-action](https://github.com/docker/login-action) | `4.1.0` | `4.6.0` |
| [docker/build-push-action](https://github.com/docker/build-push-action) | `7.0.0` | `7.4.0` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `3.0.1` | `3.0.3` |



Updates `shivammathur/setup-php` from 2.37.0 to 2.37.2
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.37.0...f3e473d116dcccaddc5834248c87452386958240)

Updates `aquasecurity/trivy-action` from 0.35.0 to 0.36.0
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](57a97c7e78...ed142fd067)

Updates `pnpm/action-setup` from 6.0.9 to 6.1.0
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](0ebf47130e...ea17c68df8)

Updates `docker/setup-buildx-action` from 4.0.0 to 4.4.1
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](4d04d5d948...f87e5991a6)

Updates `docker/login-action` from 4.1.0 to 4.6.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](4907a6ddec...dbcb813823)

Updates `docker/build-push-action` from 7.0.0 to 7.4.0
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](d08e5c354a...c3c9e263c2)

Updates `softprops/action-gh-release` from 3.0.1 to 3.0.3
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](718ea10b13...efb35369e0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-version: 0.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: docker/build-push-action
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: docker/login-action
  dependency-version: 4.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: pnpm/action-setup
  dependency-version: 6.0.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: shivammathur/setup-php
  dependency-version: 2.37.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: softprops/action-gh-release
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-21 14:08:10 +02:00
Kavita gautam
c6a91cdbfc [tests-only][full-ci][k8s] test: Run apiAntivirus test suite on k8s deployment (#12968)
test: run apiAntivirus on k8s deployment
2026-09-18 10:00:32 +05:45
Lukas Hirt
7349dda508 ci: [OCISDEV-1429] skip acceptance-coverage on docs-only PRs (#12963)
acceptance-coverage ran unconditionally (if: always()) even when its
upstream test jobs (local-api-tests, cli-tests, ldap-pool-tests,
core-api-tests) were skipped for docs-only PRs, per detect-changes.
With no coverage artifacts to download, actions/download-artifact
never creates the target directory and the subsequent
`go tool covdata textfmt` step fails with "no such file or
directory", blocking merge of docs-only PRs.

Skip the job using the same docs-only guard build-and-test already
uses.

Signed-off-by: Lukas Hirt <info@hirt.cz>
2026-09-17 11:41:03 +02:00
isha
1ba86e6437 [tests-only][full-ci] ci: fix test deployment examples for nightly runs (#12960)
ci: fix test deployment examples for nightly runs
2026-09-16 15:35:49 +05:45
Ashim Shrestha
13583aba0f [tests-only][full-ci][k8s] test: run apiNotification test suite on k8s deployment (#12922)
test: run apiNotification test suite on k8s deployment

Signed-off-by: Ashim Shrestha <ashimshrestha2384@gmail.com>
2026-09-16 14:14:08 +05:45
Prajwol Amatya
3e3bb41132 [tests-only][full-ci] test: set up Keycloak users via HTTP instead of Web UI (#12930)
test: fix user mfa setup for vauld

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>
2026-09-16 12:12:55 +05:45
Pradip Subedi
d58071bbd9 [tests-only][full-ci][k8s] test: include core-api suites for k8s (#12942)
test: include core-api suites for k8s
2026-09-16 11:00:40 +05:45
Pradip Subedi
4bf1e3ea5e [tests-only][full-ci][k8s] test: rollback sending last chunk twice status code to only 404 (#12929)
* test: rollback sending last chunk twice status code to only 404

* test: run all suites

* test: run coreApiWebdav remaining suite in k8s

* test: exclude coreApiWebdavPreviews
2026-09-15 09:18:54 +05:45
Prajwol Amatya
ddc34232f8 [tests-only][full-ci][k8s] test: run apiVault on k8s deployment (#12845)
* test: run apiVault on k8s deployment

Signed-off-by: Prajwol Amatya <prajwol.amatya@kiteworks.com>

* test: use oc_oAuth.user key to get token

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: debug storage-users-vault

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: add post test debug

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: log and retry until the deadline

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: expose proxy readyz

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: configure auth level name for proxy and frontend services

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: generate admin access token if expired

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: check ociswrapper logs

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: roll back to default auth level name

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: check if retry works

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: clean deduplicate environments

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: revert changes

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: regenerate access token on expiry

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: pre remove exiting envs

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: debug ociswrapper

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: delete only confirmed duplicate key

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: set keycloak url from setup.sh

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: use the already running postgres for keycloak's database

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

---------

Signed-off-by: Prajwol Amatya <prajwol.amatya@kiteworks.com>
Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>
Co-authored-by: Prajwol Amatya <prajwol.amatya@kiteworks.com>
2026-09-10 16:49:07 +05:45
Roman Perekhod
c62b830e93 fix: [OCISDEV-1381][PANAMA-538] Update k6-load-test.yml for new AWS setup (#12819)
* ci: Update k6-load-test.yml for new AWS setup

Moving from the old Hetzner hosted machines to a new AWS setup with a single self-hosted Github worker.

* fix: [OCISDEV-1381][PANAMA-538] Resolving comment on PR #12819

* fix: [OCISDEV-1381][PANAMA-538] Updated SEED_USERS_TOTAL=20

---------

Co-authored-by: Lukas Schwarz <lukas.schwarz@kiteworks.com>
Co-authored-by: Deyan Zhekov <deyan.zhekov@kiteworks.com>
2026-09-04 13:30:56 +03:00
isha
d2f5c3316e [test-only] Add basic upload/download test for deployment examples (#12870)
* ci: add basic upload/download test for deployment examples

* ci: add basic upload/download test for deployment examples
2026-09-03 15:56:54 +05:45
isha
ce0822ea11 [test-only] Test the deployment examples (#12849)
* ci: run acceptance test on ocis_full

* ci: test deployment examples
2026-09-01 17:15:40 +05:45
Sujeito Operator
aac3959e73 ci: pass untrusted workflow inputs through env: instead of interpolating them into the shell (#12857)
* ci: pass the PR title through env: instead of interpolating it into the shell

acceptance-tests.yml and web-tests.yml both build their step script with
PR_TITLE="${{ github.event.pull_request.title }}". The expression is
substituted into the script text before bash parses it, so a pull request
title closing the quote runs as code on the runner.

Both steps write the value that gates the rest of the workflow
(docs-only, web-changed) to $GITHUB_OUTPUT, so an injected title can also
forge that value and skip the suite meant to test the pull request.

Passing the title through env: leaves it as an environment variable that is
never parsed as source. The [full-ci] check is unchanged.

* ci(release): take version_override through env: and reject non-version values

The env: move alone is not enough in release.yml: the value becomes the `version`
job output, which nine later run: blocks interpolate into their own script text --
one of them unquoted -- so a payload that never breaks out of the quotes at line 56
still executes in a different job. An allow-list on VERSION closes all nine at the
source.
2026-08-29 21:52:40 +00:00
Prajwol Amatya
448c57c1cf [full-ci] test: generate code coverage report by running acceptance test (#12706)
* test: generate code coverage report by running acceptance test

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: rename debug build to ocis

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

---------

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>
2026-08-24 10:01:58 +05:45
Kavita gautam
c828e41cba chore: Add Vault Mode CI setup for E2E tests (#12577)
* feat: vault mode access control and mfa on vault entry

* chore: vault mode ci setup for e2e tests

chore: vault mode ci setup

* test: restore web packages changes

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: remove keycloak certs

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: set keycloak server envs

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: adding csp file

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: adding keycloak config

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: adding scope with email acr

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: exclude vault storage from parallel e2e tests

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: remove debugging codes

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: handle vault mode in keycloak group setup

* test: revert some configs

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* test: updating the vault pageObject layout

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* fix: reusing otp authentication of mfa

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>

* fix: update userAuthenticatesWithOTP function

* fix: use a new OIDC authorization-code login for OCIS token

---------

Signed-off-by: Kavita Gautam <kavita@jankaritech.com>
2026-08-20 16:26:01 +05:45
Lukas Hirt
e1e7858bb0 ci: add job timeouts to all GitHub workflows (#12820)
All jobs previously ran with the GitHub-hosted default timeout of 360
minutes, so a hung job (e.g. apt-get stalling in the libcurl install
step of the acceptance tests) blocked a runner for 6 hours before
being killed.

Add an explicit timeout-minutes to every job, sized by workload:

- 120 min: acceptance/e2e/k8s/deployment/k6 test suites and the
  release docker-build and build-binaries jobs
- 30-60 min: web build, code generation, license checks, scans,
  npm/GitHub release publishing, pipeline report
- 5-15 min: change-detection gates, aggregate status jobs, changelog,
  manifest/readme, stale-branch cleanup

The timeout counts only the job's own runtime (queue time and waiting
on `needs` dependencies are excluded) and applies per matrix entry.

Not covered: the jobs in commit-message.yml and translation-sync.yml
call reusable workflows via job-level `uses:`, which does not accept
timeout-minutes; those need timeouts in owncloud/reusable-workflows.

Signed-off-by: Lukas Hirt <info@hirt.cz>
2026-08-19 20:49:19 +00:00
isha
40d257726a [test-only][k8s]test(ci): run test on kubernetes deployment (#12654)
* test(ci): run test on k8s deployment

* chore: update authapp in config

* chore: update storageusers in config

* chore: update version and envs

* chore: normalize service name
2026-08-07 11:31:05 +05:45
Michal Klos
c1457168c3 feat: [OCISDEV-1032] ldap config and retry policy (#12724)
* feat: [OCISDEV-1032] ldap config and retry policy (#12672)

* feat: ldap config and retry policy

Co-authored-by: Roman Perekhod <2403905@gmail.com>
# Conflicts:
#	go.mod
#	go.sum
#	services/graph/pkg/config/config.go
#	services/graph/pkg/service/v0/service.go
#	vendor/modules.txt

# Conflicts:
#	services/graph/pkg/service/v0/service.go

* test: e2e ldap

# Conflicts:
#	.github/workflows/acceptance-tests.yml

# Conflicts:
#	.github/workflows/acceptance-tests.yml

* test: e2e ldap distributed

# Conflicts:
#	.github/workflows/acceptance-tests.yml

* fix: post rebases build error
2026-08-06 12:15:36 +02:00
Lukas Hirt
fc34bd9824 feat(ldap): [OCISDEV-1031] add opt-in LDAP connection pool (#12689)
Bump the vendored reva dependency to pick up the opt-in bounded LDAP
connection pool (owncloud/reva#658, #665), and wire it into oCIS: add
pool_enabled/pool_size/pool_checkout_timeout config to auth-basic,
users, groups and graph, forward it into the reva config map for the
first three, and unify graph's identity backend onto reva's LDAP
client (utils.GetLDAPClientFromConfig) instead of its own hand-rolled
reconnecting client, now that reva implements PasswordModify and
ModifyWithResult on both LDAP clients. Pooling is off by default and
fully backwards compatible.

Signed-off-by: Lukas Hirt <info@hirt.cz>

test(ldap): [OCISDEV-1031] run graph LDAP suites with pooling enabled in CI

Add a dedicated ldap-pool-tests job to acceptance-tests.yml that reruns
apiGraphUser/apiGraph/apiGraphGroup with OCIS_LDAP_POOL_ENABLED=true, so
concurrent behat requests exercise checkout/release, eviction and the
pooled PasswordModify/ModifyWithResult path end-to-end, in addition to
the existing pooling-disabled runs of the same suites.

Signed-off-by: Lukas Hirt <info@hirt.cz>

fix(ldap): [OCISDEV-1031] set real pool_size/pool_checkout_timeout defaults

Only PoolEnabled: false was set in the four defaultconfig.go files;
PoolSize/PoolCheckoutTimeout were left as Go zero values (0/0s),
relying on reva's NewLDAPPool substituting 5/30s when <= 0. That
reads as "zero connections" to an operator in the generated yaml
config rather than "default 5". Set the real defaults (5, 30s)
so documented defaults match what's emitted.

Signed-off-by: Lukas Hirt <info@hirt.cz>

chore(deps): [OCISDEV-1031] bump reva to pick up LDAP TLS fixes

Bumps the vendored reva dependency to owncloud/reva@8ee2020, picking
up owncloud/reva#672 (restore MinVersion: tls.VersionTLS12 on LDAP
TLS connections) and owncloud/reva#674 (restore pinned-CA-only trust
and PEM validation for the CA-cert path), both flagged during review
of this PR.

Signed-off-by: Lukas Hirt <info@hirt.cz>

docs: point changelog fragment at forward-port PR #12689
2026-08-05 17:57:48 +02:00
owncloud-settings-bot[bot]
604cb5a069 chore: add CODEOWNERS (managed by owncloud/admin) (#12604)
Co-authored-by: owncloud-settings-bot[bot] <291027677+owncloud-settings-bot[bot]@users.noreply.github.com>
2026-07-20 10:26:43 +02:00
Prajwol Amatya
b265241288 [tests-only][full-ci] test: add tests related to vault storage (#12482)
* test: test setup for vault storage

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: add test to create file and folder in vault storage

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: add test to check acr value from jwt token

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: setup vault storage in ci

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: update extraServerEnvironment

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: setup playwright

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: set keycloak true

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: add env KC_URL

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: add ignore https errors

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: check url

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: setup vault storage

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: add test to check drive and vault resource isolation

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: add test to check drive and vault resource isolation

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

* test: store selectors in variable

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>

---------

Signed-off-by: Prajwol Amatya <prajwolamatya11@gmail.com>
2026-07-14 10:53:02 +05:45
Michal Klos
c20900419e fix: CI, release pipeline fixes from 8.2-rc.1 (#12562)
* fix: fix CI (#12551)

* fix(ci): disable docker release jobs like in 8.1

The docker-build/manifest/readme jobs were enabled in 8.2 and wired into
create-github-release/audit-release. They fail at docker/login-action
("Username and password required") because DockerHub credentials are not
available, which cascades and cancels the whole release.

Restore the 8.1 behavior: re-add `if: false` to the docker jobs and unwire
them from the downstream release jobs.

* fix(ci): reinstall web deps in license-check job

Excluding web from the generated-code artifact (#12557, to avoid OOM on
upload) also dropped web/node_modules, which provides the
license-checker-rseidelsohn binary used by `make ci-node-check-licenses`.
The job failed with "license-checker-rseidelsohn: not found".

Run `pnpm install` in web before the license check so its node_modules is
present again.

---------

Co-authored-by: Roman Perekhod <2403905@gmail.com>
2026-07-13 17:58:04 +02:00
Lukas Hirt
ad9ccdc93b ci: exclude web when uploading generated code (#12556)
The release workflow is running out of memory when uploading the generated code.
This fixes it by excluding the web directory. The web directory is not needed because the build is handled via the generation.

Signed-off-by: Lukas Hirt <info@hirt.cz>
2026-07-13 10:12:57 +00:00
dependabot[bot]
35c25bb032 build(deps): bump actions/checkout from 6.0.2 to 7.0.0 (#12502)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](de0fac2e45...9c091bb21b)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Roman Perekhod <2403905@gmail.com>
2026-07-08 07:19:31 +03:00
dependabot[bot]
29cfe6e11f build(deps): bump actions/cache from 5.0.5 to 6.1.0 (#12501)
Bumps [actions/cache](https://github.com/actions/cache) from 5.0.5 to 6.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](27d5ce7f10...55cc834586)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-07 14:59:28 +02:00
Lukas Hirt
6bad03d364 [full-ci] chore: [OCISDEV-5] merge and relicense ownCloud Web into oCIS (#12491)
* chore: [OCISDEV-5] Merge and relicense ownCloud Web into oCIS

Consolidate the ownCloud Web frontend into this repository as a single
product with one contribution surface and one license. The web/ source
is imported as-is from the final standalone owncloud/web release
(v12.5.0 / last-agpl-release @ b16a34fdf5569d2fd63b1ff3c575c1a4ee569ad3);
the archived owncloud/web repository remains the historical record for
everything at and before that commit.

Relicensing:
- All web/ contributors have signed the ownCloud CLA, granting ownCloud
  GmbH the right to relicense their contributions.
- web/LICENSE (AGPL-3.0) removed; the repository root LICENSE
  (Apache-2.0) now governs web/ as well, matching how the rest of the
  repo is already licensed.
- All 25 web/packages/*/package.json license fields flipped to
  Apache-2.0; root NOTICE added documenting the relicensing provenance.
- Added REUSE.toml + LICENSES/ so the whole repository (including
  vendored Go dependencies) is REUSE 3.3 compliant.

CI/build:
- services/web/Makefile now builds web assets from the in-tree source
  instead of downloading a release tarball from owncloud/web; license
  checking/saving likewise runs against the in-tree source.
- ci.env and tests/acceptance/run-e2e.py no longer clone owncloud/web
  for Playwright e2e tests.
- Added the app-provider and ocm e2e suites to acceptance-tests.yml's
  matrix, closing a coverage gap where they were silently excluded;
  ported the Collabora/OnlyOffice/federated-instance orchestration
  web's old CI used to run them.
- Added web-tests.yml (typecheck/format/lint/unit-test), a
  check-licenses.yml, commit-message.yml, and release-npm-packages.yml
  for the @ownclouders/* packages, replacing web's old standalone CI.
- Removed dead CI tooling inherited from the standalone repo
  (web/tests/drone, web/tests/actions, web/.github, and an orphaned
  ci.env-dependent cache-check script).

Docs:
- Rewrote docs/services/web/releasing.md and web/docs/releasing to
  describe the in-tree build/release process.
- Updated remaining references to github.com/owncloud/web across docs,
  services/web/README.md, and the deployment example to point at the
  in-tree web/ directory.

Signed-off-by: Lukas Hirt <info@hirt.cz>

* ci: sync web/ translations via Transifex

web/ is a pnpm workspace nested inside the repo, so it isn't covered by
the existing translation-sync job (sub_path: ., no package.json at the
repo root). Add a second sync-web job invoking the same reusable
workflow with sub_path: web and package_manager: pnpm, so its l10n-read/
push/pull/write targets actually install web's dependencies instead of
silently running against an empty node_modules. Sequenced after the
existing sync job since both push to the same hardcoded
chore/translations-update branch.

* ci: fix pnpm cache setup order in web-tests and check-licenses

actions/setup-node's cache: pnpm input shells out to pnpm to resolve
the cache directory, so pnpm must already be on PATH when that step
runs. Both workflows ran `corepack enable` *after* setup-node, which
still failed: corepack writes its pnpm shim into the currently active
Node installation's bin dir, and setup-node had already swapped PATH
to the newly-installed Node version by that point, leaving the shim
behind. Use pnpm/action-setup instead, which installs a standalone
pnpm binary independent of the Node version, before setup-node runs.

Also set cache-dependency-path explicitly: the lockfile lives at
web/pnpm-lock.yaml, and cache-dependency-path resolves relative to
GITHUB_WORKSPACE regardless of the job's working-directory default
(that default only applies to run: steps, not to setup-node itself).

* fix(web): resolve 19 HIGH trivy findings in pnpm-lock.yaml

All 19 findings had fixes available upstream, so per this repo's own
.trivyignore policy (reserved for cases with no fix available), these
get fixed rather than suppressed.

vite (7.3.2 -> 7.3.5) is a direct dependency, bumped directly in every
package.json that pins it.

The other 8 (@xmldom/xmldom, flatted, form-data, immutable, js-cookie,
linkify-it, minimatch, ws) are purely transitive. Verified empirically
that `pnpm update <pkg>` silently no-ops on packages not declared in
any workspace manifest, even when a parent's semver range would allow
the fix (e.g. glob@10.5.0's `^9.0.4` covers 9.0.7) -- so pnpm.overrides
is genuinely required here, not just convenient.

minimatch is overridden with a version-range key
(minimatch@>=9.0.0 <9.0.7) rather than a blanket override, since 6
different major versions of minimatch coexist in the tree for
different consumers (3.x/5.x/10.x elsewhere); a blanket override would
have forced all of them to 9.0.7 and likely broken callers expecting a
different major's API.

* fix(web): unify @types/node resolution to stop duplicate vite types

The previous vite 7.3.2 -> 7.3.5 bump caused pnpm to resolve two
different @types/node versions (25.7.0 and 26.1.0) as vite's optional
peer across different workspace packages. vue-tsc then saw two
structurally-different copies of vite's types (e.g. Plugin, HotUpdateOptions)
and failed with TS2769 in design-system, web-client, web-pkg and
web-test-helpers' vite.config.ts files.

Force a single resolution via pnpm.overrides, pinned to 24.13.2 to
match the Node 24 runtime (engines/volta) rather than an arbitrary
newer major.

* fix(tests): fix ocm/app-provider e2e suites' oCIS orchestration

Both suites were newly wired up by the previous merge-web-repo commit
and hadn't run against real CI yet, so their setup had two latent bugs:

e2e-ocm: the federated instance's env only offset *_DEBUG_ADDR ports,
leaving the actual service ports (e.g. gateway's default
127.0.0.1:9142) unset. The federated "ocis server" process then
crashed trying to bind the same ports the primary instance already
held. run-github.py's Behat apiOcm suite already solved this with a
canonical tests/config/local/.env-federation port map (proven working,
since apiOcm passes) -- reuse it instead of the ad-hoc offset. Also
adds OCIS_ADD_RUN_SERVICES=ocm/OCIS_ENABLE_OCM, missing from the
primary instance too.

e2e-app-provider: tests/config/ci/app-registry.yaml maps its one
mimetype to "FakeOffice" (the stub used by apiCollaboration) and has
no docx entry at all, so the real Collabora/OnlyOffice containers this
suite drives never appeared in the web UI's "New file" menu. Add a
dedicated app-registry mapping both odt->Collabora and docx->OnlyOffice
with allow_creation, and use it only when COLLABORATION_NEEDED is set.

Signed-off-by: Lukas Hirt <info@hirt.cz>

* fix(tests): trust federated oCIS cert, register office templates by target_ext

e2e-ocm: the primary and federated instances each generate their own
self-signed proxy cert. Only the primary's was ever added to the
system CA trust store, so Chromium refused the federated instance's
TLS handshake ("tls: unknown certificate") once federation began.
Trust the federated cert too, and thread OCIS_BASE_DATA_PATH through
its `ocis init` call (previously only set for the running server),
since that's where the cert actually gets written.

e2e-app-provider: reproduced the suite locally (real Collabora/
OnlyOffice containers + `ocis collaboration server`) and diffed
`/app/list` before/after. allow_creation and default_app alone don't
make the web UI's "New file" menu show an entry -- it additionally
requires app_providers[].target_ext, which reva's app-provider only
stamps onto a hardcoded set of "-template" mimetypes
(vendor/github.com/owncloud/reva/v2/.../appprovider/templates.go), not
the plain document mimetypes the previous config used. Existing odt/
docx files still open fine without a static entry, since Collabora/
OnlyOffice register their full supported mimetype list dynamically via
WOPI discovery -- it's specifically file *creation* that needs this.

Signed-off-by: Lukas Hirt <info@hirt.cz>

* fix(changelog): shorten title over the 80-char lint limit

changelog/unreleased/bugfix-personal-space-fail-closed.md landed on
master (#12442) with a 97-char title, which changelog-lint rejects.
GitHub tests PRs against a merge with the current master tip, so this
started failing build-and-test on every open PR once master picked up
that commit -- unrelated to this branch's own changes. Fixing it here
since master needed to be merged in anyway.

* fix(tests): load web apps the ocm/app-provider e2e suites depend on

Both suites drive the web UI, and web only loads the web apps listed in
its UI config's "apps" array. run-e2e.py reuses
tests/config/ci/ocis-config.json, which predates the playwright suites
and lists neither app they need, so both failed deterministically while
the API-only Behat suites (apiOcm, apiCollaboration) kept passing:

e2e-ocm: the "open-cloud-mesh" app menu item can never render because
"ocm" was missing, so web-app-ocm was never loaded. Add it for the
federated suite. Behind that sat a second bug: the invite flow embeds
token@<BASE_URL_OCIS host> (127.0.0.1:9200) into invite codes, but the
federated instance authorizes providers against
tests/config/local/providers.json, which only lists localhost:9200.
Address the primary as https://localhost:9200 when federated, mirroring
run-github.py's passing apiOcm setup (the self-signed cert covers both
hosts; other suites keep 127.0.0.1).

e2e-app-provider: web-runtime only builds the per-provider Collabora/
OnlyOffice editor apps -- including their "New file" menu entries --
when web-app-external is loaded (web/packages/web-runtime/src/index.ts
gates on applicationStore.has('web-app-external')), and "external" was
missing. This also falsifies the previous target_ext theory: the
template-mimetype registry was active in the failing run and the menu
still never appeared, because the New-file menu needs only
allow_creation plus a registered provider
(web-app-external/src/index.ts). Revert the app registry to the plain
odt->Collabora / docx->OnlyOffice mimetypes web's own e2e CI proved out
(web/dev/docker/ocis/app-registry.yaml). Create-from-template still
works without static entries: reva stamps target_ext onto the -template
mimetypes the providers register via WOPI discovery.

Signed-off-by: Lukas Hirt <info@hirt.cz>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* ci: upload playwright traces and a11y report from e2e suites

Port the two upload-artifact steps the standalone web repo's e2e
workflow had: playwright error contexts/report output on failure, and
the a11y report on any non-cancelled run. Paths are prefixed with web/
since the web repo now lives in that subdirectory, artifact names use
the suite name instead of the job index, and the action pin matches the
one already used in this workflow.

Signed-off-by: Lukas Hirt <info@hirt.cz>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(tests): allow office editor iframes in the e2e proxy CSP

The app-provider suite got past file creation but every office test
then timed out waiting for the editor to render: ocis's default proxy
CSP only allows frame-src 'self' (exact scheme+host+port), so the
browser refused to embed the Collabora/OnlyOffice iframes served on
other ports. The COLLABORA_DOMAIN/ONLYOFFICE_DOMAIN env vars do nothing
on their own -- they are only substituted into a custom CSP file, which
is why the pre-merge web CI always set PROXY_CSP_CONFIG_FILE_LOCATION
(tests/drone/csp.yaml there). The localStorage SecurityError seen in
the logs was a downstream symptom: the CSP-blocked frame ends up with
an opaque origin where storage access throws.

Add the two editor domains to tests/config/ci/csp.yaml's frame-src and
img-src (mirroring web's proven csp.yaml) and point the collaboration
suite at it. The keycloak suite shares this file; for it the new
entries fall back to nonexistent default hosts and are inert.

Signed-off-by: Lukas Hirt <info@hirt.cz>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(licenses): attribute REUSE.toml copyright to ownCloud contributors

The web/ tree carries community contributions dating back to 2016; the
CLA grants a relicensing right, not a copyright transfer, so declaring
sole 2020-2026 ownCloud GmbH authorship was inaccurate.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(tests): trust the Keycloak cert in e2e TLS setup

The Keycloak cert had no SAN, and NODE_EXTRA_CA_CERTS only ever pointed
at the oCIS cert, so any node-fetch/axios call made directly against
Keycloak (admin token fetch, user provisioning) failed TLS validation
and aborted the keycloak/mfa matrix jobs before a spec could run.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(web): don't wipe assets/ before a successful build

build-assets ran `git clean -xfd assets` before the pnpm build; a failed
typecheck or vite build left assets/core/ empty, so the next Go embed or
docker deployment served no web UI. Clean only after the build succeeds.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* ci: fail clearly when a release tag matches no known package

If the tag-prefix loop found no match, the workflow silently fell
through to a jq lookup against "packages//package.json", failing with a
confusing path error instead of naming the problem.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* ci: drop duplicate dependency-license-check job

web-tests.yml already enforces the license allow-list via
`pnpm licenses:check` (license-checker-rseidelsohn) on every PR.
check-licenses.yml's dependency-license-check ran a second, differently
configured tool (npx license-checker, GPL/AGPL deny-list only), which
could disagree with the first without adding coverage.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Signed-off-by: Lukas Hirt <info@hirt.cz>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 10:37:00 +02:00
owncloud-settings-bot[bot]
f6030095f7 chore: add CODEOWNERS (managed by owncloud/admin) (#12487)
* chore: add CODEOWNERS (managed by owncloud/admin)

* chore: add CODEOWNERS (managed by owncloud/admin)

* chore: add CODEOWNERS (managed by owncloud/admin)

---------

Co-authored-by: owncloud-settings-bot[bot] <291027677+owncloud-settings-bot[bot]@users.noreply.github.com>
Co-authored-by: Martin <github@diemattels.at>
2026-07-03 11:30:27 +02:00
dependabot[bot]
01f58dabcd build(deps): bump the minor-and-patch group across 1 directory with 8 updates (#12477)
Bumps the minor-and-patch group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/setup-go](https://github.com/actions/setup-go) | `6.4.0` | `6.5.0` |
| [shivammathur/setup-php](https://github.com/shivammathur/setup-php) | `2.37.0` | `2.37.2` |
| [docker/setup-compose-action](https://github.com/docker/setup-compose-action) | `2.1.0` | `2.2.0` |
| [pnpm/action-setup](https://github.com/pnpm/action-setup) | `6.0.8` | `6.0.9` |
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `4.0.0` | `4.1.0` |
| [docker/login-action](https://github.com/docker/login-action) | `4.1.0` | `4.2.0` |
| [docker/build-push-action](https://github.com/docker/build-push-action) | `7.1.0` | `7.2.0` |
| [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `3.0.0` | `3.0.1` |



Updates `actions/setup-go` from 6.4.0 to 6.5.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](4a3601121d...924ae3a1cd)

Updates `shivammathur/setup-php` from 2.37.0 to 2.37.2
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](accd6127cb...f3e473d116)

Updates `docker/setup-compose-action` from 2.1.0 to 2.2.0
- [Release notes](https://github.com/docker/setup-compose-action/releases)
- [Commits](8cccb8c14b...16feee727c)

Updates `pnpm/action-setup` from 6.0.8 to 6.0.9
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](0e279bb959...0ebf47130e)

Updates `docker/setup-buildx-action` from 4.0.0 to 4.1.0
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](4d04d5d948...d7f5e7f509)

Updates `docker/login-action` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](4907a6ddec...650006c6eb)

Updates `docker/build-push-action` from 7.1.0 to 7.2.0
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](bcafcacb16...f9f3042f7e)

Updates `softprops/action-gh-release` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](b430933298...718ea10b13)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 6.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: shivammathur/setup-php
  dependency-version: 2.37.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: docker/setup-compose-action
  dependency-version: 2.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: pnpm/action-setup
  dependency-version: 6.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: docker/login-action
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: docker/build-push-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: softprops/action-gh-release
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-01 09:46:09 +02:00
Michal Klos
ef24492d15 feat: ci, trivy scan (#12484)
* feat: ci, trivy scan

* chore: bump github.com/go-acme/lego
2026-06-30 09:35:40 +02:00
Michal Klos
fe82975868 fix: ci, changelog lint (#12480) 2026-06-29 12:02:55 +02:00
Thomas Müller
d47bb3a99b ci: eliminate per-job oCIS rebuilds via pre-built binary artifact (#12393)
* docs: add design spec for eliminating redundant Stat on WebDAV GET

Performance investigation showed every download pays an extra Stat
gRPC round-trip that upload does not. This spec describes moving the
directory/processing guards into InitiateFileDownload via a new
lightweight StatForDownload FS interface method.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>

* ci: build oCIS with ENABLE_VIPS, build ociswrapper, upload artifact from build-and-test

Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>

* ci: add NEEDRESTART comment and if-no-files-found guard to upload step

Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>

* ci: skip oCIS rebuild in runner scripts when binary already present

Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>

* ci: remove Go/Node build toolchain from api test jobs, use pre-built artifact

Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>

* ci: remove Go toolchain from smoke/protocol jobs, add libvips runtime and artifact download

Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>

* ci: remove Go toolchain and asset generation from e2e jobs, use pre-built artifact

Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>

* ci: fix libvips runtime package name (libvips42t64 for Ubuntu 24.04) and update stale comments

Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>

* chore: remove docs/superpowers (gitignored)

Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>

---------

Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 08:06:15 +02:00
Matteo
c5a903f7e8 fix(ci): match docs files in subdirectories for docs-only detection (#12382)
The patterns only matched root-level CHANGELOG.md, CONTRIBUTING.md, and
README.md, causing nested files like services/storage-users/README.md to
trigger full CI.
2026-06-05 16:13:14 +00:00