Auto: Pembuatan label menambahkan label default yang tidak diinginkan

Dibuat pada 22 Apr 2021  ·  15Komentar  ·  Sumber: intuit/auto

Jelaskan bugnya
Ketika saya menjalankan npx auto create-labels dan memiliki konfigurasi label yang ditentukan dalam package.json saya, saya berharap bahwa hanya label itu yang dibuat, BUKAN label default tambahan yang ditentukan oleh auto. Ini dulu kasusnya tetapi di suatu tempat di sepanjang garis berhenti bekerja dengan benar.

Untuk Mereproduksi

Menggunakan konfigurasi berikut:

"auto": {
    "baseBranch": "master",
    "prereleaseBranches": [
      "next"
    ],
    "plugins": [
      [
        "npm",
        {
          "legacyAuth": true,
          "setRcToken": false
        }
      ],
      "released",
      "microsoft-teams"
    ],
    "shipit": {
      "noChangelog": true
    },
    "labels": [
      {
        "name": "breaking",
        "changelogTitle": "🚨  Breaking Changes",
        "description": "Backwards incompatible enhancement or feature.",
        "releaseType": "major",
        "color": "#c5000b"
      },
      {
        "name": "feature",
        "changelogTitle": "🚀  Features",
        "description": "A new feature.",
        "releaseType": "minor",
        "color": "#00ff00"
      },
      {
        "name": "build",
        "changelogTitle": "📦  Build Process",
        "description": "Changes to the build process.",
        "releaseType": "patch",
        "color": "#4a4a4a"
      },
      {
        "name": "chore",
        "changelogTitle": "🏗  Miscellaneous",
        "description": "Additional, uncategorized changes.",
        "releaseType": "patch",
        "color": "#ff00ff",
        "default": true
      },
      {
        "name": "ci",
        "changelogTitle": "🔖  Continuous Integration",
        "description": "Changes to CI configuration files and scripts.",
        "releaseType": "patch",
        "color": "#f1a60e"
      },
      {
        "name": "docs",
        "changelogTitle": "📖  Documentation",
        "description": "Documentation updates and changes.",
        "releaseType": "patch",
        "color": "#870048"
      },
      {
        "name": "fix",
        "changelogTitle": "🐛  Bug Fixes",
        "description": "A bug fix.",
        "releaseType": "patch",
        "color": "#6000ff"
      },
      {
        "name": "perf",
        "changelogTitle": "⚡️  Performance",
        "description": "A code change that improves performance.",
        "releaseType": "patch",
        "color": "#00e4ff"
      },
      {
        "name": "refactor",
        "changelogTitle": "♻️  Refactoring",
        "description": "A code change that neither fixes a bug nor adds a feature.",
        "releaseType": "patch",
        "color": "#00b58d"
      },
      {
        "name": "revert",
        "changelogTitle": "🚧  Reverting",
        "description": "Reverts a previous commit.",
        "releaseType": "patch",
        "color": "#ff9000"
      },
      {
        "name": "style",
        "changelogTitle": "🎨  Style",
        "description": "Code style (white-space, formatting, missing semi-colons, etc).",
        "releaseType": "patch",
        "color": "#0051d8"
      },
      {
        "name": "test",
        "changelogTitle": "✅  Testing",
        "description": "Adding missing tests or correcting existing tests.",
        "releaseType": "patch",
        "color": "#127f00"
      },
      {
        "name": "upgrade",
        "changelogTitle": "⚙️  Dependencies",
        "description": "Dependency upgrades.",
        "releaseType": "minor",
        "color": "#00787f"
      }
    ]
  }

Ini adalah outputnya:

Created labels: breaking, feature, build, chore, ci, docs, fix, perf, refactor, revert, style, test, upgrade, major, minor, patch, skip-release, internal, documentation, tests, dependencies, performance, released, prerelease

Perilaku yang diharapkan

Hanya label yang diuraikan dalam konfigurasi di atas yang akan dibuat. Apa pun setelah label upgrade dalam daftar keluaran di atas tidak diinginkan dan tidak boleh dibuat.

Tangkapan layar

Informasi lingkungan:

Environment Information:

"auto" version: v10.25.1
"git"  version: v2.29.2
"node" version: v12.13.0

✔ Labels configured on GitHub project

Konteks tambahan

bug released

Komentar yang paling membantu

@reintroducing Saya sangat menyukai opsi itu! Default hanya dapat membuat label tertentu. Bendera baru untuk menyertakan yang lain dan menggunakan logika penimpaan. Ini akan menjadi perubahan besar pada perilaku. Bagaimana dengan kebalikannya --no-include-defaults ?

Semua 15 komentar

Saya baru saja akan mengajukan masalah yang sama. Dokumen tidak jelas tentang mengganti label default. Apakah ada cara untuk mengatakan bahwa saya hanya ingin label yang ditentukan dalam konfigurasi dan tidak ada yang default?

Ada opsi overwrite pada konfigurasi label yang akan menimpa label default yang cocok. IDK jika itu akan berfungsi untuk label zon-semver. bisakah kamu mencobanya? Jika dokumen tidak cukup jelas tentang ini, lebih dari bersedia menerima PR

@hipstersmoothie ketika melihat https://intuit.github.io/auto/docs/generated/create-labels Saya tidak melihat hal seperti itu. Di mana dokumen yang berkaitan dengan opsi ini?

@hipstersmoothie Jadi melihat dokumen itu, saya kira saya tidak jelas tentang fungsionalitas opsi itu. Saya akan berasumsi bahwa jika saya menambahkan itu ke setiap label saya di konfigurasi saya, itu hanya akan menimpa label major , minor , dan patch dengan milik saya, tetapi akan tidak membersihkan yang lain yang sedang dibuat selain itu. Saya pikir tambahan yang bagus adalah menambahkan opsi ke perintah create labels yang mengatakan include-defaults dan disetel ke true/false (true secara default jika Anda ingin mempertahankan kompatibilitas ke belakang). Pikiran?

Saya setuju dengan @reintroducing. Saya tahu tentang opsi overwrite , tetapi ini hanya tentang menyesuaikan label default jika saya memahaminya dengan benar. Kami menginginkan opsi untuk membuat _only_ label yang kami konfigurasikan.

@reintroducing Saya sangat menyukai opsi itu! Default hanya dapat membuat label tertentu. Bendera baru untuk menyertakan yang lain dan menggunakan logika penimpaan. Ini akan menjadi perubahan besar pada perilaku. Bagaimana dengan kebalikannya --no-include-defaults ?

@hipstersmoothie ya, maaf penjelasan saya tidak jelas, saya menyarankan hal yang sama dengan Anda tetapi secara terbalik dan itu akan benar secara default, lol, untuk menghindari perubahan yang melanggar. milik Anda sebenarnya lebih bersih dan lebih selaras dengan cara semua opsi lain dilakukan. Saya siap untuk itu!

Saya mungkin tidak harus melakukan ini sampai akhir pekan. Jika Anda mengirimkan PR, saya akan meninjau dan menggabungkan petunjuk

Saya mencoba untuk memperbaikinya: https://github.com/intuit/auto/pull/1966 , tetapi dengan cara yang sedikit berbeda. Lihat penjelasannya disana.


:rocket: Masalah dirilis di v10.26.0 :rocket:

@laughedelic @hipstersmoothie @adierkens Saya baru saja mencoba memutakhirkan ini dan saya melihat masalah berikut di CI di mana kami membuat burung kenari secara otomatis pada PR baru:

Screen Shot 2021-04-29 at 2 32 48 PM

Perlu dicatat bahwa konfigurasi sebenarnya ada dalam file package/auto/config.json dan diperluas di root repo kami menggunakan yang berikut:

"auto": {
    "extends": "./packages/auto/config.json"
  },

Namun, ini berfungsi dengan baik sebelum memperbarui ke versi terbaru.

Ini file config.json lengkapnya:

{
  "baseBranch": "master",
  "noDefaultLabels": true,
  "prereleaseBranches": ["next"],
  "plugins": [
    [
      "npm",
      {
        "legacyAuth": true,
        "setRcToken": false
      }
    ],
    "released",
    "microsoft-teams"
  ],
  "shipit": {
    "noChangelog": true
  },
  "labels": [
    {
      "name": "breaking",
      "changelogTitle": "🚨  Breaking Changes",
      "description": "Backwards incompatible enhancement or feature.",
      "releaseType": "major",
      "color": "#c5000b"
    },
    {
      "name": "feature",
      "changelogTitle": "🚀  Features",
      "description": "A new feature.",
      "releaseType": "minor",
      "color": "#00ff00"
    },
    {
      "name": "build",
      "changelogTitle": "📦  Build Process",
      "description": "Changes to the build process.",
      "releaseType": "patch",
      "color": "#4a4a4a"
    },
    {
      "name": "chore",
      "changelogTitle": "🏗  Miscellaneous",
      "description": "Additional, uncategorized changes.",
      "releaseType": "patch",
      "color": "#ff00ff",
      "default": true
    },
    {
      "name": "ci",
      "changelogTitle": "🔖  Continuous Integration",
      "description": "Changes to CI configuration files and scripts.",
      "releaseType": "patch",
      "color": "#f1a60e"
    },
    {
      "name": "docs",
      "changelogTitle": "📖  Documentation",
      "description": "Documentation updates and changes.",
      "releaseType": "patch",
      "color": "#870048"
    },
    {
      "name": "fix",
      "changelogTitle": "🐛  Bug Fixes",
      "description": "A bug fix.",
      "releaseType": "patch",
      "color": "#6000ff"
    },
    {
      "name": "perf",
      "changelogTitle": "⚡️  Performance",
      "description": "A code change that improves performance.",
      "releaseType": "patch",
      "color": "#00e4ff"
    },
    {
      "name": "refactor",
      "changelogTitle": "♻️  Refactoring",
      "description": "A code change that neither fixes a bug nor adds a feature.",
      "releaseType": "patch",
      "color": "#00b58d"
    },
    {
      "name": "revert",
      "changelogTitle": "🚧  Reverting",
      "description": "Reverts a previous commit.",
      "releaseType": "patch",
      "color": "#ff9000"
    },
    {
      "name": "style",
      "changelogTitle": "🎨  Style",
      "description": "Code style (white-space, formatting, missing semi-colons, etc).",
      "releaseType": "patch",
      "color": "#0051d8"
    },
    {
      "name": "test",
      "changelogTitle": "✅  Testing",
      "description": "Adding missing tests or correcting existing tests.",
      "releaseType": "patch",
      "color": "#127f00"
    },
    {
      "name": "upgrade",
      "changelogTitle": "⚙️  Dependencies",
      "description": "Dependency upgrades.",
      "releaseType": "minor",
      "color": "#00787f"
    }
  ]
}

Mungkinkah opsi baru perlu ditambahkan ke validator dan sesederhana itu? https://github.com/intuit/auto/blob/main/packages/core/src/types.ts#L54

Mungkinkah opsi baru perlu ditambahkan ke validator dan sesederhana itu? https://github.com/intuit/auto/blob/main/packages/core/src/types.ts#L54

Ini masuk akal! Aku tidak tahu tentang itu.

@reintroducing Saya menambahkannya di sini: https://github.com/intuit/auto/pull/1971. Tapi saya tidak tahu apakah itu harus ditambahkan di tempat lain.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat