diff --git a/.github/workflows/crowdin-cleanup.yml b/.github/workflows/crowdin-cleanup.yml new file mode 100644 index 000000000000..9028a3d8d749 --- /dev/null +++ b/.github/workflows/crowdin-cleanup.yml @@ -0,0 +1,33 @@ +name: Crowdin Cleanup + +# **What it does**: Homogenizes localized non-translatable frontmatter after every push by the octoglot bot to the translations branch. +# **Why we have it**: So Crowdin doesn't break frontmatter in production. +# **Who does it impact**: Docs engineering and international expansion. + +on: + workflow_dispatch: + push: + branches: + - translations + +jobs: + homogenize_frontmatter: + name: Homogenize frontmatter + # Only run this after octoglot commits or when a Hubber is running this using the workflow dispatch button. + if: github.repository == 'github/docs-internal' && (github.event.pusher.name == 'octoglot' || github.event_name == 'workflow_dispatch') + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f + + - name: Homogenize frontmatter + run: script/i18n/homogenize-frontmatter.js + + - name: Check in homogenized files + uses: EndBug/add-and-commit@b3c7c1e078a023d75fb0bd326e02962575ce0519 + with: + # The arguments for the `git add` command + add: 'translations' + + # The message for the commit + message: 'Run script/i18n/homogenize-frontmatter.js' diff --git a/data/reusables/code-scanning/analyze-go.md b/data/reusables/code-scanning/analyze-go.md index 56f04cb3de4a..6ca3ab0c4f78 100644 --- a/data/reusables/code-scanning/analyze-go.md +++ b/data/reusables/code-scanning/analyze-go.md @@ -1 +1 @@ -{% data variables.product.prodname_codeql %} also runs a build for Go projects to set up the project. However, in contrast to the other compiled languages, all Go files in the repository are extracted, not just those that are built. Custom build commands are not supported for Go. \ No newline at end of file +{% data variables.product.prodname_codeql %} also runs a build for Go projects to set up the project. However, in contrast to the other compiled languages, all Go files in the repository are extracted, not just those that are built. You can use custom build commands to skip extracting Go files that are not touched by the build. diff --git a/data/reusables/code-scanning/autobuild-add-build-steps.md b/data/reusables/code-scanning/autobuild-add-build-steps.md index 40b9ba69836b..ebb353f04860 100644 --- a/data/reusables/code-scanning/autobuild-add-build-steps.md +++ b/data/reusables/code-scanning/autobuild-add-build-steps.md @@ -1 +1 @@ -If the C/C++, C#, or Java code in your repository has a non-standard build process, `autobuild` may fail. You will need to remove the `autobuild` step from the workflow, and manually add build steps. +If the C/C++, C#, or Java code in your repository has a non-standard build process, `autobuild` may fail. You will need to remove the `autobuild` step from the workflow, and manually add build steps. If you want to specify which Go files in your repository to extract, you will need to add build steps. diff --git a/script/i18n/homogenize-frontmatter.js b/script/i18n/homogenize-frontmatter.js index fe3564057c2e..134d0ae6bda5 100755 --- a/script/i18n/homogenize-frontmatter.js +++ b/script/i18n/homogenize-frontmatter.js @@ -53,8 +53,8 @@ async function main () { // Look for differences between the english and localised non-translatable properties let overwroteSomething = false - for (const prop in englishFrontmatter.data) { - if (!fm.schema.properties[prop].translatable && localisedFrontmatter.data[prop] !== englishFrontmatter.data[prop]) { + for (const prop in localisedFrontmatter.data) { + if (!fm.schema.properties[prop].translatable && englishFrontmatter.data[prop] && localisedFrontmatter.data[prop] !== englishFrontmatter.data[prop]) { localisedFrontmatter.data[prop] = englishFrontmatter.data[prop] overwroteSomething = true }