Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
167 commits
Select commit Hold shift + click to select a range
e18c16d
Gathered code repositories into the API repository
tuj Jun 25, 2025
9faf049
4565: Fixed dependencies issues in prod
tuj Jun 25, 2025
a1a3f75
4565: Fixed issues raised by ci
tuj Jun 25, 2025
a5df4f8
4565: Fixed markdown commands
tuj Jun 25, 2025
e0617bc
4565: Applied namespaces to controllers
tuj Jun 30, 2025
14d8d5f
Merge pull request #250 from aroskanalen/feature/mono-repository
tuj Jun 30, 2025
9dc462c
4565: Changed to vite 7 and rolldown
tuj Jun 30, 2025
70ac049
Merge pull request #252 from os2display/feature/vite-7-rolldown
tuj Jun 30, 2025
4744b2a
4565: Added ADRs 008, 009
tuj Jun 30, 2025
62532dc
Update docs/adr/009-remove-remote-components.md
tuj Jun 30, 2025
232c067
4565: Fixed issues raised in review
tuj Jun 30, 2025
ed8299d
4565: Fixed markdown issues
tuj Jun 30, 2025
cb5d826
4565: Applied new templates for github actions
tuj Jul 1, 2025
7d8b35d
4565: Added rules to php cs fixer
tuj Jul 1, 2025
fd06733
Update docs/adr/008-mono-repository.md
tuj Jul 1, 2025
7e84877
Update docs/adr/008-mono-repository.md
tuj Jul 1, 2025
ff33c3b
4565: Applied coding standards
tuj Jul 1, 2025
99abe14
Merge pull request #253 from os2display/feature/4565-adr
tuj Jul 1, 2025
a2ea523
Merge branch 'release/3.0.0' into feature/apply-templates
tuj Jul 1, 2025
9766da9
4565: Fixed editorconfig for config/ yaml files
tuj Jul 1, 2025
39c8f70
4565: Applied prettier styles to assets. Added changelog. Removed tests
tuj Jul 1, 2025
7af9f7a
4565: Applied coding standards to scss,css
tuj Jul 1, 2025
d06d414
4565: Applied coding standards to twig files
tuj Jul 1, 2025
e623032
4565: Applied yaml linting
tuj Jul 1, 2025
79193d9
4565: Cleanup
tuj Jul 1, 2025
68a1c17
4565: Added composer install to audit check
tuj Jul 1, 2025
3100b6b
4565: Updated PHP requirements
tuj Jul 1, 2025
f290167
4565: Updated api spec. Reverted change to yaml workflow
tuj Jul 1, 2025
354e80e
Merge pull request #254 from os2display/feature/apply-templates
tuj Jul 1, 2025
2a3d7bc
4565: Added playwright github action
tuj Jul 1, 2025
8afd022
4565: Fixed npm run build
tuj Jul 1, 2025
b3e99c8
4565: Fixed playwright github setup. Added test readme. Changed to @v…
tuj Jul 2, 2025
2413ff0
4565: Changed to a traeficless setup
tuj Jul 3, 2025
8389d8a
4565: Added composer install
tuj Jul 3, 2025
0d29dca
4565: Split pr.yaml into more files
tuj Jul 3, 2025
8dd2101
4565: Set COMPOSE_USER
tuj Jul 3, 2025
c6cce53
4565: Changed playwright container
tuj Jul 3, 2025
b92d561
4565: Added default login methods to .env
tuj Jul 3, 2025
73ecbd5
4565: Removed typos
tuj Jul 3, 2025
32ec83d
4565: Fixed issues with tests
tuj Jul 3, 2025
118e965
4565: Applied coding standards
tuj Jul 3, 2025
a551ed6
4565: Added retries to playwright action
tuj Jul 3, 2025
f4bfc38
4565: Removed retry
tuj Jul 4, 2025
c3deee2
4565: Started work on refactor
tuj Jul 5, 2025
6e8c93f
4565: Fixed tests
tuj Jul 5, 2025
ae4e327
Started work on refactor
tuj Aug 1, 2025
7d717d9
Merge branch 'feature/playwright-actions-refactor' into feature/playw…
tuj Aug 1, 2025
22602cb
4565: add development documentation
Aug 1, 2025
96ac858
Update README.md
sinejespersen Aug 1, 2025
0e65fb6
4565: bash script argument and error handling
Aug 1, 2025
70aca23
4565: documentation of test script added
Aug 1, 2025
393dbbc
4565: markdownlint
Aug 1, 2025
e4d1dc9
Merge pull request #258 from os2display/feature/4565-a-bit-of-documen…
tuj Aug 4, 2025
0aeccc4
Merge pull request #259 from os2display/feature/4565-test-documentati…
tuj Aug 7, 2025
9bd0560
4565: Fixed campaign test
tuj Aug 7, 2025
31beaa9
4565: Reverted to use swc instead of oxc
tuj Aug 7, 2025
4d55a07
4565: Added esbuild
tuj Aug 7, 2025
6907751
4565: Test adjustments
tuj Aug 7, 2025
7279552
4565: Reverted how config is loaded in client and admin
tuj Aug 7, 2025
ad852cd
4565: Fixed tests
tuj Aug 7, 2025
9cf6d76
4565: Worked on test refactor
tuj Aug 8, 2025
8bdc736
4565: Fixed playlist and media tests
tuj Aug 8, 2025
a27704f
4565: Fixed screen-groups and screen tests
tuj Aug 8, 2025
bb7976e
4565: Fixed remaining tests
tuj Aug 9, 2025
f33a1bd
4565: Applied coding standards
tuj Aug 9, 2025
f0b2d0a
Merge pull request #256 from os2display/feature/playwright-actions
tuj Aug 11, 2025
6833870
4565: Moved screen layouts out of template folder
tuj Aug 11, 2025
238285c
4565: Changed how slide config is loaded
tuj Aug 13, 2025
9ce0ae4
4565: Fixed issues following refactor
tuj Aug 14, 2025
856745d
4565: Moved files
tuj Aug 14, 2025
10120bc
4565: Moved files
tuj Aug 14, 2025
692de1f
4565: Changed how templates are imported. Changed to wildcard import
tuj Aug 14, 2025
95eb2c8
4565: Added documentation
tuj Aug 15, 2025
fd8ca35
Merge branch 'feature/template-v3-wildcard-import' into feature/templ…
tuj Aug 15, 2025
b59d034
4565: Improved documentation
tuj Aug 15, 2025
c49b094
4565: Added templates list command
tuj Aug 18, 2025
5314243
4565: Added command to install template
tuj Aug 18, 2025
633b227
4565: Cleanup
tuj Aug 18, 2025
080c6c4
4565: Fixed template commands
tuj Aug 18, 2025
4a73327
4565: Fixed template related tests
tuj Aug 22, 2025
318dceb
4565: Updated API spec
tuj Aug 22, 2025
d4f2799
Update docs/custom-templates.md
tuj Aug 25, 2025
2b13acc
Update docs/custom-templates.md
tuj Aug 25, 2025
604227f
Update docs/custom-templates.md
tuj Aug 25, 2025
d16d637
Update docs/custom-templates.md
tuj Aug 25, 2025
e2ffe83
Update docs/custom-templates.md
tuj Aug 25, 2025
ae86844
4565: Started work on upgrading redux-toolkit
tuj Aug 25, 2025
9d04d50
4565: Added enhancedApi
tuj Aug 25, 2025
01cfc71
4565: Removed PropTypes. Fixed redux-toolkit cache invalidation
tuj Aug 25, 2025
be2f2ec
4565: Added documentation
tuj Aug 25, 2025
f993104
4565: Fixed issues raised in review
tuj Aug 26, 2025
10c3b58
4565: Added comment
tuj Aug 26, 2025
aff9768
Merge pull request #261 from os2display/feature/template-v3
tuj Aug 26, 2025
5d874fe
4565: Fixed merge
tuj Aug 26, 2025
c768f35
4565: Applied coding standards
tuj Aug 26, 2025
b91ea12
4565: Removed prop types
tuj Aug 27, 2025
c81af4e
4565: Cleanup
tuj Aug 27, 2025
3d01c66
Merge pull request #262 from os2display/feature/redux-toolkit-upgrade
tuj Aug 27, 2025
a8f3615
5290: lint
Aug 27, 2025
0f72406
5290: add jsx to GA lint
Aug 27, 2025
2e28999
Merge pull request #264 from os2display/feature/5290-lint
tuj Aug 28, 2025
6ff685c
5289: taskfile added
Aug 27, 2025
1079927
5289: yaml added to taskfile
Aug 27, 2025
98d36bc
5289: add code analysis to composer
Aug 27, 2025
bb0fff9
5289: changelog
Aug 27, 2025
46e0ad2
5289: add forgotten site open templates
Aug 28, 2025
f2030a2
5289 npm install before up
Aug 28, 2025
f640485
5289: change desc on open api docs
Aug 28, 2025
e6e74e3
5289 remove check and apply, only check
Aug 28, 2025
58700d1
5189: remove whitespace
Aug 28, 2025
d212417
5289: normalize composer
Aug 28, 2025
43796f0
Merge pull request #265 from os2display/feature/5289-taskfile
tuj Aug 28, 2025
188bcce
4565: Started developer documentation rewrite
tuj Aug 29, 2025
bf957a3
4565: Continued work on writing developer documentation
tuj Aug 29, 2025
a27e7b1
4565: Applied coding standards
tuj Aug 29, 2025
3eab583
4565: Cleanup
tuj Aug 29, 2025
839a907
4565: Added documentation for admin and client configuration
tuj Aug 30, 2025
ffed69e
4565: Added table of contents
tuj Aug 30, 2025
c15ff62
4565: Applied coding standards
tuj Aug 30, 2025
807444b
4565: Started work on Upgrade guide
tuj Aug 30, 2025
d6ca934
4565: Text change
tuj Aug 30, 2025
c505956
4565: Applied coding standards
tuj Aug 30, 2025
97873d7
4565: Added to documentation. Fixed typo in .env variable
tuj Aug 30, 2025
1acfb06
4565: Changed upgrade guide formatting
tuj Aug 30, 2025
2e43f77
4565: From fixtures from site:install task
tuj Aug 30, 2025
4918285
4565: Documentation
tuj Aug 30, 2025
2e29885
4565: Renamed v2 changelog folder
tuj Aug 30, 2025
572826f
4565: Added online check
tuj Aug 31, 2025
becb8b4
4565: Added update command
tuj Aug 31, 2025
d51484c
4565: Fixed issues raised by psalm
tuj Aug 31, 2025
674bb1e
4565: Applied coding standards
tuj Aug 31, 2025
f1c7b52
4565: Moved files to /client/online-check/
tuj Sep 1, 2025
cae87b8
5317: remove. sh from readme, the scripts file does not have this fil…
Sep 1, 2025
fc4a379
5317: tests of travel template and add fixtures
Sep 1, 2025
f8f706b
5317: add vimeo test
Sep 1, 2025
dfc2e3f
5317: add video test
Sep 1, 2025
7fdf818
Merge pull request #274 from os2display/feature/5317-travel-template-…
tuj Sep 1, 2025
c3da0cd
Merge branch 'release/3.0.0' into feature/developer-docs
tuj Sep 1, 2025
0e8a0fe
Merge pull request #275 from os2display/feature/5317-vimeo-template-test
tuj Sep 1, 2025
ad61305
Merge pull request #276 from os2display/feature/5317-video-template-test
tuj Sep 1, 2025
191d527
4565: Fixed issues raised in review
tuj Sep 1, 2025
35aa6ca
Merge branch 'feature/developer-docs' of github.com:os2display/displa…
tuj Sep 1, 2025
b27655a
4565: Applied coding standards
tuj Sep 1, 2025
9913053
4565: Added task for site install with fixtures
tuj Sep 1, 2025
96e9f3d
5317: table tests added, fixtures added, classes added to template
Sep 1, 2025
6e7eaac
Merge pull request #277 from os2display/feature/5317-tabel-tests-added
tuj Sep 1, 2025
9d255c3
5365: rename grid to travel-grid
Sep 1, 2025
e3a79f6
5317: add fixture data and test of slideshow
Sep 1, 2025
c80f097
4565: Cleaned up commands
tuj Sep 1, 2025
81743ec
4565: Applied coding standards
tuj Sep 1, 2025
d93e6c3
Merge pull request #278 from os2display/feature/5365-rename-css-class…
tuj Sep 1, 2025
6f37c66
4565: Removed CORS info from README
tuj Sep 1, 2025
419dc7d
Update nginx config to server client online check
turegjorup Sep 1, 2025
21d3ef3
Merge pull request #269 from os2display/feature/developer-docs
tuj Sep 1, 2025
cbf0f05
Merge branch 'release/3.0.0' into feature/online-check
tuj Sep 1, 2025
981da03
4565: Removed subroutes from the client since it is not used. Added d…
tuj Sep 1, 2025
8b9ae58
4565: Readded subroutes to client route
tuj Sep 1, 2025
4291977
Merge branch 'release/3.0.0' into feature/update-command
tuj Sep 1, 2025
fb32d73
Merge pull request #271 from os2display/feature/online-check
tuj Sep 1, 2025
d30349d
Merge branch 'release/3.0.0' into feature/update-command
tuj Sep 1, 2025
1b611ed
4565: Fixed output from app:status command
tuj Sep 1, 2025
4b8d66c
4565: Added update command documentation
tuj Sep 1, 2025
6d68690
4565: Applied markdown styles
tuj Sep 1, 2025
a48f88e
4565: Fixed task
tuj Sep 1, 2025
f225a7d
4565: Changed Question to ConfirmationQuestion
tuj Sep 5, 2025
2965c4b
Merge pull request #272 from os2display/feature/update-command
tuj Sep 5, 2025
22383e8
Merge pull request #279 from os2display/feature/5317-slideshow-templa…
tuj Sep 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .docker/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ events {
worker_connections 1024;
}


http {
proxy_temp_path /tmp/proxy_temp;
client_body_temp_path /tmp/client_temp;
Expand All @@ -18,7 +17,7 @@ http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

set_real_ip_from 172.16.0.0/8;
set_real_ip_from 172.16.0.0/16;
real_ip_recursive on;
real_ip_header X-Forwarded-For;

Expand Down
12 changes: 12 additions & 0 deletions .docker/templates/default.conf.template
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,23 @@ server {

root ${NGINX_WEB_ROOT};

client_max_body_size ${NGINX_MAX_BODY_SIZE};

# This also needs to be set in the single server tag and not only in http.
set_real_ip_from 172.16.0.0/16;
real_ip_recursive on;
real_ip_header X-Forwarded-For;

location / {
# try to serve file directly, fallback to index.php
try_files $uri /index.php$is_args$args;
}

# Screen client online check should just serve static files
location /client/online-check {
index index.html index.htm;
}

# Protect files and directories from prying eyes.
location ~* \.(engine|inc|install|make|module|profile|po|sh|.*sql|.tar|.gz|.bz2|theme|twig|tpl(\.php)?|xtmpl|yml)(~|\.sw[op]|\.bak|\.orig|\.save)?$|^(\.(?!well-known).*|Entries.*|Repository|Root|Tag|Template|composer\.(json|lock)|web\.config)$|^#.*#$|\.php(~|\.sw[op]|\.bak|\.orig|\.save)$ {
deny all;
Expand Down
33 changes: 0 additions & 33 deletions .docker/vhost.conf

This file was deleted.

12 changes: 6 additions & 6 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Drupal editor configuration normalization
# Editor configuration normalization
# @see http://editorconfig.org/

# This is the top-most .editorconfig file; do not search in parent directories.
Expand All @@ -8,13 +8,13 @@ root = true
[*]
end_of_line = LF
indent_style = space
indent_size = 4
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.{js,scss}]
indent_size = 2
[config/**.{yml,yaml}]
indent_size = 4

[docker-compose*.yml]
indent_size = 2
[*.php]
indent_size = 4
63 changes: 40 additions & 23 deletions .env
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
COMPOSE_PROJECT_NAME=displayapiservice
COMPOSE_DOMAIN=displayapiservice.local.itkdev.dk
COMPOSE_PROJECT_NAME=display
COMPOSE_DOMAIN=display.local.itkdev.dk
ITKDEV_TEMPLATE=symfony-6

# In all environments, the following files are loaded if they exist,
# the latter taking precedence over the former:
Expand Down Expand Up @@ -38,31 +39,40 @@ CORS_ALLOW_ORIGIN='^https?://(localhost|127\.0\.0\.1)(:[0-9]+)?$'
# CORS_ALLOW_ORIGIN="^.*"
###< nelmio/cors-bundle ###

###> App ###
APP_DEFAULT_DATE_FORMAT='Y-m-d\TH:i:s.v\Z'
APP_ACTIVATION_CODE_EXPIRE_INTERNAL=P2D
APP_KEY_VAULT_SOURCE=ENVIRONMENT
APP_KEY_VAULT_JSON="{}"
###< App ###

###> lexik/jwt-authentication-bundle ###
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
JWT_PASSPHRASE=APP_JWT_PASSPHRASE
# 1 hour
# Default: 1 hour
JWT_TOKEN_TTL=3600
# 15 days
# Default: 15 days
JWT_SCREEN_TOKEN_TTL=1296000
###< lexik/jwt-authentication-bundle ###

###> gesdinet/jwt-refresh-token-bundle ###
# 2 hours
# Default: 2 hours
JWT_REFRESH_TOKEN_TTL=7200
# 30 days
# Default: 30 days
JWT_SCREEN_REFRESH_TOKEN_TTL=2592000
###< gesdinet/jwt-refresh-token-bundle ###

###> redis ###
REDIS_CACHE_PREFIX=DisplayApiService
REDIS_CACHE_DSN=redis://redis:6379/0
###< redis ###

###> App ###
APP_DEFAULT_DATE_FORMAT='Y-m-d\TH:i:s.v\Z'
APP_ACTIVATION_CODE_EXPIRE_INTERVAL=P2D
APP_KEY_VAULT_SOURCE=ENVIRONMENT
APP_KEY_VAULT_JSON="{}"
EVENTDATABASE_API_V2_CACHE_EXPIRE_SECONDS=300
TRACK_SCREEN_INFO=false
TRACK_SCREEN_INFO_UPDATE_INTERVAL_SECONDS=300
###< App ###

###> itk-dev/openid-connect-bundle ###
# See docs/feed/openid-connect.md for variable explanations.
# internal provider
INTERNAL_OIDC_METADATA_URL=INTERNAL_OIDC_METADATA_URL
INTERNAL_OIDC_CLIENT_ID=INTERNAL_OIDC_CLIENT_ID
Expand All @@ -81,19 +91,13 @@ EXTERNAL_OIDC_REDIRECT_URI=EXTERNAL_OIDC_REDIRECT_URI
EXTERNAL_OIDC_LEEWAY=30
EXTERNAL_OIDC_HASH_SALT=
EXTERNAL_OIDC_CLAIM_ID=signinname
###< itk-dev/openid-connect-bundle ###

# cli redirect url
OIDC_CLI_REDIRECT=APP_CLI_REDIRECT_URI
###< itk-dev/openid-connect-bundle ###

###> redis ###
REDIS_CACHE_PREFIX=DisplayApiService
REDIS_CACHE_DSN=redis://redis:6379/0
###< redis ###

###> Calendar Api Feed Source ###
# See docs/feed/calendar-api-feed.md for variable explainations.
# See docs/feed/calendar-api-feed.md for variable explanations.
CALENDAR_API_FEED_SOURCE_LOCATION_ENDPOINT=
CALENDAR_API_FEED_SOURCE_RESOURCE_ENDPOINT=
CALENDAR_API_FEED_SOURCE_EVENT_ENDPOINT=
Expand All @@ -104,7 +108,20 @@ CALENDAR_API_FEED_SOURCE_DATE_TIMEZONE=
CALENDAR_API_FEED_SOURCE_CACHE_EXPIRE_SECONDS=300
###< Calendar Api Feed Source ###

EVENTDATABASE_API_V2_CACHE_EXPIRE_SECONDS=300
###> Admin configuration ###
ADMIN_REJSEPLANEN_APIKEY=
ADMIN_SHOW_SCREEN_STATUS=false
ADMIN_TOUCH_BUTTON_REGIONS=false
ADMIN_LOGIN_METHODS='[{"type":"username-password","enabled":true,"provider":"username-password","label":""}]'
ADMIN_ENHANCED_PREVIEW=false
###< Admin configuration ###

TRACK_SCREEN_INFO=false
TRACK_SCREEN_INFO_UPDATE_INTERVAL_SECONDS=300
###> Client configuration ###
CLIENT_LOGIN_CHECK_TIMEOUT=20000
CLIENT_REFRESH_TOKEN_TIMEOUT=300000
CLIENT_RELEASE_TIMESTAMP_INTERVAL_TIMEOUT=600000
CLIENT_SCHEDULING_INTERVAL=60000
CLIENT_PULL_STRATEGY_INTERVAL=90000
CLIENT_COLOR_SCHEME='{"type":"library","lat":56.0,"lng":10.0}'
CLIENT_DEBUG=false
###< Client configuration ###
6 changes: 3 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#### Link to ticket
#### Link to issue

Please add a link to the ticket being addressed by this change.
Please add a link to the issue being addressed by this change.

#### Description

Expand All @@ -17,7 +17,7 @@ If your change affects the user interface you should include a screenshot of the
- [ ] My code passes our static analysis suite.
- [ ] My code passes our continuous integration process.

If your code does not pass all the requirements on the checklist you have to add a comment explaining why this change
If your code does not pass all the requirements on the checklist you have to add a comment explaining why this change
should be exempt from the list.

#### Additional comments or questions
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/apispec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
on: pull_request

name: Api Spec

jobs:
apispec:
runs-on: ubuntu-latest
name: API Specification validation
strategy:
fail-fast: false
matrix:
php: ["8.3"]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2

- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php}}
extensions: apcu, ctype, iconv, imagick, json, redis, soap, xmlreader, zip
coverage: none

- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

- name: Cache composer dependencies
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ matrix.php }}-composer-

- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist

- name: Export specifications (yaml)
run: bin/console api:openapi:export --yaml --output=public/api-spec-v2.yaml --no-interaction

- name: Check for changes in specifications (yaml)
run: git diff --diff-filter=ACMRT --exit-code public/api-spec-v2.yaml

- name: Export specifications (json)
run: bin/console api:openapi:export --output=public/api-spec-v2.json --no-interaction

- name: Check for changes in specifications (json)
run: git diff --diff-filter=ACMRT --exit-code public/api-spec-v2.json
29 changes: 29 additions & 0 deletions .github/workflows/changelog.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Do not edit this file! Make a pull request on changing
# github/workflows/changelog.yaml in
# https://github.com/itk-dev/devops_itkdev-docker if need be.

### ### Changelog
###
### Checks that changelog has been updated

name: Changelog

on:
pull_request:

jobs:
changelog:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2

- name: Git fetch
run: git fetch

- name: Check that changelog has been updated.
run: git diff --exit-code origin/${{ github.base_ref }} -- CHANGELOG.md && exit 1 || exit 0
68 changes: 68 additions & 0 deletions .github/workflows/composer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Do not edit this file! Make a pull request on changing
# github/workflows/composer.yaml in
# https://github.com/itk-dev/devops_itkdev-docker if need be.

### ### Composer
###
### Validates composer.json and checks that it's normalized.
###
### #### Assumptions
###
### 1. A docker compose service named `phpfpm` can be run and `composer` can be
### run inside the `phpfpm` service.
### 2. [ergebnis/composer-normalize](https://github.com/ergebnis/composer-normalize)
### is a dev requirement in `composer.json`:
###
### ``` shell
### docker compose run --rm phpfpm composer require --dev ergebnis/composer-normalize
### ```
###
### Normalize `composer.json` by running
###
### ``` shell
### docker compose run --rm phpfpm composer normalize
### ```

name: Composer

env:
COMPOSE_USER: runner

on:
pull_request:
push:
branches:
- main
- develop

jobs:
composer-validate:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- run: |
docker network create frontend
docker compose run --rm phpfpm composer validate --strict

composer-normalized:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- run: |
docker network create frontend
docker compose run --rm phpfpm composer install
docker compose run --rm phpfpm composer normalize --dry-run

composer-audit:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- run: |
docker network create frontend
docker compose run --rm phpfpm composer audit --locked
Loading