mondarth-campaign/.github/workflows/build-and-release.yml
Ulenar of Mondarth 6803c8336b
Some checks failed
Build and Deploy Docs / build (push) Failing after 1m41s
Bump version / Bump version and create changelog with commitizen (push) Failing after 7s
chore: initial commit
2025-07-14 18:00:35 +00:00

99 lines
2.7 KiB
YAML

name: Build and Release Module and Documentation
on:
push:
tags: [ "v*" ]
paths-ignore:
- "docs/**"
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-documentation:
uses: ./.github/workflows/build-and-deploy-docs.yml
build:
needs:
- build-documentation
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
attestations: write
id-token: write
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22.x
cache: "pnpm"
- name: Dump
env:
GHC: ${{ toJson(github) }}
run: 'echo "Dump: ${GHC}"'
- name: Extract version from tag without the v
id: get-version
run: echo "v=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Test
run: pnpm test
- name: Compile build
run: pnpm build
# Substitute the Manifest and Download URLs in the `module.json`.
- name: Substitute Manifest and Download Links For Versioned Ones
id: sub_manifest_link_version
uses: microsoft/variable-substitution@v1
with:
files: 'module.json'
env:
version: ${{steps.get-version.outputs.v}}
url: https://github.com/${{github.repository}}
readme: https://github.com/${{github.repository}}/blob/master/README.md
bugs: https://github.com/${{github.repository}}/issues
changelog: https://github.com/${{github.repository}}/releases/latest
manifest: https://github.com/${{github.repository}}/releases/latest/download/module.json
download: https://github.com/${{github.repository}}/releases/download/${{github.ref_name}}/module.zip
# Create a zip file with all files required by the module to add to the release.
- name: Bundle into ZIP file
run: zip -r ./module.zip module.json assets/ dist/ lang/ packs/ LICENSE documentation-${{ github.ref_name }}.zip
- name: Recover Release Data
uses: dawidd6/action-download-artifact@v6
with:
workflow: bump-version.yml
workflow_conclusion: success
name: release-${{ github.ref_name }}
path: ${{ github.workspace }}/release-${{ github.ref_name }}
search_artifacts: true
- name: Release
if: ${{ !env.ACT }}
uses: softprops/action-gh-release@v1
with:
body_path: "${{ github.workspace }}/release-${{ github.ref_name }}/release-note.md"
tag_name: ${{ github.ref_name }}
files: |
documentation-${{ github.ref_name }}.zip
module.json
module.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}