<commit_before>name: "SonarCloud"

on:
  workflow_run:
    workflows: [ Build ]
    types: [ completed ]

jobs:
  analyze:
    if: ${{ github.repository == 'xlate/staedi' && github.event.workflow_run.conclusion == 'success' }}
    runs-on: ubuntu-latest
    name: Analyze
    steps:
      - name: Display Github Event Context
        run: echo "$GITHUB_CONTEXT"
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}

      ## Checkout the source of the event that triggered this workflow, 
      ## PR commit (pull_request event) or commit (push event).
      - name: Checkout
        uses: actions/checkout@v3
        with:
          repository: ${{ github.event.workflow_run.head_repository.full_name }}
          ref: ${{ github.event.workflow_run.head_sha }}
          fetch-depth: 0

      ## Retrieve the `target` directory from the build job
      - name: Fetch Build Result
        uses: actions/github-script@v3.1.0
        with:
          script: |
            var artifacts = await github.actions.listWorkflowRunArtifacts({
               owner: context.repo.owner,
               repo: context.repo.repo,
               run_id: ${{ github.event.workflow_run.id }},
            });
            var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
              return artifact.name == "target"
            })[0];
            var download = await github.actions.downloadArtifact({
               owner: context.repo.owner,
               repo: context.repo.repo,
               artifact_id: matchArtifact.id,
               archive_format: 'zip',
            });
            var fs = require('fs');
            fs.writeFileSync('${{github.workspace}}/target.zip', Buffer.from(download.data));

      ## Extract the `target` directory from the build job
      - name: Extract Build Result
        run: |
          mkdir target && unzip target.zip -d target

      ## (PRs Only) Load the context from the build job
      - name: Read Build Context (PR)
        if: github.event.workflow_run.event == 'pull_request'
        id: build_context
        uses: juliangruber/read-file-action@v1
        with:
          path: ./target/build-context.json

      ## (PRs Only) Check out the base branch (target of the PR)
      - name: Checkout Base Branch (PR)
        if: github.event.workflow_run.event == 'pull_request'
        env:
          BASE_BRANCH: ${{ fromJson(steps.build_context.outputs.content).base_ref }}
        run: |
          git remote add upstream ${{ github.event.repository.clone_url }}
          git fetch upstream --prune --tags --force
          git checkout -B $BASE_BRANCH upstream/$BASE_BRANCH

          git checkout ${{ github.event.workflow_run.head_sha }}

          git clean -ffdx --exclude=target/ && git reset --hard HEAD

      - name: Setup JDK
        uses: actions/setup-java@v1
        with:
          java-version: 17

      - name: Cache SonarCloud packages
        uses: actions/cache@v3
        with:
          path: ~/.sonar/cache
          key: ${{ runner.os }}-sonar
          restore-keys: ${{ runner.os }}-sonar

      - name: Cache Maven packages
        uses: actions/cache@v3
        with:
          path: ~/.m2
          key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
          restore-keys: ${{ runner.os }}-m2

      ## (PRs Only) Run Sonar analysis against the results of the build job, providing PR information
      - name: SonarCloud Analysis (PR)
        if: github.event.workflow_run.event == 'pull_request'
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
        run: |
          mvn -B org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
            -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} \
            -Dsonar.pullrequest.key=${{ fromJson(steps.build_context.outputs.content).event.number }} \
            -Dsonar.pullrequest.branch=${{ fromJson(steps.build_context.outputs.content).head_ref }} \
            -Dsonar.pullrequest.base=${{ fromJson(steps.build_context.outputs.content).base_ref }}

      ## (Push Only) Run Sonar analysis against the results of the build job
      - name: SonarCloud Analysis
        if: github.event.workflow_run.event == 'push'
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
        run: |
          mvn -B org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
            -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} \
            -Dsonar.branch.name=${{ github.event.workflow_run.head_branch }}
<commit_msg>fix: remove conditional from `build_context` step<commit_after>name: "SonarCloud"

on:
  workflow_run:
    workflows: [ Build ]
    types: [ completed ]

jobs:
  analyze:
    if: ${{ github.repository == 'xlate/staedi' && github.event.workflow_run.conclusion == 'success' }}
    runs-on: ubuntu-latest
    name: Analyze
    steps:
      - name: Display Github Event Context
        run: echo "$GITHUB_CONTEXT"
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}

      ## Checkout the source of the event that triggered this workflow, 
      ## PR commit (pull_request event) or commit (push event).
      - name: Checkout
        uses: actions/checkout@v3
        with:
          repository: ${{ github.event.workflow_run.head_repository.full_name }}
          ref: ${{ github.event.workflow_run.head_sha }}
          fetch-depth: 0

      ## Retrieve the `target` directory from the build job
      - name: Fetch Build Result
        uses: actions/github-script@v3.1.0
        with:
          script: |
            var artifacts = await github.actions.listWorkflowRunArtifacts({
               owner: context.repo.owner,
               repo: context.repo.repo,
               run_id: ${{ github.event.workflow_run.id }},
            });
            var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
              return artifact.name == "target"
            })[0];
            var download = await github.actions.downloadArtifact({
               owner: context.repo.owner,
               repo: context.repo.repo,
               artifact_id: matchArtifact.id,
               archive_format: 'zip',
            });
            var fs = require('fs');
            fs.writeFileSync('${{github.workspace}}/target.zip', Buffer.from(download.data));

      ## Extract the `target` directory from the build job
      - name: Extract Build Result
        run: |
          mkdir target && unzip target.zip -d target

      ## Load the context from the build job - runs for any trigger to allow templates with `steps.build_context.outputs.content` 
      ## to be accepted by GitHub Actions.
      - name: Read Build Context (PR)
        id: build_context
        uses: juliangruber/read-file-action@v1
        with:
          path: ./target/build-context.json

      ## (PRs Only) Check out the base branch (target of the PR)
      - name: Checkout Base Branch (PR)
        if: github.event.workflow_run.event == 'pull_request'
        env:
          BASE_BRANCH: ${{ fromJson(steps.build_context.outputs.content).base_ref }}
        run: |
          git remote add upstream ${{ github.event.repository.clone_url }}
          git fetch upstream --prune --tags --force
          git checkout -B $BASE_BRANCH upstream/$BASE_BRANCH

          git checkout ${{ github.event.workflow_run.head_sha }}

          git clean -ffdx --exclude=target/ && git reset --hard HEAD

      - name: Setup JDK
        uses: actions/setup-java@v1
        with:
          java-version: 17

      - name: Cache SonarCloud packages
        uses: actions/cache@v3
        with:
          path: ~/.sonar/cache
          key: ${{ runner.os }}-sonar
          restore-keys: ${{ runner.os }}-sonar

      - name: Cache Maven packages
        uses: actions/cache@v3
        with:
          path: ~/.m2
          key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
          restore-keys: ${{ runner.os }}-m2

      ## (PRs Only) Run Sonar analysis against the results of the build job, providing PR information
      - name: SonarCloud Analysis (PR)
        if: github.event.workflow_run.event == 'pull_request'
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
        run: |
          mvn -B org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
            -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} \
            -Dsonar.pullrequest.key=${{ fromJson(steps.build_context.outputs.content).event.number }} \
            -Dsonar.pullrequest.branch=${{ fromJson(steps.build_context.outputs.content).head_ref }} \
            -Dsonar.pullrequest.base=${{ fromJson(steps.build_context.outputs.content).base_ref }}

      ## (Push Only) Run Sonar analysis against the results of the build job
      - name: SonarCloud Analysis
        if: github.event.workflow_run.event == 'push'
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
        run: |
          mvn -B org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \
            -Dsonar.scm.revision=${{ github.event.workflow_run.head_sha }} \
            -Dsonar.branch.name=${{ github.event.workflow_run.head_branch }}

{'fraction_non_alphanumeric': 0.1198886748019696, 'fraction_numerical': 0.0032113037893384713, 'mean_word_length': 2.0957587806494367, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3813706', 'n_tokens_mistral': 2873, 'n_tokens_neox': 2735, 'n_words': 639}