Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Publish step hanging with partial success - possible globbing issue

Offen
#375 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
42/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
github, javascript
Bereich
release

Rechercherichtung

Beginne in lib/publish.js an den Stellen, auf die sich die Zeilen 34 und 56 beziehen, und vergleiche anschließend die beiden Asset-Konfigurationen in .releaserc.yml. Reproduziere den Publish-Schritt mit dem '**'-Glob und mit dist/*.tgz und verwende die Debug-Ausgabe, um den Glob-Schritt zu isolieren. Als erledigt gilt die Aufgabe, wenn der konfigurierte Glob den Publish-Vorgang nicht mehr hängen lässt und das Release mit den vorgesehenen Assets abgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

My issue seems very similar to this closed issue - https://github.com/semantic-release/github/issues/193 - but since that is closed and a couple of years old I figured it might not be relevant.

Even with debug logging turned on, the logs go silent after this log message - https://github.com/semantic-release/github/blob/master/lib/publish.js#L34 . The draft release is created correctly, we just never seem to make it as far as https://github.com/semantic-release/github/blob/master/lib/publish.js#L56 as we never get any additional debug logging. So it seems perhaps there is an issue with the glob step.

The complete log entries from release that are relevant to github plugin are shown below.

[3:29:08 PM] [semantic-release] › ✔  Loaded plugin "verifyConditions" from "@semantic-release/github"
    '  export RELEASE_VERSION="$RELEASE_VERSION"\n' +
...
2021-05-26T15:29:08.805Z semantic-release:plugins options for @semantic-release/github/verifyConditions: {
  assets: [ { path: '**', label: 'distribution files' } ],
  failComment: false,
  successComment: false
}
...
2021-05-26T15:29:08.805Z semantic-release:plugins options for @semantic-release/github/verifyConditions: {
  assets: [ { path: '**', label: 'distribution files' } ],
  failComment: false,
  successComment: false
}
...
[3:29:08 PM] [semantic-release] › ✔  Loaded plugin "publish" from "@semantic-release/github"
...
[3:29:08 PM] [semantic-release] › ✔  Loaded plugin "addChannel" from "@semantic-release/github"
2021-05-26T15:29:08.811Z semantic-release:plugins options for @semantic-release/github/success: {
  assets: [ { path: '**', label: 'distribution files' } ],
  failComment: false,
  successComment: false
}
...
2021-05-26T15:29:08.812Z semantic-release:plugins options for @semantic-release/github/fail: {
  assets: [ { path: '**', label: 'distribution files' } ],
  failComment: false,
  successComment: false
}
...
[3:29:08 PM] [semantic-release] › ✔  Loaded plugin "success" from "@semantic-release/github"
...
[3:29:08 PM] [semantic-release] › ✔  Loaded plugin "fail" from "@semantic-release/github"
...
[3:29:13 PM] [semantic-release] › ℹ  Start step "verifyConditions" of plugin "@semantic-release/github"
[3:29:13 PM] [semantic-release] [@semantic-release/github] › ℹ  Verify GitHub authentication (https://api.github.com)
[3:29:13 PM] [semantic-release] › ✔  Completed step "verifyConditions" of plugin "@semantic-release/github"
...
[3:29:20 PM] [semantic-release] › ℹ  Start step "publish" of plugin "@semantic-release/github"
2021-05-26T15:29:20.072Z semantic-release:github release object: {
  owner: 'onelive-dev',
  repo: 'OLX',
  tag_name: 'v1.5.0-cicd.3',
  target_commitish: 'cicd',
  name: 'v1.5.0-cicd.3',
  body: '# [1.5.0-cicd.3](https://github.com/onelive-dev/OLX/compare/v1.5.0-cicd.2...v1.5.0-cicd.3) (2021-05-26)\n' +
    '\n' +
    '\n' +
    '### Bug Fixes\n' +
    '\n' +
    '* **cicd:** enable semantic-release debug + force release ([d262911](https://github.com/onelive-dev/OLX/commit/d26291168b6b82d16d56eed242c12ef60871e8ce))\n' +
    '\n' +
    '\n' +
    '\n',
  prerelease: true
}

Our .releaserc.yml file is as follows

branches:
  - master
# @todo enable automated release for all branches once some outstanding branches with non-compliant names are closed
#  - name: '**'
#    prerelease: true
  - name: cicd
    prerelease: true
plugins:
  - '@semantic-release/commit-analyzer'
  - '@semantic-release/release-notes-generator'
  - '@semantic-release/changelog'
  - - '@semantic-release/exec'
    # This hook is run only if a release is to be made
    # We create source-able file so future workflow steps can easily get to release metadata
    - prepareCmd: |
        RELEASE_VERSION="${nextRelease.version}"
        echo "Version to be released: $RELEASE_VERSION"
        cat > version.sh <<-EOF
          #!/bin/bash
          export RELEASE_VERSION="$RELEASE_VERSION"
          export RELEASE_CHANNEL="${nextRelease.channel}"
          export RELEASE_HEAD="${nextRelease.gitHead}"
          export RELEASE_NOTES="${nextRelease.notes}"
          export RELEASE_TAG="${nextRelease.gitTag}"
          export RELEASE_TYPE="${nextRelease.type}"
        EOF
  - - '@semantic-release/npm'
    - npmPublish: false
  - - '@semantic-release/git'
    - assets:
        - CHANGELOG.md
        - package.json
        - package-lock.json
  - - '@semantic-release/github'
    - assets:
        - path: '**'
          label: distribution files
      failComment: false
      successComment: false

Note I am able to make releases by making npm plugin generate a tarball and explicitly using that tarball in assets config. So a config like this works.

branches:
  - master
# @todo enable automated release for all branches once some outstanding branches with non-compliant names are closed
#  - name: '**'
#    prerelease: true
  - name: cicd
    prerelease: true
plugins:
  - '@semantic-release/commit-analyzer'
  - '@semantic-release/release-notes-generator'
  - '@semantic-release/changelog'
  - - '@semantic-release/exec'
    # This hook is run only if a release is to be made
    # We create source-able file so future workflow steps can easily get to release metadata
    - prepareCmd: |
        RELEASE_VERSION="${nextRelease.version}"
        echo "Version to be released: $RELEASE_VERSION"
        cat > version.sh <<-EOF
          #!/bin/bash
          export RELEASE_VERSION="$RELEASE_VERSION"
          export RELEASE_CHANNEL="${nextRelease.channel}"
          export RELEASE_HEAD="${nextRelease.gitHead}"
          export RELEASE_NOTES="${nextRelease.notes}"
          export RELEASE_TAG="${nextRelease.gitTag}"
          export RELEASE_TYPE="${nextRelease.type}"
        EOF
  - - '@semantic-release/npm'
    - npmPublish: false
      tarballDir: dist
  - - '@semantic-release/git'
    - assets:
        - CHANGELOG.md
        - package.json
        - package-lock.json
  - - '@semantic-release/github'
    - assets:
        - path: dist/*.tgz
          label: distribution files
Vorherrschende Sprache
JavaScript
Sterne
537
Forks
149
Ø Merge
25 Min.
Gemergte PRs (30 T.)
9

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus semantic-release/github

Alle Issues in semantic-release/github

Ähnliche Issues

Weitere Issues zu JavaScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.