tangled
alpha
login
or
join now
dunkirk.sh
/
pstream-ng
1
fork
atom
pstream is dead; long live pstream
taciturnaxolotl.github.io/pstream-ng/
1
fork
atom
overview
issues
pulls
pipelines
feat: add lint workflow
dunkirk.sh
6 days ago
c581a642
f5f621ef
verified
This commit was signed with the committer's
known signature
.
dunkirk.sh
SSH Key Fingerprint:
SHA256:DqcG0RXYExE26KiWo3VxJnsxswN1QNfTBvB+bdSpk80=
+24
-230
3 changed files
expand all
collapse all
unified
split
.github
workflows
deploying.yml
lint.yml
linting_testing.yml
-181
.github/workflows/deploying.yml
···
1
1
-
name: Deploying
2
2
-
3
3
-
on:
4
4
-
push:
5
5
-
branches:
6
6
-
- master
7
7
-
8
8
-
jobs:
9
9
-
build_pwa:
10
10
-
name: Build PWA
11
11
-
runs-on: ubuntu-latest
12
12
-
13
13
-
steps:
14
14
-
- name: Checkout code
15
15
-
uses: actions/checkout@v4
16
16
-
17
17
-
- uses: pnpm/action-setup@v2
18
18
-
with:
19
19
-
version: 8
20
20
-
21
21
-
- name: Install Node.js
22
22
-
uses: actions/setup-node@v4
23
23
-
with:
24
24
-
node-version: 20
25
25
-
cache: "pnpm"
26
26
-
27
27
-
- name: Install pnpm packages
28
28
-
run: pnpm install
29
29
-
30
30
-
- name: Build project
31
31
-
run: pnpm run build:pwa
32
32
-
33
33
-
- name: Upload production-ready build files
34
34
-
uses: actions/upload-artifact@v4
35
35
-
with:
36
36
-
name: pwa
37
37
-
path: ./dist
38
38
-
39
39
-
build:
40
40
-
name: Build
41
41
-
runs-on: ubuntu-latest
42
42
-
43
43
-
steps:
44
44
-
- name: Checkout code
45
45
-
uses: actions/checkout@v4
46
46
-
47
47
-
- uses: pnpm/action-setup@v2
48
48
-
with:
49
49
-
version: 8
50
50
-
51
51
-
- name: Install Node.js
52
52
-
uses: actions/setup-node@v4
53
53
-
with:
54
54
-
node-version: 20
55
55
-
cache: "pnpm"
56
56
-
57
57
-
- name: Install pnpm packages
58
58
-
run: pnpm install
59
59
-
60
60
-
- name: Build project
61
61
-
run: pnpm run build
62
62
-
63
63
-
- name: Upload production-ready build files
64
64
-
uses: actions/upload-artifact@v4
65
65
-
with:
66
66
-
name: normal
67
67
-
path: ./dist
68
68
-
69
69
-
release:
70
70
-
name: Release
71
71
-
needs: [build, build_pwa]
72
72
-
runs-on: ubuntu-latest
73
73
-
74
74
-
steps:
75
75
-
- name: Checkout code
76
76
-
uses: actions/checkout@v4
77
77
-
78
78
-
- name: Download PWA artifact
79
79
-
uses: actions/download-artifact@v4
80
80
-
with:
81
81
-
name: pwa
82
82
-
path: ./dist_pwa
83
83
-
84
84
-
- name: Zip PWA files
85
85
-
run: cd dist_pwa && zip -r ../p-stream.pwa.zip .
86
86
-
87
87
-
- name: Download normal artifact
88
88
-
uses: actions/download-artifact@v4
89
89
-
with:
90
90
-
name: normal
91
91
-
path: ./dist_normal
92
92
-
93
93
-
- name: Zip normal files
94
94
-
run: cd dist_normal && zip -r ../p-stream.zip .
95
95
-
96
96
-
- name: Get version
97
97
-
id: package-version
98
98
-
uses: martinbeentjes/npm-get-version-action@main
99
99
-
100
100
-
- name: Create Release
101
101
-
id: create_release
102
102
-
uses: actions/create-release@v1
103
103
-
env:
104
104
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
105
105
-
with:
106
106
-
tag_name: ${{ steps.package-version.outputs.current-version }}
107
107
-
release_name: P-Stream v${{ steps.package-version.outputs.current-version }}
108
108
-
draft: false
109
109
-
prerelease: false
110
110
-
111
111
-
- name: Upload release (PWA)
112
112
-
uses: actions/upload-release-asset@v1
113
113
-
env:
114
114
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
115
115
-
with:
116
116
-
upload_url: ${{ steps.create_release.outputs.upload_url }}
117
117
-
asset_path: ./p-stream.pwa.zip
118
118
-
asset_name: p-stream.pwa.zip
119
119
-
asset_content_type: application/zip
120
120
-
121
121
-
- name: Upload Release (Normal)
122
122
-
uses: actions/upload-release-asset@v1
123
123
-
env:
124
124
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
125
125
-
with:
126
126
-
upload_url: ${{ steps.create_release.outputs.upload_url }}
127
127
-
asset_path: ./p-stream.zip
128
128
-
asset_name: p-stream.zip
129
129
-
asset_content_type: application/zip
130
130
-
131
131
-
registry:
132
132
-
name: Push to registry
133
133
-
runs-on: ubuntu-latest
134
134
-
permissions:
135
135
-
contents: read
136
136
-
packages: write
137
137
-
id-token: write
138
138
-
139
139
-
env:
140
140
-
REGISTRY: ghcr.io
141
141
-
IMAGE_NAME: ${{ github.repository }}
142
142
-
143
143
-
steps:
144
144
-
- name: Checkout repository
145
145
-
uses: actions/checkout@v4
146
146
-
147
147
-
- name: Setup Docker buildx
148
148
-
uses: docker/setup-buildx-action@v3
149
149
-
150
150
-
- name: Get version
151
151
-
id: package-version
152
152
-
uses: martinbeentjes/npm-get-version-action@main
153
153
-
154
154
-
- name: Log into registry ${{ env.REGISTRY }}
155
155
-
uses: docker/login-action@v3
156
156
-
with:
157
157
-
registry: ${{ env.REGISTRY }}
158
158
-
username: ${{ github.actor }}
159
159
-
password: ${{ secrets.GITHUB_TOKEN }}
160
160
-
161
161
-
- name: Extract Docker metadata
162
162
-
id: meta
163
163
-
uses: docker/metadata-action@v5
164
164
-
with:
165
165
-
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
166
166
-
flavor: |
167
167
-
latest=auto
168
168
-
tags: |
169
169
-
type=semver,pattern={{version}},value=v${{ steps.package-version.outputs.current-version }}
170
170
-
171
171
-
- name: Build and push Docker image
172
172
-
id: build-and-push
173
173
-
uses: docker/build-push-action@v5
174
174
-
with:
175
175
-
push: true
176
176
-
platforms: linux/amd64,linux/arm64
177
177
-
context: .
178
178
-
labels: ${{ steps.meta.outputs.labels }}
179
179
-
tags: ${{ steps.meta.outputs.tags }}
180
180
-
cache-from: type=gha
181
181
-
cache-to: type=gha,mode=max
+24
.github/workflows/lint.yml
···
1
1
+
name: Lint
2
2
+
3
3
+
on:
4
4
+
push:
5
5
+
branches:
6
6
+
- main
7
7
+
pull_request:
8
8
+
9
9
+
jobs:
10
10
+
lint:
11
11
+
name: ESLint
12
12
+
runs-on: ubuntu-latest
13
13
+
steps:
14
14
+
- uses: actions/checkout@v4
15
15
+
16
16
+
- uses: pnpm/action-setup@v4
17
17
+
18
18
+
- uses: actions/setup-node@v4
19
19
+
with:
20
20
+
node-version: 20
21
21
+
cache: pnpm
22
22
+
23
23
+
- run: pnpm install
24
24
+
- run: pnpm run lint
-49
.github/workflows/linting_testing.yml
···
1
1
-
name: Linting and Testing
2
2
-
3
3
-
on:
4
4
-
push:
5
5
-
branches:
6
6
-
- master
7
7
-
pull_request:
8
8
-
9
9
-
jobs:
10
10
-
linting:
11
11
-
name: Run Linters
12
12
-
runs-on: ubuntu-latest
13
13
-
14
14
-
steps:
15
15
-
- name: Checkout code
16
16
-
uses: actions/checkout@v4
17
17
-
18
18
-
- uses: pnpm/action-setup@v2
19
19
-
with:
20
20
-
version: 8
21
21
-
22
22
-
- name: Install Node.js
23
23
-
uses: actions/setup-node@v4
24
24
-
with:
25
25
-
node-version: 20
26
26
-
cache: "pnpm"
27
27
-
28
28
-
- name: Install pnpm packages
29
29
-
run: pnpm install
30
30
-
31
31
-
- name: Run ESLint
32
32
-
run: pnpm run lint
33
33
-
34
34
-
docker:
35
35
-
name: Build Docker
36
36
-
runs-on: ubuntu-latest
37
37
-
38
38
-
steps:
39
39
-
- name: Checkout repository
40
40
-
uses: actions/checkout@v4
41
41
-
42
42
-
- name: Setup Docker buildx
43
43
-
uses: docker/setup-buildx-action@v3
44
44
-
45
45
-
- name: Build Docker image
46
46
-
uses: docker/build-push-action@v5
47
47
-
with:
48
48
-
push: false
49
49
-
context: .