Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions .github/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
- color: d73a4a
description: Something isn't working
name: Bug
- color: 0075ca
description: The changes require some documentation
name: Doc needed
- color: cfd3d7
description: This issue or pull request already exists
name: Duplicate
- color: "000000"
description: ""
name: DX
- color: 6f00ff
description: PR should be merged in a fast-forward way
name: Fast-forward merge
- color: b6e1fc
description: New feature request
name: Feature
- color: 00bfff
description: ""
name: Improvement
- color: e6e6e6
description: This doesn't seem right
name: Invalid
- color: 00ff7f
description: ""
name: QA approved
- color: 9370db
description: Further information is requested
name: Question
- color: adff2f
description: ""
name: Ready for MERGE
- color: ff66cc
description: ""
name: Ready for QA
- color: fff505
description: ""
name: Ready for review
- color: ffd700
description: ""
name: Rebase required
- color: ffffff
description: This will not be worked on
name: wontfix
- color: fcc67b
description: ""
name: Work in progress
60 changes: 35 additions & 25 deletions .github/workflows/backend-ci.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: CI
name: Backend build

on:
push:
branches:
- main
- '[0-9]+.[0-9]+'
pull_request: ~

Expand All @@ -28,17 +29,16 @@ jobs:
run: composer run-script check-cs -- --format=checkstyle | cs2pr

tests:
name: Unit tests & SQLite integration tests
name: Tests
runs-on: "ubuntu-26.04"
timeout-minutes: 15
timeout-minutes: 10

strategy:
fail-fast: false
matrix:
php:
- '8.3'
- '8.4'

steps:
- uses: actions/checkout@v7

Expand All @@ -55,18 +55,15 @@ jobs:
- name: Run PHPStan analysis
run: composer run-script phpstan

- name: Run unit test suite
run: composer run-script test

- name: Run integration test suite
run: composer run-script test-integration
- name: Run test suite
run: composer run-script --timeout=600 test

integration-tests-postgres:
name: PostgreSQL integration tests
needs: tests
services:
postgres:
image: ${{ matrix.image }}
image: postgres:14
ports:
- 5432
env:
Expand All @@ -77,20 +74,16 @@ jobs:
--health-interval 10s
--health-timeout 5s
--health-retries 5
--tmpfs /var/lib/postgresql
--tmpfs /var/lib/postgres
runs-on: "ubuntu-26.04"
timeout-minutes: 20
timeout-minutes: 10

strategy:
fail-fast: false
matrix:
php:
- '8.3'
- '8.4'
image:
- 'postgres:14'
- 'postgres:18'

steps:
- uses: actions/checkout@v7

Expand All @@ -105,16 +98,16 @@ jobs:
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"

- name: Run integration test suite vs Postgresql
run: composer run-script test-integration
run: composer run-script --timeout=600 test-integration
env:
DATABASE_URL: "pgsql://postgres:postgres@localhost:${{ job.services.postgres.ports[5432] }}/testdb?server_version=10"
DATABASE_URL: "pgsql://postgres:postgres@localhost:${{ job.services.postgres.ports[5432] }}/testdb?serverVersion=14"

integration-tests-mysql:
name: MySQL integration tests
needs: tests
services:
mysql:
image: ${{ matrix.image }}
image: ghcr.io/ibexa/core/mysql
ports:
- 3306/tcp
env:
Expand All @@ -129,18 +122,14 @@ jobs:
--health-retries=5
--tmpfs=/var/lib/mysql
runs-on: "ubuntu-26.04"
timeout-minutes: 20
timeout-minutes: 10

strategy:
fail-fast: false
matrix:
php:
- '8.3'
- '8.4'
image:
- 'mysql:8.0'
- 'mysql:8.4'

steps:
- uses: actions/checkout@v7

Expand All @@ -155,6 +144,27 @@ jobs:
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"

- name: Run integration test suite vs MySQL
run: composer run-script test-integration
run: composer run-script --timeout=600 test-integration
env:
DATABASE_URL: "mysql://mysql:mysql@127.0.0.1:${{ job.services.mysql.ports[3306] }}/testdb"

deptrac:
name: Deptrac
runs-on: "ubuntu-26.04"
strategy:
fail-fast: false
matrix:
php:
- '8.3'
steps:
- uses: actions/checkout@v7

- uses: ibexa/gh-workflows/actions/composer-install@main
with:
gh-client-id: ${{ secrets.AUTOMATION_CLIENT_ID }}
gh-client-secret: ${{ secrets.AUTOMATION_CLIENT_SECRET }}
satis-network-key: ${{ secrets.SATIS_NETWORK_KEY }}
satis-network-token: ${{ secrets.SATIS_NETWORK_TOKEN }}

- name: Run deptrac
run: composer run-script deptrac
26 changes: 19 additions & 7 deletions .github/workflows/frontend-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,36 @@ name: Frontend build
on:
push:
paths:
- "**.cjs"
- "**.mjs"
- "**.js"
- "**.jsx"
- "**.ts"
- "**.tsx"
- "**.scss"
branches:
- main
- '[0-9]+.[0-9]+'
pull_request:
paths:
- "**.cjs"
- "**.mjs"
- "**.js"
- "**.jsx"
- "**.ts"
- "**.tsx"
- "**.scss"

jobs:
frontend-test:
name: Frontend build test
runs-on: "ubuntu-24.04"
runs-on: 'ubuntu-26.04'
timeout-minutes: 5

steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:
node-version: '18'
- run: yarn install
- run: yarn test
- uses: actions/checkout@v7
- uses: actions/setup-node@v4
with:
node-version: '24'
- run: yarn install
- run: yarn test
18 changes: 10 additions & 8 deletions .github/workflows/pr-check.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@

name: PR check
on:
pull_request:
types:
- opened
- synchronize
- reopened
- edited
pull_request:
types:
- opened
- synchronize
- reopened
- edited

jobs:
test-base-branch:
uses: ibexa/gh-workflows/.github/workflows/pr-check.yml@main
test-base-branch:
if: github.event.repository.name != 'bundle-template-internal'
uses: ibexa/gh-workflows/.github/workflows/pr-check.yml@main
4 changes: 2 additions & 2 deletions .github/workflows/rector.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ on:
jobs:
rector:
name: Run rector
runs-on: "ubuntu-22.04"
runs-on: "ubuntu-26.04"
strategy:
matrix:
php:
- '8.3'
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7

- uses: ibexa/gh-workflows/actions/composer-install@main
with:
Expand Down
53 changes: 10 additions & 43 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -1,46 +1,13 @@
name: Automatic Changelog Generator for tag
name: Call Automatic Changelog Generator for tag Workflow

on:
push:
tags:
- 'v*'
- '!v*-alpha*'
on:
push:
tags:
- 'v*'
- '!v*-alpha*'

jobs:
release:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@master
- name: Set Environment
run: |
echo "BUILD_TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
- name: Get previous release tag based on type
id: prevrelease
uses: ibexa/version-logic-action@master
with:
currentTag: ${{ env.BUILD_TAG }}

- name: Generate changelog
id: changelog
uses: ibexa/changelog-generator-action@v2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
jira_token: ${{ secrets.JIRA_TOKEN }}
currentTag: ${{ env.BUILD_TAG }}
previousTag: ${{ steps.prevrelease.outputs.previousTag }}

- name: Print the changelog
run: echo "$CHANGELOG"
env:
CHANGELOG: ${{ steps.changelog.outputs.changelog }}

- name: Create Release
id: create_release
uses: zendesk/action-create-release@v1
with:
tag_name: ${{ env.BUILD_TAG }}
body: |
${{ steps.changelog.outputs.changelog }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
create_release_for_tag:
uses: ibexa/gh-workflows/.github/workflows/release_bundle.yml@main
secrets:
JIRA_TOKEN: ${{ secrets.JIRA_TOKEN }}
20 changes: 10 additions & 10 deletions .github/workflows/reviewers.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
name: On PR Review Requested

on:
pull_request:
types: [review_requested]
pull_request:
types: [ review_requested ]

jobs:
call-expand-team-reviewers:
if: ${{ github.event.requested_team }}
uses: ibexa/gh-workflows/.github/workflows/expand-team-reviewers.yml@main
with:
requested_team: ${{ github.event.requested_team.slug }}
pull_request_number: ${{ github.event.pull_request.number }}
repository: ${{ github.repository }}
secrets: inherit
call-expand-team-reviewers:
if: ${{ github.event.requested_team }}
uses: ibexa/gh-workflows/.github/workflows/expand-team-reviewers.yml@main
with:
requested_team: ${{ github.event.requested_team.slug }}
pull_request_number: ${{ github.event.pull_request.number }}
repository: ${{ github.repository }}
secrets: inherit
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
/.deptrac.cache
/.php-cs-fixer.cache
/.phpunit.cache
/.phpunit.result.cache
/composer.lock
/node_modules/
/vendor
/yarn.lock
/var
Loading