Skip to content
Merged
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
56 changes: 56 additions & 0 deletions .github/workflows/build_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
on:
push:
tags:
- '*.*.*'

name: Create Github Release

permissions:
contents: write

env:
COMPOSE_USER: runner

jobs:
create-release:
runs-on: ubuntu-latest
env:
COMPOSER_ALLOW_SUPERUSER: 1
APP_ENV: prod
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Composer install
run: |
docker network create frontend
docker compose run --rm --user=root phpfpm composer install --no-dev -o --classmap-authoritative
docker compose run --rm --user=root phpfpm composer clear-cache

- name: Build theme
run: |
- docker compose run --rm node yarn install
- docker compose run --rm node yarn build
- docker compose run --rm node rm -rf node_modules
# Ensure everything is owned by runner
- sudo chown -R ${{ COMPOSE_USER }}:${{ COMPOSE_USER }} web

- name: Make assets dir
run: |
mkdir -p ../assets

- name: Create archive
run: |
sudo chown -R runner:runner ./
tar --exclude='.git' -zcf ../assets/${{ github.event.repository.name }}-${{ github.ref_name }}.tar.gz ./

- name: Create checksum
run: |
cd ../assets
sha256sum ${{ github.event.repository.name }}-${{ github.ref_name }}.tar.gz > ../assets/checksum.txt

- name: Create a release in GitHub and uploads assets
run: gh release create ${{ github.ref_name }} --verify-tag --generate-notes ../assets/*.*
env:
GITHUB_TOKEN: ${{ github.TOKEN }}
shell: bash
40 changes: 40 additions & 0 deletions .woodpecker/os2forms_prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
when:
- event: release

skip_clone: true

labels:
zone: CLOUD

steps:
- name: Ansible playbook
image: itkdev/ansible-plugin:1
pull: true
settings:
id:
from_secret: id
secret:
from_secret: secret
host:
from_secret: prod_os2forms_host
path:
from_secret: prod_os2forms_path
user:
from_secret: user
playbook: 'release'
pre_up:
# Fixes issue with 'Drupal\mysql\Driver\Database\mysql\Connection' not found
- itkdev-docker-compose-server run --rm phpfpm composer2 dump-autoload
- itkdev-docker-compose-server run --rm phpfpm vendor/bin/drush --yes cache:rebuild
- itkdev-docker-compose-server run --rm phpfpm vendor/bin/drush --yes deploy
- itkdev-docker-compose-server exec phpfpm vendor/bin/drush --yes locale:update
- itkdev-docker-compose-server exec phpfpm vendor/bin/drush --yes locale:import --type=customized --override=none da /app/web/profiles/custom/os2loop/translations/translations.da.po
- itkdev-docker-compose-server run --rm phpfpm vendor/bin/drush --yes cache:rebuild
cron:
cron:
minute: '47'
hour: '*'
day: '*'
month: '*'
weekday: '*'
job: 'itkdev-docker-compose-server exec phpfpm vendor/bin/drush core:cron'
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

- [PR-371](https://github.com/itk-dev/os2loop/pull/371)
Added GitHub action to build release
Added os2forms auto deployment

- [PR-370](https://github.com/itk-dev/os2loop/pull/370)
Added woodpecker to test site deployment

Expand Down
13 changes: 13 additions & 0 deletions config/sync/config_ignore.settings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,16 @@ ignored_config_entities:
- samlauth.authentication
- samlauth_user_roles.mapping
- system.site
- user.role.anonymous
- user.role.os2loop_user_external_sources_editor
- user.role.os2loop_user_manual
- user.role.os2loop_user_post_author
- user.role.os2loop_user_document_collection_editor
- user.role.os2loop_user_document_author
- user.role.os2loop_user_administrator'
- user.role.authenticated
- user.role.os2loop_user_user_administrator
- views.view.files
- system.action.user_add_role_action.os2loop_user_user_administrator
- system.action.user_remove_role_action.os2loop_user_user_administrator
- user.role.os2loop_user_user_administrator
Loading