-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Create Actions Walkthrough #36
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
Merged
Merged
Changes from 1 commit
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
b544063
starting walkthrough docs
bryanmacfarlane 07eea1c
versioning
bryanmacfarlane 8877b12
more docs
bryanmacfarlane d9bd376
more docs
bryanmacfarlane ff51765
more docs
bryanmacfarlane 72bee16
more docs
bryanmacfarlane 0055bf7
more docs
bryanmacfarlane fcaea91
more docs
bryanmacfarlane File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,2 +1,27 @@ | ||
| # Versioning | ||
|
|
||
| Actions are downloaded and run from the GitHub graph of repos. The workflow references an action use a ref. | ||
|
|
||
| Examples: | ||
|
|
||
| ```yaml | ||
| steps: | ||
| - use: actions/setup-node@74bc508 | ||
| - user: actions/setup-node@v1 | ||
| - uses: actions/setup-node@master | ||
| ``` | ||
|
|
||
| Binding to the immutable sha1 of a released version is the safest for stability and security. | ||
|
|
||
| Binding to a specific major version allows for receiving critical fixes and security patches while still mainting compatibility and the assurance your workflow should still work. | ||
|
|
||
| Binding to master is convenient but if a new major version is release which breaks compatilibility, your workflow could break. | ||
|
|
||
| # Recommendations | ||
|
|
||
| 1. **Create a release**: use sematic versioning for the release (v1.0.9) | ||
| 2. **Update the major version tag**: move the major version tag (v1, v2, etc.) to point to the current release. | ||
| 3. **Compaitbility Breaks**: introduce a new major version tag (v2) if changes will break existing workflows. For example, changing inputs. | ||
|
|
||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
It might be helpful to link out to something like https://git-scm.com/book/en/v2/Git-Basics-Tagging here (coming from someone who isn't very familiar with git tagging).
Also, my understanding was that tags point to refs, can one point to a release? Might be helpful to include some commands here as well (e.g.
git tag -fa v1)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.
I think a release creates a tag. So I would create a release for v1.0.9 but then point the v1 tag to the ref that v1.0.9 pointed to. Right?
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.
Yeah, that sounds right to me. Maybe reword to "point to the ref of the current release"? And then the full command would be
git tag -fa v1 <commit of release>. Or, if the current release matches what is checked into master, then justgit tag -fa v1There 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.
Good suggestion. Done.