Production Releases (or "Prod Releases", "Prod Builds") are installable instances of Stencil Playwright that are:
- Published to the npm registry for distribution within and outside the Stencil team
- Meant for general consumption by users
Only members of the Stencil team may create prod builds of Stencil Playwright. To publish the package:
- Call a
code-freeze
on this project in the Stencil team channel - Check that the Merge Queue is empty (nothing is queued for merge).
- Navigate to the Production Release PR Creation GitHub Action in your browser.
- Select the 'Run Workflow' dropdown on the right hand side of the page
- The dropdown will ask you which branch to use the workflow from and which version should be published.
- Choose 'main' for the branch name.
- Stencil Playwright follows semantic versioning. Review the changes on
main
and select the most appropriate release type.
- Hit "Run Workflow"
- Navigate to the pull request that was opened as a result of running the release PR creation workflow.
- Complete the following (temporary) steps:
- Close the pull request and reopen it. This allows actions that the team gates pull requests on to run.
- Mark the pull request as ready for review.
- Ask the Stencil team for an approval on the PR. Only one approval is required for pull requests that only include the version bump/prerelease commit.
- Once approved, add it to the merge queue.
⚠️ Wait for the pull request to land before continuing to the next step.⚠️ - Navigate to the Stencil Playwright Prod Release GitHub Action in your browser.
- Select the 'Run Workflow' dropdown on the right hand side of the page
- The dropdown will ask you which git branch & tag to publish the project under.
- Use the
main
branch, unless you're testing changes to the pipeline itself. Note: Using a non-main
branch does not necessarily mean changes to actions in non-main
will be pulled! Always use caution when making changes to actions this workflow uses. - For production releases, select 'latest'. For testing the workflow itself, select 'dev'.
- Use the
- Select 'Run Workflow'
- Allow the workflow to run. Upon completion, the output of the 'publish-npm' action will report the published version string.
- Navigate to the project's Releases Page
- Select 'Draft a new release'
- You will need to create git tag for the version that was just published.
- Select the tag of the version you just created in the 'Choose a tag' dropdown
- Click "Generate release notes"
- Ensure this is the latest release
- Hit 'Publish release'
Following a successful run of the workflow, the package can be installed from the npm registry like any other package.
Development Releases (or "Dev Releases", "Dev Builds") are installable instances of Stencil Playwright that are:
- Published to the npm registry for distribution within and outside the Stencil team
- Built using the same infrastructure as production releases, with less safety checks
- Used to verify a fix or change to the project prior to a production release
Only members of the Stencil team may create dev builds of Stencil Playwright. To publish the package:
- Navigate to the Stencil Playwright Dev Release GitHub Action in your browser.
- Select the 'Run Workflow' dropdown on the right hand side of the page
- The dropdown will ask you for a branch name to publish from. Any branch may be used here.
- Select 'Run Workflow'
- Allow the workflow to run. Upon completion, the output of the 'publish-npm' action will report the published version string.
Following a successful run of the workflow, the package can be installed from the npm registry like any other package.
Dev Builds are published to the NPM registry under the @stencil/playwright
scope.
Unlike production builds, dev builds use a specially formatted version string to express its origins.
Dev builds follow the format BASE_VERSION-dev.EPOCH_DATE.SHA
, where:
BASE_VERSION
is the latest production release changes to the build were based off ofEPOCH_DATE
is the number of seconds since January 1st, 1970 in UTCSHA
is the git short SHA of the commit used in the release
As an example: 2.1.0-dev.1677185104.7c87e34
was built:
- With v2.1.0 as the latest production build at the time of the dev build
- On Fri, 26 Jan 2024 13:48:17 UTC
- With the commit
7c87e34