diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f217feb..f417e23 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,12 +53,3 @@ jobs: GH_TOKEN: ${{ secrets.GH_TOKEN }} run: npx semantic-release - generate-writerside-docs: - needs: pipeline - if: github.ref == 'refs/heads/main' - uses: ./.github/workflows/generate_writerside_docs.yml - secrets: inherit - with: - writerside_instance: 'Writerside/dcs' - artifact_name: 'webHelpDCS2-all.zip' - docker_version: 242.21870 diff --git a/.github/workflows/ci_writerside_docs.yml b/.github/workflows/ci_writerside_docs.yml new file mode 100644 index 0000000..b65a9d8 --- /dev/null +++ b/.github/workflows/ci_writerside_docs.yml @@ -0,0 +1,73 @@ +name: Build, Test, and Deploy Documentation + +on: + push: + branches: ['main'] + pull_request: + branches: ['main'] + workflow_dispatch: + +env: + INSTANCE: 'Writerside/dcs' # Name of the module (adjust for your project) + ARTIFACT: 'webHelpDCS2-all.zip' # Name of the artifact to be generated + DOCKER_VERSION: '242.21870' # Specific Docker version + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} # Ensure access to private repo + fetch-depth: 0 + + - name: Build docs using Writerside Docker builder + uses: JetBrains/writerside-github-action@v4 + with: + instance: ${{ env.INSTANCE }} + artifact: ${{ env.ARTIFACT }} + docker-version: ${{ env.DOCKER_VERSION }} + + - name: Save artifact with build results + uses: actions/upload-artifact@v4 + with: + name: docs + path: | + artifacts/${{ env.ARTIFACT }} # Artifact inside the artifacts folder + artifacts/report.json + retention-days: 7 + + - name: Unzip artifact + run: | + unzip -O UTF-8 -qq artifacts/${{ env.ARTIFACT }} -d dir + + - name: Configure GitHub Pages + uses: actions/configure-pages@v4 + + - name: Upload artifact to GitHub Pages + uses: actions/upload-pages-artifact@v3 + with: + path: dir + + - name: Deploy to GitHub Pages + uses: actions/deploy-pages@v4 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + test: + runs-on: ubuntu-latest + needs: build-and-deploy + + steps: + - name: Download artifact + uses: actions/download-artifact@v4 + with: + name: docs + path: artifacts + + - name: Test documentation using Writerside Checker + uses: JetBrains/writerside-checker-action@v1 + with: + instance: ${{ env.INSTANCE }} diff --git a/.github/workflows/generate_writerside_docs.yml b/.github/workflows/generate_writerside_docs.yml deleted file mode 100644 index 6d9ed4d..0000000 --- a/.github/workflows/generate_writerside_docs.yml +++ /dev/null @@ -1,68 +0,0 @@ -name: Build, Test, and Deploy Documentation - -on: - workflow_call: - inputs: - writerside_instance: - type: string - required: true - default: 'Writerside/dcs' - artifact_name: - type: string - required: true - default: 'webHelpDCS2-all.zip' - docker_version: - type: string - required: true - default: '242.21870' - -jobs: - build-and-deploy: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} # Ensure access to private repo - fetch-depth: 0 - - - name: Build documentation using Writerside Docker builder - uses: JetBrains/writerside-github-action@v4 - with: - instance: ${{ inputs.writerside_instance }} - artifact: ${{ inputs.artifact_name }} - docker-version: ${{ inputs.docker_version }} - - - name: Save Writerside artifact with build results - uses: actions/upload-artifact@v4 - with: - name: docs - path: | - artifacts/${{ inputs.artifact_name }} - artifacts/report.json - retention-days: 7 - - - name: Unzip Writerside artifact - run: | - unzip -O UTF-8 -qq artifacts/${{ inputs.artifact_name }} -d dir - - - name: Configure GitHub Pages - uses: actions/configure-pages@v4 - with: - enablement: true - - - name: Upload Writerside content to GitHub Pages - uses: actions/upload-pages-artifact@v3 - with: - path: dir - - - name: Deploy to GitHub Pages - uses: actions/deploy-pages@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Test documentation using Writerside Checker - uses: JetBrains/writerside-checker-action@v1 - with: - instance: ${{ inputs.writerside_instance }}