Skip to content

Organize Lucee Extensions #69

Organize Lucee Extensions

Organize Lucee Extensions #69

name: Organize Lucee Extensions
on:
workflow_dispatch:
inputs:
source_extension:
description: 'Source extension identifier'
required: true
type: choice
options:
- administrator-extension
- argon2-extension
- ajax.extension
- chart-extension
- com.microsoft.sqlserver.mssql-jdbc
- com.mysql.cj
- com.oracle.database.jdbc
- compress-extension
- ec2-extension
- ehcache-extension
- extension-memcached
- esapi-extension
- form-extension
- git-extension
- hibernate.extension
- hibernate-orm
- image-extension
- jtds
- lucee.extension.couchbase
- lucee.image.extension
- lucene-search
- lucene-search-extension
- memcached-extension
- mongodb-extension
- org.lucee.axis.extension
- org.lucee.exasol
- org.lucee.mssql
- org.lucee.oracle
- org.postgresql.postgresql
- org.h2.h2
- org.mongodb.mongo-java-driver
- quartz-extension
- pdf-extension
- redis.extension
- redis.clients.jedis
- sentry-extension
- s3-extension
- websocket-extension
default: com.mysql.cj
target_artifact_id:
description: 'Target artifact ID'
required: true
type: choice
options:
- administrator-extension
- ajax-extension
- axis-extension
- argon2-extension
- chart-extension
- compress-extension
- couchbase-extension
- documentation-extension
- ec2-extension
- ehcache-extension
- esapi-extension
- form-extension
- git-extension
- hibernate-extension
- image-extension
- jtds-jdbc-extension
- kinesis-extension
- lucene-search-extension
- memcached-extension
- mongodb-extension
- mssql-jdbc-extension
- mysql-jdbc-extension
- oracle-jdbc-extension
- postgresql-jdbc-extension
- pdf-extension
- quartz-extension
- redis-extension
- s3-extension
- scheduler-classic-extension
- sentry-extension
- tasks-extension
- websocket-client-extension
- websocket-extension
default: mysql-jdbc-extension
versions:
description: 'Extension version(s) to organize (e.g., 8.0.29 or 8.0.29,8.0.30,8.0.31)'
required: true
type: string
pom_url:
description: 'Optional: URL to pom.xml file (e.g., https://raw.githubusercontent.com/lucee/extension-jdbc-mysql/master/pom.xml)'
required: false
type: string
operation:
description: 'Copy or move files'
required: true
type: choice
options:
- copy
- move
default: copy
dry_run:
description: 'Dry run - only show what would be done'
required: false
type: boolean
default: false
jobs:
organize:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: |
cd .github/scripts
npm install
- name: Organize S3 Extension Artifacts
run: |
cd .github/scripts
node organize-s3-extensions.js
env:
INPUT_SOURCE_EXTENSION: ${{ inputs.source_extension }}
INPUT_TARGET_ARTIFACT_ID: ${{ inputs.target_artifact_id }}
INPUT_VERSIONS: ${{ inputs.versions }}
INPUT_OPERATION: ${{ inputs.operation }}
INPUT_DRY_RUN: ${{ inputs.dry_run }}
INPUT_S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_ID_DOWNLOAD }}
INPUT_S3_SECRET_KEY: ${{ secrets.S3_SECRET_KEY_DOWNLOAD }}
INPUT_S3_BUCKET: 'lucee-downloads'
INPUT_SOURCE_BUCKET: 'extension-downloads'
INPUT_POM_URL: ${{ inputs.pom_url }}