[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/DSharpPlus/DSharpPlus/master/.github/workflows/build-commit.yml [Back]  [Original]

name: Build Commit

on:
  push:
    branches: [master]
    paths:
      - ".github/workflows/build-commit.yml"
      - "DSharpPlus*/**"
      - "tools/**"
      - "docs/**"
      - "*.sln"
      - "obsolete/DSharpPlus*/**"
  workflow_dispatch:

env:
  DOTNET_NOLOGO: 1
  DOTNET_CLI_TELEMETRY_OPTOUT: 1
  DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
  DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: 1

jobs:
  package-commit:
    name: Package Commit
    runs-on: ubuntu-latest
    if: "!contains(format('{0} {1}', github.event.head_commit.message, github.event.pull_request.title), '[ci-skip]')"
    permissions:
      id-token: write # needed for trusted publishing
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          submodules: recursive
          fetch-depth: 0
      - name: Setup .NET
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: 10
      - name: Build Project
        run: dotnet build
      - name: Test Changes
        run: dotnet test --blame-crash --blame-hang --blame-hang-timeout "30s"
      - name: Get Nightly Version
        id: nightly
        run: printf "version=%0*d" 5 $(( 1195 + 691 + ${{ github.run_number }} )) >> "$GITHUB_OUTPUT"
      - name: Login to NuGet
        uses: NuGet/login@v1
        id: nuget-login
        with:
          user: ${{ secrets.NUGET_USER }}
      - name: Package Project
        run: |
          # We add 1195 since it's the last build number AppVeyor used.
          # We add 686 since it's the last build number GitHub Actions used before the workflow was renamed.
          dotnet pack -c Release -o build -p:Nightly=${{ steps.nightly.outputs.version }}
          dotnet nuget push "build/*" --skip-duplicate -k ${{ steps.nuget-login.outputs.NUGET_API_KEY }} -s https://api.nuget.org/v3/index.json
        env:
          DISCORD_TOKEN: ${{ secrets.DISCORD_TOKEN }}
          DISCORD_GUILD_ID: ${{ secrets.DISCORD_GUILD_ID }}
          DISCORD_CHANNEL_ID: ${{ secrets.DISCORD_CHANNEL_ID }}
          DISCORD_CHANNEL_TOPIC: ${{ secrets.DISCORD_CHANNEL_TOPIC }}
          DISCORD_DOC_BOT_USER_ID: ${{ secrets.DISCORD_DOC_BOT_USER_ID }}
          DISCORD_BOT_USAGE_CHANNEL_ID: ${{ secrets.DISCORD_BOT_USAGE_CHANNEL_ID }}
          NUGET_URL: ${{ secrets.NUGET_URL }}
          GITHUB_URL : ${{ github.server_url }}/${{ github.repository }}
      - name: Upload Artifact
        uses: actions/upload-artifact@v4
        with:
          name: DSharpPlus-Nightly-${{ steps.nightly.outputs.version }}.zip
          path: ./build/*
      - name: Get commit message header
        id: get_commit_message
        run: |
          commit_message_header=$(git log -1 --pretty=%B | head -n 1)
          echo "message_header=${commit_message_header}" >> $GITHUB_OUTPUT
      - name: Discord Webhook
        uses: tsickert/discord-webhook@v4.0.0
        with:
          webhook-url: ${{ secrets.BUILD_WEBHOOK }}
          embed-title: DSharpPlus 5.0.0-nightly-${{ steps.nightly.outputs.version }}
          embed-description: |
            NuGet Link: [`5.0.0-nightly-${{ steps.nightly.outputs.version }}`](https://www.nuget.org/packages/DSharpPlus/5.0.0-nightly-${{ steps.nightly.outputs.version }})
            Commit hash: [`${{ github.sha }}`](https://github.com/${{github.repository}}/commit/${{github.sha}})
            Commit message: ``${{ steps.get_commit_message.outputs.message_header }}``
          embed-color: 7506394
  document-commit:
    name: Document Commit
    runs-on: ubuntu-latest
    needs: package-commit
    permissions:
      pages: write
      id-token: write
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          submodules: recursive
          fetch-depth: 0
      - name: Setup .NET
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: 9
      - name: Build Project
        run: |
          dotnet build
          dotnet tool install -g docfx --version 2.78.5 --allow-downgrade
          docfx docs/docfx.json
      - name: Upload GitHub Pages artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: ./docs/_site/
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4
      - name: Reload Discord documentation
        run: |
          curl -X POST -H 'Authorization: Bot ${{ secrets.DISCORD_TOKEN }}' -H 'Content-Type: application/json' -d '{"content":" reload"}' 'https://discord.com/api/v10/channels/379379415475552276/messages'

Web Proxy Viewer  |  New URL  |  Original Page