Commit 914d385

Eric Bower  ·  2026-08-17 10:50:43 -0400 EDT
parent 7b5a5aa
refactor: remove github actions
5 files changed,  +0, -350
+0, -70
......@@ -1,70 +0,0 @@
1-name: Run a docker build
2-
3-description: Runs a docker build in a composite action
4-
5-inputs:
6- app:
7- description: The pico app to build
8- required: true
9- platforms:
10- description: The docker platforms to build for
11- required: true
12- default: |
13- linux/amd64
14- linux/arm64
15- registry:
16- description: The docker registry to use
17- required: true
18- default: ghcr.io
19- web:
20- description: Whether or not to build the web image
21- required: true
22- default: true
23- type: boolean
24- ssh:
25- description: Whether or not to build the ssh image
26- required: true
27- default: true
28- type: boolean
29-
30-runs:
31- using: composite
32- steps:
33- - name: Collect web image metadata
34- id: webmeta
35- uses: docker/metadata-action@v4
36- with:
37- images: ${{ inputs.REGISTRY }}/${{ github.repository }}/${{ inputs.app }}-web
38- - name: Collect ssh image metadata
39- id: sshmeta
40- uses: docker/metadata-action@v4
41- with:
42- images: ${{ inputs.REGISTRY }}/${{ github.repository }}/${{ inputs.app }}-ssh
43- - name: Build and push web
44- if: inputs.web == 'true'
45- uses: docker/build-push-action@v3
46- with:
47- context: .
48- push: true
49- tags: ${{ steps.webmeta.outputs.tags }}
50- labels: ${{ steps.webmeta.outputs.labels }}
51- target: release-web
52- platforms: ${{ inputs.platforms }}
53- cache-from: type=gha
54- cache-to: type=gha,mode=max
55- build-args: |
56- APP=${{ inputs.app }}
57- - name: Build and push ssh
58- if: inputs.ssh == 'true'
59- uses: docker/build-push-action@v3
60- with:
61- context: .
62- push: true
63- tags: ${{ steps.sshmeta.outputs.tags }}
64- labels: ${{ steps.sshmeta.outputs.labels }}
65- target: release-ssh
66- platforms: ${{ inputs.platforms }}
67- cache-from: type=gha
68- cache-to: type=gha,mode=max
69- build-args: |
70- APP=${{ inputs.app }}
+0, -34
......@@ -1,34 +0,0 @@
1-name: Setup main action
2-
3-description: Runs the setup required for docker building
4-
5-inputs:
6- registry:
7- description: The docker registry to use
8- required: true
9- default: ghcr.io
10- username:
11- description: The docker registry to use
12- required: true
13- password:
14- description: The docker registry to use
15- required: true
16-
17-runs:
18- using: composite
19- steps:
20- - name: Set up QEMU
21- uses: docker/setup-qemu-action@v2
22- with:
23- platforms: all
24- - name: Set up Docker Buildx
25- id: buildx
26- uses: docker/setup-buildx-action@v2
27- with:
28- version: latest
29- - name: Login to Docker Hub
30- uses: docker/login-action@v2
31- with:
32- registry: ${{ inputs.registry }}
33- username: ${{ inputs.username }}
34- password: ${{ inputs.password }}
+0, -20
......@@ -1,20 +0,0 @@
1-name: Lint and run tests
2-
3-description: Lints and runs tests on the codebase, used before builds and on every PR
4-
5-runs:
6- using: composite
7- steps:
8- - name: Set up Go
9- uses: actions/setup-go@v3
10- with:
11- go-version: 1.26
12- - name: Lint the codebase
13- uses: golangci/golangci-lint-action@v8
14- with:
15- version: latest
16- - name: Run tests
17- shell: bash
18- run: |
19- PICO_SECRET="danger" go test -v ./... -cover -race -coverprofile=coverage.out
20- go tool cover -func=coverage.out -o=coverage.out
+0, -211
......@@ -1,211 +0,0 @@
1-name: Test and Build
2-
3-on:
4- workflow_dispatch:
5- push:
6- branches:
7- - main
8- tags:
9- - v*
10-
11-env:
12- REGISTRY: ghcr.io
13- PLATFORMS: |
14- linux/amd64
15- linux/arm64
16-
17-jobs:
18- test:
19- runs-on: ubuntu-22.04
20- steps:
21- - name: Checkout repo
22- uses: actions/checkout@v3
23- - name: Run tests and lint
24- uses: ./.github/actions/test
25- build-main:
26- runs-on: ubuntu-22.04
27- needs: test
28- strategy:
29- matrix:
30- APP: [prose, pastes, pgs, feeds, pipe]
31- steps:
32- - name: Checkout repo
33- uses: actions/checkout@v3
34- - name: Setup docker
35- uses: ./.github/actions/setup
36- with:
37- registry: ${{ env.REGISTRY }}
38- username: ${{ github.actor }}
39- password: ${{ secrets.GITHUB_TOKEN }}
40- - name: Run docker build for ${{ matrix.APP }}
41- uses: ./.github/actions/build
42- with:
43- app: ${{ matrix.APP }}
44- platforms: ${{ env.PLATFORMS }}
45- registry: ${{ env.REGISTRY }}
46- build-auth:
47- runs-on: ubuntu-22.04
48- needs: test
49- steps:
50- - name: Checkout repo
51- uses: actions/checkout@v3
52- - name: Setup docker
53- uses: ./.github/actions/setup
54- with:
55- registry: ${{ env.REGISTRY }}
56- username: ${{ github.actor }}
57- password: ${{ secrets.GITHUB_TOKEN }}
58- - name: Run docker build for auth
59- uses: ./.github/actions/build
60- with:
61- app: auth
62- platforms: ${{ env.PLATFORMS }}
63- registry: ${{ env.REGISTRY }}
64- ssh: false
65- build-pico:
66- runs-on: ubuntu-22.04
67- needs: test
68- steps:
69- - name: Checkout repo
70- uses: actions/checkout@v3
71- - name: Setup docker
72- uses: ./.github/actions/setup
73- with:
74- registry: ${{ env.REGISTRY }}
75- username: ${{ github.actor }}
76- password: ${{ secrets.GITHUB_TOKEN }}
77- - name: Run docker build for pico
78- uses: ./.github/actions/build
79- with:
80- app: pico
81- platforms: ${{ env.PLATFORMS }}
82- registry: ${{ env.REGISTRY }}
83- web: false
84- build-pgs-cdn:
85- runs-on: ubuntu-22.04
86- needs: test
87- steps:
88- - name: Checkout repo
89- uses: actions/checkout@v3
90- - name: Setup docker
91- uses: ./.github/actions/setup
92- with:
93- registry: ${{ env.REGISTRY }}
94- username: ${{ github.actor }}
95- password: ${{ secrets.GITHUB_TOKEN }}
96- - name: Collect web image metadata
97- id: pgscdnmeta
98- uses: docker/metadata-action@v4
99- with:
100- images: ${{ env.REGISTRY }}/${{ github.repository }}/pgs-cdn
101- - name: Build and push
102- uses: docker/build-push-action@v3
103- with:
104- context: .
105- file: Dockerfile.cdn
106- push: true
107- target: release-web
108- tags: ${{ steps.pgscdnmeta.outputs.tags }}
109- labels: ${{ steps.pgscdnmeta.outputs.labels }}
110- platforms: ${{ env.PLATFORMS }}
111- cache-from: type=gha
112- cache-to: type=gha,mode=max
113- build-pgs-standalone:
114- runs-on: ubuntu-22.04
115- needs: test
116- steps:
117- - name: Checkout repo
118- uses: actions/checkout@v3
119- - name: Setup docker
120- uses: ./.github/actions/setup
121- with:
122- registry: ${{ env.REGISTRY }}
123- username: ${{ github.actor }}
124- password: ${{ secrets.GITHUB_TOKEN }}
125- - name: Collect web image metadata
126- id: pgsstandalonemeta
127- uses: docker/metadata-action@v4
128- with:
129- images: ${{ env.REGISTRY }}/picosh/pgs
130- - name: Build and push
131- uses: docker/build-push-action@v3
132- with:
133- context: .
134- file: Dockerfile.standalone
135- push: true
136- target: release
137- tags: ${{ steps.pgsstandalonemeta.outputs.tags }}
138- labels: ${{ steps.pgsstandalonemeta.outputs.labels }}
139- platforms: ${{ env.PLATFORMS }}
140- cache-from: type=gha
141- cache-to: type=gha,mode=max
142- build-bouncer:
143- runs-on: ubuntu-22.04
144- needs: test
145- steps:
146- - name: Checkout repo
147- uses: actions/checkout@v3
148- - name: Get changed files
149- id: changed-files
150- uses: tj-actions/changed-files@v40
151- with:
152- files: bouncer/**
153- - name: Setup docker
154- if: steps.changed-files.outputs.any_changed == 'true'
155- uses: ./.github/actions/setup
156- with:
157- registry: ${{ env.REGISTRY }}
158- username: ${{ github.actor }}
159- password: ${{ secrets.GITHUB_TOKEN }}
160- - name: Collect bouncer image metadata
161- if: steps.changed-files.outputs.any_changed == 'true'
162- id: bouncermeta
163- uses: docker/metadata-action@v4
164- with:
165- images: ${{ env.REGISTRY }}/${{ github.repository }}/bouncer
166- - name: Build and push
167- if: steps.changed-files.outputs.any_changed == 'true'
168- uses: docker/build-push-action@v3
169- with:
170- context: ./bouncer
171- push: true
172- tags: ${{ steps.bouncermeta.outputs.tags }}
173- labels: ${{ steps.bouncermeta.outputs.labels }}
174- platforms: ${{ env.PLATFORMS }}
175- cache-from: type=gha
176- cache-to: type=gha,mode=max
177- build-caddy:
178- runs-on: ubuntu-22.04
179- needs: test
180- steps:
181- - name: Checkout repo
182- uses: actions/checkout@v3
183- - name: Get changed files
184- id: changed-files
185- uses: tj-actions/changed-files@v40
186- with:
187- files: caddy/**
188- - name: Setup docker
189- if: steps.changed-files.outputs.any_changed == 'true'
190- uses: ./.github/actions/setup
191- with:
192- registry: ${{ env.REGISTRY }}
193- username: ${{ github.actor }}
194- password: ${{ secrets.GITHUB_TOKEN }}
195- - name: Collect caddy image metadata
196- if: steps.changed-files.outputs.any_changed == 'true'
197- id: caddymeta
198- uses: docker/metadata-action@v4
199- with:
200- images: ${{ env.REGISTRY }}/${{ github.repository }}/caddy
201- - name: Build and push
202- if: steps.changed-files.outputs.any_changed == 'true'
203- uses: docker/build-push-action@v3
204- with:
205- context: ./caddy
206- push: true
207- tags: ${{ steps.caddymeta.outputs.tags }}
208- labels: ${{ steps.caddymeta.outputs.labels }}
209- platforms: ${{ env.PLATFORMS }}
210- cache-from: type=gha
211- cache-to: type=gha,mode=max
+0, -15
......@@ -1,15 +0,0 @@
1-name: Test PRs
2-
3-on:
4- pull_request:
5- branches:
6- - main
7-
8-jobs:
9- test:
10- runs-on: ubuntu-22.04
11- steps:
12- - name: Checkout repo
13- uses: actions/checkout@v3
14- - name: Run tests and lint
15- uses: ./.github/actions/test