Firstly, thanks for wanting to contribute to the Titanium Atom plugin! This file will let you know how to do that.
- To be safe, remove or move your existing installation at
~/.atom/packages/appcelerator-titanium
- Fork this repo to your GitHub account and clone your fork.
cd
into and runnpm install
in your local repository.- Run
apm link
to link the package to your Atom application.- See this note in the apm repo if you're unable to run
apm
- See this note in the apm repo if you're unable to run
- Open a Titanium project in atom and the package should be loaded.
When making changes in the source code, make sure to reload the atom window you're test in to see the changes.
When sending in a PR please make sure you do the following:
- Commit using
npm run commit
- This ensure that the commit follows the Conventional Commits standard used by the project. This is validated on a
git commit
using git hooks via husky.
- This ensure that the commit follows the Conventional Commits standard used by the project. This is validated on a
npm run lint
passes- This is also validated on a
git commit
using git hooks via husky.
- This is also validated on a
- When making the PR, please make sure to contain as much relevant info as possible in the PR body.
- Make sure to sign the Axway CLA.
- Open the PR against
master
- If this PR is most likely going to be a larger piece of work then we will change the target branch ourselves, and merge it into a feature branch first
Releasing should generally be done through GitHub actions which is described below. However the "manual" process is also documented.
- Navigate to the Release workflow
- Trigger a workflow run and wait for the run to finish
- Verify the release is published on the Atom registry and GitHub releases
To release the extension manually, the steps below need to be followed. Manual release should only be done if the automated release process cannot be achieved (for example if Jenkins is down).
- Ensure that your local
master
branch is completely up to date with the main repo. - Run
npm run release
, which uses semantic-release. It requires aPULSAR_ACCESS_TOKEN
andGH_TOKEN
environment variable and will do the following:- Bump the version based on commit messages, updates the changelog, commits the files and tags a new release.
- Pushes the changes and tag to the main repo
- Creates a new release based on that tag on GitHub with the entry from the changelog
- Runs
pulsar --package publish
to register that tag on the Atom marketplace
- 🎉