-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' of https://github.com/ConductionNL/OpenRegisters …
…into main
- Loading branch information
Showing
4 changed files
with
272 additions
and
33 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,196 @@ | ||
name: Release Workflow | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
- main | ||
workflow_dispatch: | ||
inputs: | ||
version: | ||
description: 'Version to release (leave empty to use info.xml version)' | ||
required: false | ||
default: '' | ||
|
||
jobs: | ||
release-management: | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
- name: Checkout Code | ||
uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Set app env | ||
run: | | ||
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV | ||
- name: Get current version and increment | ||
id: increment_version | ||
run: | | ||
current_version=$(grep -oP '(?<=<version>)[^<]+' appinfo/info.xml) | ||
IFS='.' read -ra version_parts <<< "$current_version" | ||
((version_parts[2]++)) | ||
new_version="${version_parts[0]}.${version_parts[1]}.${version_parts[2]}" | ||
echo "NEW_VERSION=$new_version" >> $GITHUB_ENV | ||
echo "new_version=$new_version" >> $GITHUB_OUTPUT | ||
- name: Update version in info.xml | ||
run: | | ||
sed -i "s|<version>.*</version>|<version>${{ env.NEW_VERSION }}</version>|" appinfo/info.xml | ||
- name: Commit version update | ||
run: | | ||
git config --local user.email "[email protected]" | ||
git config --local user.name "GitHub Action" | ||
git commit -am "Bump version to ${{ env.NEW_VERSION }}" | ||
git push | ||
# Step 1: 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 | ||
- name: Copy the package files into the package | ||
run: | | ||
mkdir -p package/${{ github.event.repository.name }} | ||
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/${{ github.event.repository.name }}/ | ||
# Step 9: Create the TAR.GZ archive | ||
- name: Create Tarball | ||
run: | | ||
cd package && tar -czf ../nextcloud-release.tar.gz ${{ github.event.repository.name }} | ||
# 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 nextcloud-release.tar.gz | openssl base64 -out nextcloud-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/main' | ||
uses: saadmk11/[email protected] | ||
with: | ||
release_version: ${{ env.NEW_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 package files into the package (this step seems redundant, consider removing) | ||
- name: Copy the package files into the package | ||
run: | | ||
mkdir -p package/${{ github.event.repository.name }} | ||
rsync -av --progress --exclude='package' --exclude='.git' ./ package/${{ github.event.repository.name }}/ | ||
# Step 18: Create a new release on GitHub | ||
- name: Upload Release | ||
uses: ncipollo/[email protected] | ||
with: | ||
tag: v${{ env.NEW_VERSION }} | ||
name: Release ${{ env.NEW_VERSION }} | ||
draft: false | ||
prerelease: false | ||
|
||
- name: Attach tarball to github release | ||
uses: svenstaro/upload-release-action@04733e069f2d7f7f0b4aebc4fbdbce8613b03ccd # v2 | ||
id: attach_to_release | ||
with: | ||
repo_token: ${{ secrets.GITHUB_TOKEN }} | ||
file: nextcloud-release.tar.gz # Corrected spelling | ||
asset_name: ${{ env.APP_NAME }}-${{ env.NEW_VERSION }}.tar.gz | ||
tag: v${{ env.NEW_VERSION }} | ||
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: https://github.com/${{ github.repository }}/releases/download/v${{ env.NEW_VERSION }}/${{ env.APP_NAME }}-${{ env.NEW_VERSION }}.tar.gz | ||
app_private_key: ${{ secrets.NEXTCLOUD_SIGNING_KEY }} | ||
nightly: false | ||
|
||
- name: Verify version and contents | ||
run: | | ||
echo "App version: ${{ env.NEW_VERSION }}" | ||
echo "Tarball contents:" | ||
tar -tvf nextcloud-release.tar.gz | ||
echo "info.xml contents:" | ||
tar -xOf nextcloud-release.tar.gz ${{ env.APP_NAME }}/appinfo/info.xml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
-----BEGIN CERTIFICATE REQUEST----- | ||
MIIEXDCCAkQCAQAwFzEVMBMGA1UEAwwMb3BlbnJlZ2lzdGVyMIICIjANBgkqhkiG | ||
9w0BAQEFAAOCAg8AMIICCgKCAgEAsipuRXH1QmxC2NowjfFQprPGgDIu/avEK3fr | ||
DdqGh0du4Jto+qyW+m07/71qlafuxj2ByiUZVjYmYRRnr6NAVoMoVY/h3XZ8NG9y | ||
ehcVLKYvhczlhXXHYQM4YRm6BT4Z43mCNgOSU70ZtuCbrDmObRMFXKQjzr8YOols | ||
AbpcaVYDer/R9AXnYtq+AxffxUYPk4OtPHMhHAN+5lH33v18cuQR3CEcI5pZUQh1 | ||
GXpTXaqJcSWt7oeGSTm8zTcBzkac33EPDjhJuc5Cx3mRHrQ97f7qGwZtO25frImE | ||
Ek7j8v8uZElW03qACyEfOjS7ylDQKqc8HjcCte7WTmVTP54Ktwa5dHwFDiJaHLw2 | ||
DwESPomd9P15HdMKNd6/3UlzTz2q+2m4ePCAkuBNF96IkZPn9GJbv8GDEkCK5IaV | ||
d3jbGKkto2dAAbvWkISkCcP4Uusl/26Al2o0VZLPZdporbsrWrmdr4Q8A5eRbGGq | ||
4A9gnjYGErgm4nDn6DehI+PBxTE3/SC9989aVaFidLOmu2cSYJeWInCAvs3BghfS | ||
9TmWqaEEd4J7eye6d9mc78hcTJImfD1nrlB5uK7H3LycASCdG29bFftCbLau/+zn | ||
btx7NmWUSOMOAd+3Y+q0PlR7qsfcQJNmPqcRiov3JkmuBIc6+wbkK8Utb9ub4/Wi | ||
K3pwAucCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4ICAQBYivp4UC4aNSrFyTXsA9by | ||
BelWDEHKTDy0HEpQcFFO0dL/IeKFpR6XPPvt5N6uU/ue2mLzZT5C3/fqclbBsmHf | ||
gi51EAMSuU4Xazvo8H1D8LVRBLmJgUpLRCnTElyaK2pXLhl9rtpAx5DQusr+ZCgV | ||
Tk/owgdpz+K5faaR17We0yq3RIJFvYD6jT3d2rlE0dkS45fBlq+1vaXZoe9cMnrV | ||
KaIPPuBvS7ISlQ2zOE441tIRrMoSbcC4+nSg3AOdCbncmC45kMQmZjTzSULBpdyO | ||
vY/aStxYg0w1Y3mUhIhryBAPRpO1+AKzcH526Ciukd+fjjGi1TnYS2qM4nyOeUPE | ||
5nCUEE9p5gzMozJmKyVsUBa5j8UFEdB8P9MJ7uD9qLFXoqNWE/5BBVDNc9+06e3O | ||
/v/fEq24sI2Ro/CJypBt2FaT9vrQZM7632tqEbGz+GNwbra7ZTk9VxZMvoxXGPD5 | ||
GwRKcV7qyPW7EXJxq9RJrnAyUEcMXa+9ZxpSehVm0Vm6oqCs+h1EhrhY1TLeNcHX | ||
dwG6oBMnRpjoIsCsStn9dNONLoz0AwyoM+a9Tkmk+QRGciFVHmXOCKCSDCNQKMXq | ||
LkwC+DRfTdhbMXeI4UZVoa6XebuPRvI5fNS2a0F5YfCbguJPfOOAYqBwi/36qcRu | ||
V8XwuipighROnlR7ecKqiA== | ||
-----END CERTIFICATE REQUEST----- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Changelog | ||
|
||
## 0.1.5 – 2024-09-07 | ||
### Added | ||
- First version for the Nextcloud store | ||
|
||
### Changed | ||
- Changes in existing functionality for this release: | ||
|
||
### Fixed | ||
- Bug fixes for this release: | ||
|
||
### Added | ||
- Initial release | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,54 @@ | ||
<?xml version="1.0"?> | ||
<info xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd"> | ||
<id>openregister</id> | ||
<name>Open Register</name> | ||
<summary>Quickly build data registers based on schema.json</summary> | ||
<description><![CDATA[📰 A OpenCatalogi App for Nextcloud | ||
xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd"> | ||
<id>openregister</id> | ||
<name>Open Register</name> | ||
<summary>Quickly build data registers based on schema.json</summary> | ||
<description><![CDATA[📰 An OpenRegister App for Nextcloud | ||
The OpenCatalogi Nextcloud app provides a framework for federated catalogi to work together in an open data ecosystem | ||
The OpenRegister Nextcloud app provides a framework for federated registers to work together in an open data ecosystem | ||
- 📲 Synchronize your sources with multiple catalogi | ||
- 📲 Synchronize your sources with multiple registers | ||
- 🔄 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) | ||
Requirements can be found [here](https://conduction.gitbook.io/openregister-nextcloud/installatie) | ||
The Roadmap is available [here](https://github.com/orgs/OpenCatalogi/projects/1/views/2) | ||
The Roadmap is available [here](https://github.com/orgs/OpenRegister/projects/1/views/2) | ||
Create a [bug report](https://github.com/OpenCatalogi/.github/issues/new/choose) | ||
Create a [bug report](https://github.com/OpenRegister/.github/issues/new/choose) | ||
Create a [feature request](https://github.com/OpenCatalogi/.github/issues/new/choose) | ||
Create a [feature request](https://github.com/OpenRegister/.github/issues/new/choose) | ||
]]></description> | ||
<version>0.1.1</version> | ||
<licence>agpl</licence> | ||
<author mail="[email protected]" homepage="https://www.conduction.nl/">Conduction</author> | ||
<namespace>OpenRegister</namespace> | ||
<category>organisation</category> | ||
<version>0.1.8</version> | ||
<licence>agpl</licence> | ||
<author mail="[email protected]" homepage="https://www.conduction.nl/">Conduction</author> | ||
<namespace>OpenRegister</namespace> | ||
<category>organization</category> | ||
<category>tools</category> | ||
<website>https://github.com/ConductionNL/OpenRegister</website> | ||
<bugs>https://github.com/ConductionNL/OpenRegister/issues</bugs> | ||
<repository type="git">https://github.com/ConductionNL/OpenRegister.git</repository> | ||
|
||
|
||
<dependencies> | ||
<bugs>https://github.com/ConductionNL/OpenRegister/issues</bugs> | ||
<repository>https://github.com/ConductionNL/OpenRegister</repository> | ||
<documentation> | ||
<user>https://conduction.gitbook.io/openregister-nextcloud/</user> | ||
<admin>https://conduction.gitbook.io/openregister-nextcloud/</admin> | ||
<developer>https://conduction.gitbook.io/openregister-nextcloud/</developer> | ||
</documentation> | ||
<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> | ||
|
||
<owncloud max-version="0" min-version="0"/> | ||
<nextcloud min-version="28" max-version="30"/> | ||
</dependencies> | ||
|
||
<navigations> | ||
<navigation> | ||
<id>openregister</id> | ||
<name>Register</name> | ||
<route>openregister.dashboard.page</route> | ||
</navigation> | ||
</navigations> | ||
<nextcloud min-version="28" max-version="30"/> | ||
</dependencies> | ||
<navigations> | ||
<navigation> | ||
<id>openregister</id> | ||
<name>Register</name> | ||
<route>openregister.dashboard.page</route> | ||
<icon>app.svg</icon> | ||
</navigation> | ||
</navigations> | ||
</info> |