Skip to content

Commit 9bec554

Browse files
author
Calvin Allen
committed
Update README
1 parent dd91f85 commit 9bec554

1 file changed

Lines changed: 28 additions & 94 deletions

File tree

README.md

Lines changed: 28 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,39 @@
1-
<p align="center">
2-
<a href="https://github.com/actions/typescript-action/actions"><img alt="typescript-action status" src="https://github.com/actions/typescript-action/workflows/build-test/badge.svg"></a>
3-
</p>
1+
# calvinallen/action-vs-marketplace-publish
42

5-
# Create a JavaScript Action using TypeScript
3+
Github Action to publish your Visual Studio extension to the marketplace
64

7-
Use this template to bootstrap the creation of a TypeScript action.:rocket:
5+
## Usage
86

9-
This template includes compilation support, tests, a validation workflow, publishing, and versioning guidance.
7+
You can use the VS Marketplace Publish GitHub Action by configuring a YAML-based workflow file, e.g. .github/workflows/deploy.yml.
108

11-
If you are new, there's also a simpler introduction. See the [Hello World JavaScript Action](https://github.com/actions/hello-world-javascript-action)
9+
> *This action only works on a Windows-based runner*
1210
13-
## Create an action from this template
11+
## Publish a local VSIX File
1412

15-
Click the `Use this Template` and provide the new repo details for your action
13+
```yml
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v2
1617

17-
## Code in Main
18+
- name: Visual Studio Marketplace Publisher
19+
uses: CalvinAllen/action-vs-marketplace-publish@v1
20+
with:
21+
# REQUIRED
22+
marketplace-pat: ${{ secrets.vs_pat }}
23+
publish-manifest-path: ./src/vsixManifest.json
24+
vsix-path: ./src/outputFolder/Extension.vsix
1825

19-
> First, you'll need to have a reasonably modern version of `node` handy. This won't work with versions older than 9, for instance.
20-
21-
Install the dependencies
22-
```bash
23-
$ npm install
24-
```
25-
26-
Build the typescript and package it for distribution
27-
```bash
28-
$ npm run build && npm run package
29-
```
30-
31-
Run the tests :heavy_check_mark:
32-
```bash
33-
$ npm test
34-
35-
PASS ./index.test.js
36-
✓ throws invalid number (3ms)
37-
wait 500 ms (504ms)
38-
test runs (95ms)
39-
40-
...
41-
```
42-
43-
## Change action.yml
44-
45-
The action.yml defines the inputs and output for your action.
46-
47-
Update the action.yml with your name, description, inputs and outputs for your action.
48-
49-
See the [documentation](https://help.github.com/en/articles/metadata-syntax-for-github-actions)
50-
51-
## Change the Code
52-
53-
Most toolkit and CI/CD operations involve async operations so the action is run in an async function.
54-
55-
```javascript
56-
import * as core from '@actions/core';
57-
...
58-
59-
async function run() {
60-
try {
61-
...
62-
}
63-
catch (error) {
64-
core.setFailed(error.message);
65-
}
66-
}
67-
68-
run()
69-
```
70-
71-
See the [toolkit documentation](https://github.com/actions/toolkit/blob/master/README.md#packages) for the various packages.
72-
73-
## Publish to a distribution branch
74-
75-
Actions are run from GitHub repos so we will checkin the packed dist folder.
76-
77-
Then run [ncc](https://github.com/zeit/ncc) and push the results:
78-
```bash
79-
$ npm run package
80-
$ git add dist
81-
$ git commit -a -m "prod dependencies"
82-
$ git push origin releases/v1
26+
# OPTIONAL
27+
vs-version: latest
28+
vs-prerelease: false
8329
```
8430
85-
Note: We recommend using the `--license` option for ncc, which will create a license file for all of the production node modules used in your project.
86-
87-
Your action is now published! :rocket:
88-
89-
See the [versioning documentation](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md)
90-
91-
## Validate
92-
93-
You can now validate the action by referencing `./` in a workflow in your repo (see [test.yml](.github/workflows/test.yml))
94-
95-
```yaml
96-
uses: ./
97-
with:
98-
milliseconds: 1000
99-
```
100-
101-
See the [actions tab](https://github.com/actions/typescript-action/actions) for runs of this action! :rocket:
102-
103-
## Usage:
31+
## Inputs
10432
105-
After testing you can [create a v1 tag](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md) to reference the stable and latest V1 action
33+
| Input | Required | Description |
34+
| --------------------- | -------- | -------------------------------------------------------------------------------------------------------------------- |
35+
| marketplace-pat | Y | Your 'Personal Access Token' to perform actions on the Visual Studio Marketplace |
36+
| publish-manifest-path | Y | Path to the manifest used for the publish |
37+
| vsix-path | Y | Path to the local VSIX package you wish to publish |
38+
| vs-version | N | Specify the exact version of Visual Studio tooling to use; default to `latest` |
39+
| vs-prerelease | N | Allow a pre-release installation of Visual Studio tooling; default to `false` |

0 commit comments

Comments
 (0)