-
Notifications
You must be signed in to change notification settings - Fork 48
Publishing a New Version
jonsnyder edited this page Apr 28, 2022
·
15 revisions
Only Adobe employees are eligible to publish new versions.
- Navigate to the Initialize Intended Release Workflow on GitHub. Click "Run workflow". Choose "main" as the branch, and type in the appropriate release type (major, minor, or patch).
- Wait for the workflow to complete.
- Navigate to the Release Project. Drag the card that was just created from the "New" column to the "Alpha" column. Alpha releases are used before the planned version is feature complete. This step can be skipped if the version is already feature complete.
- Ensure the deploy action completes successfully.
- Test features and fix any bugs with pull requests. New commits on main will trigger a new alpha version automatically.
- Navigate to the Release Project. Drag the release card to the "Beta" column. Beta releases are used when the planned version is feature complete.
- Ensure the deploy action completes successfully.
- Fork https://git.corp.adobe.com/AdobeDocs/experience-platform.en if you haven't already, add release notes to
help/edge/release-notes.md
(usually determined by looking through merged pull requests and commits), then create a pull request against the main fork. - Test features and fix any bugs with pull requests. New commits on main will trigger a new alpha version automatically.
- Ensure the release notes have been merged.
- Navigate to the Release Project. Drag the release card to the "Release" column.
- Navigate to the [Actions tab]((https://github.com/adobe/alloy/actions). Approve the production deployment.
- Ensure the deploy action completes successfully.
Congratulations! You've published a new version. Now, be sure to release a new version of the Launch extension.
In the unlikely event of a failure during a deploy, the deploy script can be re-run. Simply manually start the "deployRelease" workflow with the correct version number. The deploy script has been built to check at each step to see if that step has already run successfully, so rerunning the script is safe. Alternately, for "alpha" or "beta" releases, you can manually run the "Trigger Deployment" workflow to release an incremented prerelease version.
If the release process is still not working, follow the manual steps below:
- Make sure you don't have an active release card (i.e. a card in the Alpha or Beta columns). We don't want the commits from these manual steps to trigger a new release.
- Make sure you're on the
main
branch and have pulled the latest changes. - Run
npm ci
to ensure you have the latest dependencies. - Version and tag Alloy by running
npm version major/minor/patch --git-tag-version=false
. Whether you usemajor
,minor
, orpatch
depends on what has changed since the last release and how that matches semantic versioning. We don't want to tag the version because we need to update the dev dependency in package.json so that the automated tests run against the correct NPM version. - Run
git add package.json package-lock.json
. - Run
git commit -m "${version}"
where ${version} is the version - Run
git push origin main
. - We do not have a manual method for updating NPM. If GitHub Actions are not working, and you absolutely need to release, contact Simon Macdonald for assistance. The @adobe org secret required for uploading to NPM is shared to the repo, but we cannot access it outside of a Github workflow. There is a workflow that you can use to publish to NPM. Navigate to the Publish to NPM workflow action, and click the Run Workflow button, selecting 'main' as the branch.
- Run
npm install @adobe/alloy@${version} --save-dev
replacing ${version} with the new version. - Run
git add package.json package-lock.json
- Run
git commit -m "update self devDependency to ${version}"
replacing ${version} - Run
git push origin main
- Run
git tag -a "v${version}" -m "${version}"
replacing ${version} - Run
git push origin v${version}
- Run
npm run build
- Obtain Akamai NetStorage Upload capabilities by sending a request to Jeffrey Walter or Joel Stachowicz and include your public RSA key. This is normally found in
~/.ssh/id_rsa.pub
. If you don't have a key, you'll need to generate one by runningssh-keygen -t rsa -b 2048 -C "[email protected]"
. (NetStorage only works with 2048 bit key length). - Run
sftp -oHostKeyAlgorithms=+ssh-dss -oStrictHostKeyChecking=no [email protected]:/prod/alloy
- In the sftp prompt, run
mkdir ${version}
,cd ${version}
,put ./dist/alloy.js
,put ./dist/alloy.min.js
, andbye
replacing ${version}. - Ensure the files are available on the CDN. https://cdn1.adoberesources.net/alloy/${version}/alloy.js, and https://cdn1.adoberesources.net/alloy/${version}/alloy.min.js
- Navigate to Draft a new release.
- Type the version number in the tag field.
- Type a title and description for the release.
- Add
alloy.js
andalloy.min.js
files from the ./dist directory.