xref: /plugin/pagecss/.github/workflows/main.yml (revision 068b6f4abe5d64ce6163f21b4ecaf9fdfc068701)
1*068b6f4aSdWiGhTname: Create DokuWiki Plugin ZIP and Changelog on Tag
2*068b6f4aSdWiGhT
3*068b6f4aSdWiGhTon:
4*068b6f4aSdWiGhT  push:
5*068b6f4aSdWiGhT    tags:
6*068b6f4aSdWiGhT      - 'v*'
7*068b6f4aSdWiGhT
8*068b6f4aSdWiGhTjobs:
9*068b6f4aSdWiGhT  build-release:
10*068b6f4aSdWiGhT    name: Build and Release
11*068b6f4aSdWiGhT    runs-on: ubuntu-latest
12*068b6f4aSdWiGhT
13*068b6f4aSdWiGhT    steps:
14*068b6f4aSdWiGhT      - name: Checkout code
15*068b6f4aSdWiGhT        uses: actions/checkout@v4
16*068b6f4aSdWiGhT
17*068b6f4aSdWiGhT      - name: Set up git config
18*068b6f4aSdWiGhT        run: |
19*068b6f4aSdWiGhT          git config --global user.name "GitHub Actions"
20*068b6f4aSdWiGhT          git config --global user.email "actions@github.com"
21*068b6f4aSdWiGhT
22*068b6f4aSdWiGhT      - name: Install git-cliff
23*068b6f4aSdWiGhT        run: |
24*068b6f4aSdWiGhT          curl -sSL https://github.com/orhun/git-cliff/releases/download/v1.3.0/git-cliff-1.3.0-x86_64-unknown-linux-gnu.tar.gz | tar -xz
25*068b6f4aSdWiGhT          sudo mv git-cliff /usr/local/bin/
26*068b6f4aSdWiGhT
27*068b6f4aSdWiGhT      - name: Generate CHANGELOG.md from commits
28*068b6f4aSdWiGhT        run: git-cliff -o CHANGELOG.md
29*068b6f4aSdWiGhT
30*068b6f4aSdWiGhT      - name: Create plugin zip
31*068b6f4aSdWiGhT        run: |
32*068b6f4aSdWiGhT          mkdir -p build
33*068b6f4aSdWiGhT          zip -r build/pagecss.zip \
34*068b6f4aSdWiGhT            action.php \
35*068b6f4aSdWiGhT            plugin.info.txt \
36*068b6f4aSdWiGhT            syntax.php \
37*068b6f4aSdWiGhT            conf/ \
38*068b6f4aSdWiGhT            lang/
39*068b6f4aSdWiGhT
40*068b6f4aSdWiGhT          cp CHANGELOG.md build/
41*068b6f4aSdWiGhT
42*068b6f4aSdWiGhT      - name: Create GitHub Release and upload assets
43*068b6f4aSdWiGhT        uses: softprops/action-gh-release@v2
44*068b6f4aSdWiGhT        with:
45*068b6f4aSdWiGhT          tag_name: ${{ github.ref_name }}
46*068b6f4aSdWiGhT          name: Release ${{ github.ref_name }}
47*068b6f4aSdWiGhT          body_path: build/CHANGELOG.md
48*068b6f4aSdWiGhT          files: |
49*068b6f4aSdWiGhT            build/pagecss.zip
50*068b6f4aSdWiGhT            build/CHANGELOG.md
51*068b6f4aSdWiGhT        env:
52*068b6f4aSdWiGhT          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53