Skip to content

Commit 570a94d

Browse files
committed
wip
1 parent 5481fe3 commit 570a94d

File tree

2 files changed

+74
-42
lines changed

2 files changed

+74
-42
lines changed

.github/workflows/cd.vx.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: cd·vx
2+
3+
on:
4+
release:
5+
types:
6+
- published
7+
8+
concurrency:
9+
group: cd/vx/${{ github.event.release.tag_name }}
10+
cancel-in-progress: true
11+
12+
permissions:
13+
contents: write
14+
15+
jobs:
16+
retag:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v4
20+
with:
21+
ref: ${{ github.event.release.tag_name }}
22+
- uses: fischerscode/tagger@v0
23+
with:
24+
prefix: v
25+
- run: |
26+
git tag -f latest
27+
git push origin latest --force

README.md

Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
src="https://coveralls.io/repos/github/mxcl/yoink/badge.svg?branch=main">
55
</a>
66

7+
78
## Downloading Standalone Binaries
89

910
```sh
@@ -22,48 +23,6 @@ brewx 0.4.2
2223
> $ sh <(curl https://yoink.sh) -C ~/.local/bin mxcl/yoink
2324
> ```
2425
25-
## GitHub Actions
26-
27-
Use yoink as a composite action (Linux and macOS runners).
28-
29-
```yaml
30-
- uses: mxcl/yoink@v0.4.0
31-
id: yoink
32-
with:
33-
repo: cli/cli
34-
35-
- name: Show version
36-
env:
37-
YOINK_DIR: ${{ steps.yoink.outputs.download_dir }}
38-
YOINK_EXE: >-
39-
${{ fromJSON(steps.yoink.outputs.executables)[0] }}
40-
run: |
41-
"${YOINK_DIR}/${YOINK_EXE}" --version
42-
```
43-
44-
To run a downloaded binary directly:
45-
46-
```yaml
47-
- uses: mxcl/yoink@v0.4.0
48-
with:
49-
repo: denoland/deno
50-
args: |
51-
eval
52-
console.log("hi from yoink action")
53-
```
54-
55-
Outputs (download mode):
56-
57-
- `repo`
58-
- `tag`
59-
- `url`
60-
- `executables` (JSON array)
61-
- `download_dir`
62-
- `yoink_version`
63-
64-
If `args` is set, the action runs the downloaded binary and skips the
65-
download outputs. `args` is newline-separated; each line becomes one
66-
argument.
6726
6827
## Executing Standalone Binaries
6928
@@ -95,6 +54,7 @@ ls: ./deno: No such file or directory
9554
> || ||
9655
> ```
9756
57+
9858
### Other Stuff
9959
10060
```sh
@@ -132,6 +92,49 @@ $ ls ./direnv
13292
ls: ./direnv: No such file or directory
13393
```
13494

95+
96+
## GitHub Actions
97+
98+
```yaml
99+
- uses: mxcl/yoink@v0
100+
id: yoink
101+
with:
102+
repo: cli/cli
103+
104+
- name: Show version
105+
env:
106+
YOINK_DIR: ${{ steps.yoink.outputs.download_dir }}
107+
YOINK_EXE: >-
108+
${{ fromJSON(steps.yoink.outputs.executables)[0] }}
109+
run: |
110+
"${YOINK_DIR}/${YOINK_EXE}" --version
111+
```
112+
113+
To run a downloaded binary directly:
114+
115+
```yaml
116+
- uses: mxcl/yoink@v0.4.0
117+
with:
118+
repo: denoland/deno
119+
args: |
120+
eval
121+
console.log("hi from yoink action")
122+
```
123+
124+
Outputs (download mode):
125+
126+
- `repo`
127+
- `tag`
128+
- `url`
129+
- `executables` (JSON array)
130+
- `download_dir`
131+
- `yoink_version`
132+
133+
If `args` is set, the action runs the downloaded binary and skips the
134+
download outputs. `args` is newline-separated; each line becomes one
135+
argument.
136+
137+
135138
#### Platforms
136139

137140
We have almost no platform specific code and will work on every platform that
@@ -149,6 +152,7 @@ Rust supports.
149152
- If you pass args after `owner/repo`, yoink runs the binary without
150153
saving it.
151154

155+
152156
## Vibecoding a Package Manager on Top of Yoink
153157

154158
Do a combination of this:
@@ -177,6 +181,7 @@ latest version that yoink can give you.
177181

178182
Report the bug! We’re literally pre 1.0 and open source here!
179183

184+
180185
## Ensuring Your Repo is Yoinkable
181186

182187
1. Upload binaries as tarballs with one folder.

0 commit comments

Comments
 (0)