1*12fa7ce0SHenrik Yllemoname: Build and Release Plugin 2*12fa7ce0SHenrik Yllemo 3*12fa7ce0SHenrik Yllemoon: 4*12fa7ce0SHenrik Yllemo push: 5*12fa7ce0SHenrik Yllemo branches: 6*12fa7ce0SHenrik Yllemo - main 7*12fa7ce0SHenrik Yllemo 8*12fa7ce0SHenrik Yllemojobs: 9*12fa7ce0SHenrik Yllemo build-release: 10*12fa7ce0SHenrik Yllemo runs-on: ubuntu-latest 11*12fa7ce0SHenrik Yllemo 12*12fa7ce0SHenrik Yllemo steps: 13*12fa7ce0SHenrik Yllemo - uses: actions/checkout@v4 14*12fa7ce0SHenrik Yllemo 15*12fa7ce0SHenrik Yllemo - name: Extract plugin name and version 16*12fa7ce0SHenrik Yllemo id: plugin-info 17*12fa7ce0SHenrik Yllemo run: | 18*12fa7ce0SHenrik Yllemo BASE=$(grep "^base" plugin.info.txt | cut -d' ' -f2) 19*12fa7ce0SHenrik Yllemo DATE=$(date +%Y%m%d_%H%M%S) 20*12fa7ce0SHenrik Yllemo VERSION=$(grep "^date" plugin.info.txt | cut -d' ' -f2) 21*12fa7ce0SHenrik Yllemo TAG="${BASE}_${VERSION}_${DATE}" 22*12fa7ce0SHenrik Yllemo echo "base=${BASE}" >> $GITHUB_OUTPUT 23*12fa7ce0SHenrik Yllemo echo "version=${VERSION}" >> $GITHUB_OUTPUT 24*12fa7ce0SHenrik Yllemo echo "tag=${TAG}" >> $GITHUB_OUTPUT 25*12fa7ce0SHenrik Yllemo echo "Plugin: ${BASE}, Version: ${VERSION}, Tag: ${TAG}" 26*12fa7ce0SHenrik Yllemo 27*12fa7ce0SHenrik Yllemo - name: Create plugin package 28*12fa7ce0SHenrik Yllemo run: | 29*12fa7ce0SHenrik Yllemo mkdir -p skillforge-package 30*12fa7ce0SHenrik Yllemo # Copy all plugin files except git-related and excluded files 31*12fa7ce0SHenrik Yllemo cp -r action.php admin.php helper.php syntax.php plugin.info.txt README.md LICENSE CHANGELOG.md style.css skillforge-package/ 32*12fa7ce0SHenrik Yllemo cp -r classes/ conf/ lang/ skillforge-package/ 33*12fa7ce0SHenrik Yllemo 34*12fa7ce0SHenrik Yllemo # Create ZIP archive 35*12fa7ce0SHenrik Yllemo zip -r skillforge-${{ steps.plugin-info.outputs.version }}.zip skillforge-package/ 36*12fa7ce0SHenrik Yllemo ls -lh skillforge-*.zip 37*12fa7ce0SHenrik Yllemo 38*12fa7ce0SHenrik Yllemo - name: Create Release 39*12fa7ce0SHenrik Yllemo uses: softprops/action-gh-release@v1 40*12fa7ce0SHenrik Yllemo with: 41*12fa7ce0SHenrik Yllemo tag_name: ${{ steps.plugin-info.outputs.tag }} 42*12fa7ce0SHenrik Yllemo name: SkillForge Release ${{ steps.plugin-info.outputs.version }} 43*12fa7ce0SHenrik Yllemo body: | 44*12fa7ce0SHenrik Yllemo ## SkillForge DokuWiki Plugin 45*12fa7ce0SHenrik Yllemo 46*12fa7ce0SHenrik Yllemo **Version:** ${{ steps.plugin-info.outputs.version }} 47*12fa7ce0SHenrik Yllemo **Base:** ${{ steps.plugin-info.outputs.base }} 48*12fa7ce0SHenrik Yllemo 49*12fa7ce0SHenrik Yllemo ### Installation 50*12fa7ce0SHenrik Yllemo 51*12fa7ce0SHenrik Yllemo 1. Download the `skillforge-${{ steps.plugin-info.outputs.version }}.zip` file below 52*12fa7ce0SHenrik Yllemo 2. Extract it in your DokuWiki plugins directory: `lib/plugins/` 53*12fa7ce0SHenrik Yllemo 3. Go to Admin → SkillForge to configure 54*12fa7ce0SHenrik Yllemo 55*12fa7ce0SHenrik Yllemo ### What's included 56*12fa7ce0SHenrik Yllemo - Plugin core files (action.php, admin.php, helper.php, syntax.php) 57*12fa7ce0SHenrik Yllemo - Configuration templates (conf/) 58*12fa7ce0SHenrik Yllemo - Language files (lang/) 59*12fa7ce0SHenrik Yllemo - Documentation (README.md, CHANGELOG.md) 60*12fa7ce0SHenrik Yllemo files: | 61*12fa7ce0SHenrik Yllemo skillforge-${{ steps.plugin-info.outputs.version }}.zip 62*12fa7ce0SHenrik Yllemo draft: false 63*12fa7ce0SHenrik Yllemo prerelease: false 64*12fa7ce0SHenrik Yllemo env: 65*12fa7ce0SHenrik Yllemo GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 66