patch: migrate to gitea actions
Some checks failed
PR / install (pull_request) Failing after 51s
PR / lint (pull_request) Has been skipped
PR / test (pull_request) Has been skipped
PR / e2e (pull_request) Has been skipped
PR / docker-build (pull_request) Failing after 1m35s

This commit is contained in:
Madison Grubb
2026-03-04 13:37:46 -05:00
parent e774dbc301
commit fd31038cb7
4 changed files with 167 additions and 77 deletions

108
.gitea/workflows/pr.yml Normal file
View File

@@ -0,0 +1,108 @@
name: PR
on:
pull_request:
jobs:
install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "24"
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Upload node_modules
uses: actions/upload-artifact@v7
with:
name: node-modules
path: node_modules/
lint:
runs-on: ubuntu-latest
needs: install
steps:
- uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "24"
cache: "npm"
- name: Restore node_modules
uses: actions/download-artifact@v8
with:
name: node-modules
- name: Run lint
run: npm run lint
test:
runs-on: ubuntu-latest
needs: install
steps:
- uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "24"
cache: "npm"
- name: Restore node_modules
uses: actions/download-artifact@v8
with:
name: node-modules
- name: Run tests
run: npm run test
e2e:
runs-on: ubuntu-latest
needs: install
steps:
- uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "24"
cache: "npm"
- name: Restore node_modules
uses: actions/download-artifact@v8
with:
name: node-modules
- name: Install Playwright browsers
run: npx playwright install --with-deps chromium
- name: Generate dev cert
run: ./scripts/gen-dev-cert.sh
- name: Run e2e tests
run: npm run test:e2e
env:
NODE_TLS_REJECT_UNAUTHORIZED: "0"
docker-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build (dry run)
uses: docker/build-push-action@v6
with:
context: .
push: false
tags: ${{ github.server_url }}/${{ github.repository }}:latest

59
.gitea/workflows/push.yml Normal file
View File

@@ -0,0 +1,59 @@
name: Push
on:
push:
branches: [main]
jobs:
release-docker-helm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITEA_REPO_TOKEN }}
- name: Release (bump, tag, push, create release)
env:
CI_REPO_OWNER: ${{ github.actor }}
CI_REPO_NAME: ${{ github.event.repository.name }}
CI_FORGE_URL: ${{ github.server_url }}
CI_COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
GITEA_REPO_TOKEN: ${{ secrets.GITEA_REPO_TOKEN }}
run: |
sudo apt-get update -qq && sudo apt-get install -y -qq git wget
./scripts/release.sh
- name: Log in to container registry
run: |
REGISTRY="${GITHUB_SERVER_URL#https://}"
echo "${{ secrets.GITEA_REGISTRY_TOKEN }}" | docker login "$REGISTRY" -u "${{ github.actor }}" --password-stdin
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Docker image
uses: docker/build-push-action@v6
with:
context: .
load: true
tags: kestrelos:built
- name: Push Docker image (all tags from .tags)
run: |
REGISTRY="${GITHUB_SERVER_URL#https://}"
IMAGE="$REGISTRY/${{ github.repository }}"
while read -r tag; do
docker tag kestrelos:built "$IMAGE:$tag"
docker push "$IMAGE:$tag"
done < .tags
- name: Package and push Helm chart
env:
GITEA_REGISTRY_TOKEN: ${{ secrets.GITEA_REGISTRY_TOKEN }}
run: |
curl -sSfL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm package helm/kestrelos
for f in kestrelos-*.tgz; do
curl -sf -u "${{ github.actor }}:$GITEA_REGISTRY_TOKEN" -X POST --upload-file "$f" \
"${{ github.server_url }}/api/packages/${{ github.actor }}/helm/api/charts"
done

View File

@@ -1,41 +0,0 @@
when:
- event: pull_request
steps:
- name: install
image: node:24-slim
depends_on: []
commands:
- npm ci
- name: lint
image: node:24-slim
depends_on: [install]
commands:
- npm run lint
- name: test
image: node:24-slim
depends_on: [install]
commands:
- npm run test
- name: e2e
image: mcr.microsoft.com/playwright:v1.58.2-noble
depends_on: [install]
commands:
- ./scripts/gen-dev-cert.sh
- npm run test:e2e
environment:
NODE_TLS_REJECT_UNAUTHORIZED: "0"
- name: docker-build
image: woodpeckerci/plugin-kaniko
depends_on: []
settings:
repo: ${CI_REPO_OWNER}/${CI_REPO_NAME}
registry: git.keligrubb.com
tags: latest
dry-run: true
single-snapshot: true
cleanup: true

View File

@@ -1,36 +0,0 @@
when:
- event: push
branch: main
steps:
- name: release
image: alpine
commands:
- apk add --no-cache git
- ./scripts/release.sh
environment:
GITEA_REPO_TOKEN:
from_secret: gitea_repo_token
- name: docker
image: woodpeckerci/plugin-kaniko
depends_on: [release]
settings:
repo: ${CI_REPO_OWNER}/${CI_REPO_NAME}
registry: git.keligrubb.com
username: ${CI_REPO_OWNER}
password:
from_secret: gitea_registry_token
single-snapshot: true
cleanup: true
- name: helm
image: alpine/helm
depends_on: [release]
environment:
GITEA_REGISTRY_TOKEN:
from_secret: gitea_registry_token
commands:
- apk add --no-cache curl
- helm package helm/kestrelos
- curl -sf -u $CI_REPO_OWNER:$GITEA_REGISTRY_TOKEN -X POST --upload-file kestrelos-*.tgz https://git.keligrubb.com/api/packages/$CI_REPO_OWNER/helm/api/charts