-
Notifications
You must be signed in to change notification settings - Fork 0
Rename the rolling channel from preview to nightly #27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,38 +1,44 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Hand-written (not auto-generated). The "preview" channel — per-commit builds of develop. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Hand-written (not auto-generated). The "nightly" channel — per-commit builds of develop. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Counterpart to the framework repo's publish-packages-preview.yml, which pushes a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # -preview prerelease to GitHub Packages on every commit to main. The extension can't | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # do the same thing: GitHub Packages does not speak the VS Code gallery protocol, and | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # neither marketplace accepts a semver prerelease version. So the preview channel here | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # neither marketplace accepts a semver prerelease version. So the nightly channel here | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # is a ROLLING GitHub pre-release whose asset is replaced on every push. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Why a rolling release rather than workflow artifacts: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # - the download URL is stable, so installing is one command with no run-hunting: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # gh release download preview -R Fallout-build/Fallout.Extensions.VSCode -p '*.vsix' --clobber | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # gh release download nightly -R Fallout-build/Fallout.Extensions.VSCode -p '*.vsix' --clobber | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # code --install-extension fallout.vsix | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # or, from a clone: dotnet fallout InstallVsix | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # - workflow artifacts expire and need the run ID to fetch. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # The tag is `preview`, deliberately NOT matching `v*`. Two consequences, both wanted: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # The tag is `nightly`, deliberately NOT matching `v*`. Two consequences, both wanted: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # publish.yml (which triggers on v* only) does not fire, and the v* tag-protection | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # ruleset does not apply to a tag this workflow force-moves on every push. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # It was `preview` until GitHub's immutable releases were briefly enabled on this repo. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # An immutable release reserves its tag permanently: deleting the release and the tag | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # does not free the name, and recreating it fails with "creations being restricted". | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # `preview` is therefore unusable here forever. Immutability and a force-moved tag are | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # fundamentally incompatible — if it is ever re-enabled, this channel needs per-commit | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # tags instead of a rolling one, not another rename. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # The .vsix is marked as a marketplace pre-release, so if it is ever sideloaded next to | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # a stable build VS Code shows it as pre-release rather than silently as a release. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # See docs/ci.md for how this fits with the other workflows. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # NOTE: this publishes NOTHING to any marketplace. It is the GitHub pre-stage only. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: preview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: nightly | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| branches: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # develop is the integration trunk under GitFlow, so it is what "latest" means. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # main only ever receives release and hotfix merges, and those are tagged, so a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # preview build of main would duplicate a release build of the same commit. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # nightly build of main would duplicate a release build of the same commit. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - develop | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| paths-ignore: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - '**/*.md' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -44,18 +50,18 @@ permissions: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| concurrency: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Never cancel in progress: a cancelled run could leave the rolling release holding a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # half-uploaded asset. Queue instead, so the newest push wins by finishing last. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| group: preview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| group: nightly | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| cancel-in-progress: false | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| preview: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: preview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| nightly: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: nightly | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| permissions: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| contents: write | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| environment: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| name: github-releases | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| url: https://github.com/Fallout-build/Fallout.Extensions.VSCode/releases/tag/preview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| url: https://github.com/Fallout-build/Fallout.Extensions.VSCode/releases/tag/nightly | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+53
to
+64
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win Document why the workflow needs write access. Add a short comment explaining that This follows the static-analysis warning for undocumented permissions. Proposed documentation permissions:
+ # Required to move the nightly tag and update the rolling GitHub Release.
contents: write📝 Committable suggestion
Suggested change
🧰 Tools🪛 zizmor (1.29.0)[warning] 61-61: permissions without explanatory comments (undocumented-permissions): needs an explanatory comment (undocumented-permissions) 🤖 Prompt for AI AgentsSource: Linters/SAST tools |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - uses: actions/checkout@v7 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -105,15 +111,15 @@ jobs: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo "version=$VERSION" >> "$GITHUB_OUTPUT" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo "Packaged version: $VERSION" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: 'Update the rolling preview release' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - name: 'Update the rolling nightly release' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| env: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| VERSION: ${{ steps.version.outputs.version }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| set -euo pipefail | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| NOTES=$(cat <<EOF | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Rolling preview build of \`develop\` — **replaced on every push**, so this release is not a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Rolling nightly build of \`develop\` — **replaced on every push**, so this release is not a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| durable reference. For a fixed version, use a tagged release instead. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| | | | | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -125,7 +131,7 @@ jobs: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Not published to any marketplace. Install with: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| \`\`\`bash | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| gh release download preview -R ${GITHUB_REPOSITORY} -p '*.vsix' --clobber | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| gh release download nightly -R ${GITHUB_REPOSITORY} -p '*.vsix' --clobber | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| code --install-extension fallout.vsix --force | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| \`\`\` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -136,15 +142,15 @@ jobs: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Move the tag to this commit. The release keeps its identity; only the target | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # and asset change, so the download URL stays valid. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| git tag -f preview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| git push -f origin refs/tags/preview | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| git tag -f nightly | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| git push -f origin refs/tags/nightly | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if gh release view preview > /dev/null 2>&1; then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| gh release edit preview --target "$GITHUB_SHA" --notes "$NOTES" --prerelease | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| gh release upload preview fallout.vsix --clobber | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if gh release view nightly > /dev/null 2>&1; then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| gh release edit nightly --target "$GITHUB_SHA" --notes "$NOTES" --prerelease | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| gh release upload nightly fallout.vsix --clobber | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| else | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| gh release create preview \ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --title 'Preview (rolling)' \ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| gh release create nightly \ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --title 'Nightly (rolling)' \ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --target "$GITHUB_SHA" \ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --notes "$NOTES" \ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --prerelease \ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: Fallout-build/Fallout.Extensions.VSCode
Length of output: 1933
🏁 Script executed:
Repository: Fallout-build/Fallout.Extensions.VSCode
Length of output: 5121
🏁 Script executed:
Repository: Fallout-build/Fallout.Extensions.VSCode
Length of output: 12241
Update the active preview documentation.
The
preview.ymlworkflow is removed.publish.ymlruns on versionedv*tag pushes and manual dispatches. ChangeCONTRIBUTING.md:76to describe the rollingnightlyrelease. Keep historicalpreviewreferences.🤖 Prompt for AI Agents