Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stateful/vscode-server-action
A GitHub Action that allows to debug GitHub workflows using VS Code.
https://github.com/stateful/vscode-server-action
ci pipeline testing
Last synced: 3 months ago
JSON representation
A GitHub Action that allows to debug GitHub workflows using VS Code.
- Host: GitHub
- URL: https://github.com/stateful/vscode-server-action
- Owner: stateful
- Created: 2022-09-22T04:33:22.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-01T23:35:23.000Z (about 1 year ago)
- Last Synced: 2024-04-18T10:34:36.472Z (7 months ago)
- Topics: ci, pipeline, testing
- Language: TypeScript
- Homepage: https://github.com/marketplace/actions/vs-code-server-action
- Size: 3.2 MB
- Stars: 31
- Watchers: 3
- Forks: 3
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VS Code Server Action
> A GitHub Action that allows to debug GitHub workflows using VS Code.
Failing CI builds can be annoying especially since we don't have access to the machines that run them. While tests might pass locally for you, they still can fail in the CI environment.
This GitHub Action helps to debug these problems by registering a VS Code Server instance on the CI machine that allows you to connect with the machine in case the build fails.
![Connect VS Code to GitHub workflows](./.github/assets/demo.gif "Connect VS Code to GitHub workflows")
## Usage
In your GitHub workflow add the following step at the end of all steps:
```yaml
jobs:
test:
name: Test
runs-on: ubuntu-latest
# make sure these permissions are set so that
# VS Code can connect to the machine
permissions:
actions: read
contents: read
steps:
# ...
- name: 🐛 Debug Build
uses: stateful/vscode-server-action@v1
if: failure()
with:
machineName: myMachine # optional, default: GitHub workflow run ID
timeout: '30000' # optional, default: 30000
```In case your build fails the action attempts to start a VS Code Server on the build machine and requests you to authorize it:
```
To grant access to the server, please log into https://github.com/login/device and use code 0328-F81A
```If you don't authorize the machine until the `timeout` was hit the build just continues. Once authorized through a VS Code Server is started and it prints an URL to connect to, e.g.:
```
Open this link in your browser https://vscode.dev/tunnel/myMachine/github/workspace
```You can also connect to it through your local VS Code application. Just open the URL, open the command palette and enter `Open in VS Code`.
## Inputs
- `machineName` (optional): name of the machine to access (default: GitHub Action run id)
- `timeout` (optional): the time until the action continues the build if the machine does not get authorized (default: 30s)## Contribute
Simply raise a pull request 🙂 Make sure CI passes and then you should be good to go.