Skip to content

Commit

Permalink
Merge pull request #57 from ConductionNL/master
Browse files Browse the repository at this point in the history
Development update
  • Loading branch information
rubenvdlinde authored Sep 2, 2024
2 parents a7e5fb7 + 4546d8e commit 7089773
Show file tree
Hide file tree
Showing 29 changed files with 368 additions and 402 deletions.
13 changes: 12 additions & 1 deletion .github/workflows/CI-workflows.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: CI Workflow

on: [push, pull_request]
on: [push, master]

jobs:
build:
Expand All @@ -19,6 +19,17 @@ jobs:
- name: Install Composer dependencies
run: composer install

- name: Install npm dependencies
uses: actions/setup-node@v3
with:
node-version: '18.x' # Specify Node.js version
# Documentation: https://github.com/actions/setup-node
# Explanation: This step sets up a Node.js environment and installs the project's dependencies listed in the `package.json` file using npm.

- run: npm install
# Documentation: https://docs.npmjs.com/cli/v7/commands/npm-install
# Explanation: This step runs `npm install` to install the Node.js dependencies required for the project.

- name: Run phpcbf
run: phpcbf .
continue-on-error: ${{ github.ref != 'refs/heads/main' }}
Expand Down
169 changes: 169 additions & 0 deletions .github/workflows/release-workflows.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
name: Release Workflow

on:
push:
branches:
- master

jobs:
release-management:
runs-on: ubuntu-latest
steps:

- name: Set app env
run: |
# Split and keep last
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
# Step 1: Checkout the code
- name: Checkout Code
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }} # Checkout the correct branch name
fetch-depth: 0 # Fetch the whole repo history

# Step 2: Prepare the signing certificate and key
- name: Prepare Signing Certificate and Key
run: |
echo "${{ secrets.NEXTCLOUD_SIGNING_CERT }}" > signing-cert.crt
echo "${{ secrets.NEXTCLOUD_SIGNING_KEY }}" > signing-key.key
# Step 3: Install Node.js dependencies using npm
- name: Install npm dependencies
uses: actions/setup-node@v3
with:
node-version: '18.x' # Specify Node.js version

# Step 4: Install PHP extensions
- name: Set up PHP and install extensions
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
extensions: zip, gd

# Step 5: Build the node dependencies
- run: npm ci

# Step 6: Build the node dependencies
- run: npm run build

# Step 7: Build composer dependencies
- run: composer i --no-dev

# Step 8: Copy the files into the package directory, excluding .git and package itself
- name: Copy the package files into the package
run: |
mkdir -p package/opencatalogi
rsync -av --progress \
--exclude='package' \
--exclude='.git' \
--exclude='.github' \
--exclude='.vscode' \
--exclude='docker' \
--exclude='docs' \
--exclude='node_modules' \
--exclude='src' \
--exclude='test' \
--exclude='package-lock.json' \
--exclude='composer.lock' \
--exclude='composer-setup.php' \
--exclude='.phpunit.result.cache' \
--exclude='phpmd.xml' \
--exclude='signing-key.key' \
--exclude='package.json' \
--exclude='composer.json' \
--exclude='coverage.txt' \
--exclude='signing-cert.crt' \
--exclude='docker-compose.yml' \
--exclude='webpack.config.js' \
--exclude='.prettierrc' \
--exclude='psalm.xml' \
--exclude='phpunit.xml' \
--exclude='tsconfig.json' \
--exclude='changelog-ci-config.json' \
--exclude='jest.config.js' \
--exclude='.gitattributes' \
--exclude='.php-cs-fixer.dist.php' \
--exclude='.gitignore' \
--exclude='.eslintrc.js' \
--exclude='stylelint.config.js' \
--exclude='.babelrc' \
--exclude='.nvmrc' \
./ package/opencatalogi/
# Step 9: Create the TAR.GZ archive with code in opencatalogi directory
- name: Create Tarball
run: |
cd package && tar -czf ../nexcloud-release.tar.gz opencatalogi
# Step 10: Sign the TAR.GZ file with OpenSSL
- name: Sign the TAR.GZ file with OpenSSL
run: |
openssl dgst -sha512 -sign signing-key.key nexcloud-release.tar.gz | openssl base64 -out nexcloud-release.signature
# Step 11: Generate Git version information
- name: Git Version
id: version
uses: codacy/[email protected]
with:
release-branch: main

# Step 12: Extract repository description
- name: Extract repository description
id: repo-description
run: |
description=$(jq -r '.description' <(curl -s https://api.github.com/repos/${{ github.repository }}))
echo "REPO_DESCRIPTION=$description" >> $GITHUB_ENV
# Step 13: Run Changelog CI
- name: Run Changelog CI
if: github.ref == 'refs/heads/master'
uses: saadmk11/[email protected]
with:
release_version: ${{ steps.version.outputs.version }}
config_file: changelog-ci-config.json

# Step 14: Output the version
- name: Use the version
run: |
echo ${{ steps.version.outputs.version }}
# Step 15: Copy the files into the package directory, excluding .git and package itself
- name: Copy the package files into the package
run: |
mkdir -p package/opencatalogi
rsync -av --progress --exclude='package' --exclude='.git' ./ package/opencatalogi/
# Step 18: Create a new release on GitHub
- name: Upload Release
uses: ncipollo/[email protected]
with:
artifacts: |
LICENSE.md
nexcloud-release.tar.gz
nexcloud-release.signature
opencatalogi-build.zip
opencatalogi-build.tar.gz
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ steps.version.outputs.version }}

- name: Attach tarball to github release
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2
id: attach_to_release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: nexcloud-release.tar.gz
asset_name: ${{ env.APP_NAME }}-${{ env.APP_VERSION }}.tar.gz
tag: ${{ github.ref }}
overwrite: true

- name: Upload app to Nextcloud appstore
uses: nextcloud-releases/nextcloud-appstore-push-action@a011fe619bcf6e77ddebc96f9908e1af4071b9c1 # v1
with:
app_name: ${{ env.APP_NAME }}
appstore_token: ${{ secrets.NEXTCLOUD_APPSTORE_TOKEN }}
download_url: ${{ steps.attach_to_release.outputs.browser_download_url }}
app_private_key: ${{ secrets.NEXTCLOUD_SIGNING_KEY }}


32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Version: 0.0.1-featuredimoc279workflowforrele.1134.97c61c3


#### Other Changes

* [#1](https://github.com/ConductionNL/opencatalogi/pull/1): Fix Migrations for PSQL
* [#2](https://github.com/ConductionNL/opencatalogi/pull/2): finished metadata properties being null
* [#3](https://github.com/ConductionNL/opencatalogi/pull/3): Fix elastic string filter
* [#4](https://github.com/ConductionNL/opencatalogi/pull/4): Publicatie dialogs en documentatie
* [#5](https://github.com/ConductionNL/opencatalogi/pull/5): feature/DIMOC-236/Attachments-page-refactor
* [#6](https://github.com/ConductionNL/opencatalogi/pull/6): feature/DIMOC-216/drag-and-drop
* [#7](https://github.com/ConductionNL/opencatalogi/pull/7): Some fixes for broken stuff
* [#8](https://github.com/ConductionNL/opencatalogi/pull/8): dashboard statistics
* [#9](https://github.com/ConductionNL/opencatalogi/pull/9): Added publication download, for pdf or zip
* [#10](https://github.com/ConductionNL/opencatalogi/pull/10): Fix filters
* [#11](https://github.com/ConductionNL/opencatalogi/pull/11): feature/DIMOC-216/drag-and-drop
* [#12](https://github.com/ConductionNL/opencatalogi/pull/12): build hotfix
* [#13](https://github.com/ConductionNL/opencatalogi/pull/13): renamed listing to directory
* [#14](https://github.com/ConductionNL/opencatalogi/pull/14): Fix search because of joins
* [#15](https://github.com/ConductionNL/opencatalogi/pull/15): feature/DIMOC-260/download-buttons
* [#16](https://github.com/ConductionNL/opencatalogi/pull/16): added dropdown based on metadata properties
* [#17](https://github.com/ConductionNL/opencatalogi/pull/17): search on metadata
* [#18](https://github.com/ConductionNL/opencatalogi/pull/18): added catalogi filter to search
* [#23](https://github.com/ConductionNL/opencatalogi/pull/23): feature/sync-button
* [#24](https://github.com/ConductionNL/opencatalogi/pull/24): Metadata copy fixes
* [#25](https://github.com/ConductionNL/opencatalogi/pull/25): Fix statuscode field nullability
* [#26](https://github.com/ConductionNL/opencatalogi/pull/26): finished filtered metadata
* [#27](https://github.com/ConductionNL/opencatalogi/pull/27): feature/medata-external-source
* [#28](https://github.com/ConductionNL/opencatalogi/pull/28): feature/DIMOC-281/cleanup
* [#29](https://github.com/ConductionNL/opencatalogi/pull/29): Copy metadata from listing
* [#30](https://github.com/ConductionNL/opencatalogi/pull/30): fix migration
* [#31](https://github.com/ConductionNL/opencatalogi/pull/31): Cast id's
File renamed without changes.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ Deze documentatie is bedoeld voor diverse doelgroepen:
Voor meer informatie over OpenCatalogi en onze gemeenschappelijke inspanningen, bezoek onze [GitHub-pagina](https://github.com/OpenCatalogi) of de officiële website op [OpenCatalogi.nl](https://opencatalogi.nl).

Veel succes met het gebruik van de app. Voor vragen of bijdragen, neem gerust contact met ons op via [email protected].

## Handmatig installeren
Onder releases vind u de laatste handmatige commit
62 changes: 52 additions & 10 deletions appinfo/info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,66 @@
<info xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
<id>opencatalogi</id>
<name>Open Catalogi</name>
<summary>The Open Catalogi next cloud app provides a framework for federated catalogouses to work together in an open data ecosystem</summary>
<description>Hmmm what could we say</description>
<version>0.6.0</version>
<name>OpenCatalogi</name>
<summary>Framework for federated catalogi to work togethe</summary>
<description><![CDATA[📰 A OpenCatalogi App for Nextcloud
The OpenCatalogi Nextcloud app provides a framework for federated catalogi to work together in an open data ecosystem
- 📲 Synchronize your sources with multiple catalogi
- 🔄 Automatic publications of your open data
- 🆓 Free and open source under EUPL
**System Cron is currently required for this app to work**
Requirements can be found [here](https://conduction.gitbook.io/opencatalogi-nextcloud/installatie)
The Roadmap is available [here](https://github.com/orgs/OpenCatalogi/projects/1/views/2)
Create a [bug report](https://github.com/OpenCatalogi/.github/issues/new/choose)
Create a [feature request](https://github.com/OpenCatalogi/.github/issues/new/choose)
]]></description>
<version>0.6.5</version>
<licence>agpl</licence>
<author mail="[email protected]" homepage="https://www.conduction.nl/">Conduction</author>
<author mail="[email protected]" homepage="https://acato.nl/">Acato</author>
<namespace>OpenCatalogi</namespace>
<category>workflow</category>
<bugs>https://github.com/ConductionNL/ZaakAfhandelApp/issues</bugs>
<dependencies>
<nextcloud min-version="26" max-version="30"/>
</dependencies><background-jobs>
<documentation>
<user>https://conduction.gitbook.io/opencatalogi-nextcloud/gebruikers</user>
<admin>https://conduction.gitbook.io/opencatalogi-nextcloud/beheerders</admin>
<developer>https://conduction.gitbook.io/opencatalogi-nextcloud/developers</developer>
</documentation>
<category>integration</category>
<website>https://documentatie.opencatalogi.nl/</website>
<bugs>https://github.com/OpenCatalogi/.github/issues</bugs>
<repository type="git">https://github.com/ConductionNL/opencatalogi.git</repository>

<screenshot>https://raw.githubusercontent.com/ConductionNL/opencatalogi/master/docs/assets/logo.png</screenshot>
<screenshot>https://raw.githubusercontent.com/ConductionNL/opencatalogi/master/docs/screenshots/1.png</screenshot>
<screenshot>https://raw.githubusercontent.com/ConductionNL/opencatalogi/master/docs/screenshots/2.png</screenshot>

<dependencies>
<php min-version="8.0" min-int-size="64"/>
<database min-version="10">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>

<lib>curl</lib>
<lib>zip</lib>

<owncloud max-version="0" min-version="0"/>
<nextcloud min-version="28" max-version="30"/>
</dependencies>

<background-jobs>
<job>OCA\OpenCatalogi\Cron\DirectorySync</job>
</background-jobs>

<navigations>
<navigation>
<id>opencatalogi</id>
<name>Open Catalogi</name>
<name>Catalogi</name>
<route>opencatalogi.dashboard.page</route>
<icon>app.svg</icon>
<type>link</type>
Expand Down
22 changes: 22 additions & 0 deletions changelog-ci-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"commit_changelog": true,
"exclude_labels": ["bot", "dependabot", "ci"],
"group_config": [
{
"title": "Bug Fixes",
"labels": ["bug", "bugfix"]
},
{
"title": "Code Improvements",
"labels": ["improvements", "enhancement"]
},
{
"title": "New Features",
"labels": ["feature"]
},
{
"title": "Documentation Updates",
"labels": ["docs", "documentation", "doc"]
}
]
}
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
"adbario/php-dot-notation": "^3.3.0",
"bamarni/composer-bin-plugin": "^1.8",
"elasticsearch/elasticsearch": "^v8.14.0",
"guzzlehttp/guzzle": "^7.0",
"guzzlehttp/guzzle": "^7.0",
"mpdf/mpdf": "^8.2",
"symfony/twig-bundle": "^6.4",
"symfony/uid": "^6.4"
Expand Down
Loading

0 comments on commit 7089773

Please sign in to comment.