112fa7ce0SHenrik Yllemoname: Build and Release Plugin 212fa7ce0SHenrik Yllemo 312fa7ce0SHenrik Yllemoon: 412fa7ce0SHenrik Yllemo push: 512fa7ce0SHenrik Yllemo branches: 612fa7ce0SHenrik Yllemo - main 712fa7ce0SHenrik Yllemo 812fa7ce0SHenrik Yllemojobs: 912fa7ce0SHenrik Yllemo build-release: 1012fa7ce0SHenrik Yllemo runs-on: ubuntu-latest 11fdc4b28eSHenrik Yllemo permissions: 12fdc4b28eSHenrik Yllemo contents: write 1312fa7ce0SHenrik Yllemo 1412fa7ce0SHenrik Yllemo steps: 1512fa7ce0SHenrik Yllemo - uses: actions/checkout@v4 1612fa7ce0SHenrik Yllemo 1712fa7ce0SHenrik Yllemo - name: Extract plugin name and version 1812fa7ce0SHenrik Yllemo id: plugin-info 1912fa7ce0SHenrik Yllemo run: | 20fdc4b28eSHenrik Yllemo PLUGIN_VERSION=$(grep "^version" plugin.info.txt | cut -d' ' -f2) 21fdc4b28eSHenrik Yllemo BUILD_DATE=$(date +%Y%m%d.%H%M%S) 22fdc4b28eSHenrik Yllemo TAG="v${PLUGIN_VERSION}-${BUILD_DATE}" 23fdc4b28eSHenrik Yllemo echo "version=${PLUGIN_VERSION}" >> $GITHUB_OUTPUT 2412fa7ce0SHenrik Yllemo echo "tag=${TAG}" >> $GITHUB_OUTPUT 25fdc4b28eSHenrik Yllemo echo "Plugin Version: ${PLUGIN_VERSION}, Tag: ${TAG}" 2612fa7ce0SHenrik Yllemo 2712fa7ce0SHenrik Yllemo - name: Create plugin package 2812fa7ce0SHenrik Yllemo run: | 2912fa7ce0SHenrik Yllemo mkdir -p skillforge-package 3012fa7ce0SHenrik Yllemo # Copy all plugin files except git-related and excluded files 3112fa7ce0SHenrik Yllemo cp -r action.php admin.php helper.php syntax.php plugin.info.txt README.md LICENSE CHANGELOG.md style.css skillforge-package/ 3212fa7ce0SHenrik Yllemo cp -r classes/ conf/ lang/ skillforge-package/ 3312fa7ce0SHenrik Yllemo 34*b2a49f3bSHenrik Yllemo # Create ZIP archive with files at root level 35*b2a49f3bSHenrik Yllemo cd skillforge-package 36*b2a49f3bSHenrik Yllemo zip -r "../skillforge-${{ steps.plugin-info.outputs.version }}.zip" . 37*b2a49f3bSHenrik Yllemo cd .. 38*b2a49f3bSHenrik Yllemo ls -lh skillforge-*.zip 39*b2a49f3bSHenrik Yllemo echo "RELEASE_FILE=skillforge-${{ steps.plugin-info.outputs.version }}.zip" >> $GITHUB_ENV 40cc7d7d43SHenrik Yllemo 41cc7d7d43SHenrik Yllemo - name: Create Release 42cc7d7d43SHenrik Yllemo uses: softprops/action-gh-release@v2 4312fa7ce0SHenrik Yllemo with: 4412fa7ce0SHenrik Yllemo tag_name: ${{ steps.plugin-info.outputs.tag }} 45fdc4b28eSHenrik Yllemo name: SkillForge ${{ steps.plugin-info.outputs.version }} 4612fa7ce0SHenrik Yllemo body: | 4712fa7ce0SHenrik Yllemo ## SkillForge DokuWiki Plugin 4812fa7ce0SHenrik Yllemo 4912fa7ce0SHenrik Yllemo **Version:** ${{ steps.plugin-info.outputs.version }} 5012fa7ce0SHenrik Yllemo 5112fa7ce0SHenrik Yllemo ### Installation 5212fa7ce0SHenrik Yllemo 5312fa7ce0SHenrik Yllemo 1. Download the `skillforge-${{ steps.plugin-info.outputs.version }}.zip` file below 5412fa7ce0SHenrik Yllemo 2. Extract it in your DokuWiki plugins directory: `lib/plugins/` 5512fa7ce0SHenrik Yllemo 3. Go to Admin → SkillForge to configure 5612fa7ce0SHenrik Yllemo 5712fa7ce0SHenrik Yllemo ### What's included 5812fa7ce0SHenrik Yllemo - Plugin core files (action.php, admin.php, helper.php, syntax.php) 5912fa7ce0SHenrik Yllemo - Configuration templates (conf/) 6012fa7ce0SHenrik Yllemo - Language files (lang/) 6112fa7ce0SHenrik Yllemo - Documentation (README.md, CHANGELOG.md) 6212fa7ce0SHenrik Yllemo files: | 63fdc4b28eSHenrik Yllemo ${{ env.RELEASE_FILE }} 6412fa7ce0SHenrik Yllemo draft: false 6512fa7ce0SHenrik Yllemo prerelease: false 6612fa7ce0SHenrik Yllemo env: 6712fa7ce0SHenrik Yllemo GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 68