ci: replace drone with gitea workflows (#1)
Some checks failed
CD / Test (push) Failing after 0s
CD / Buind and push (push) Has been skipped

Reviewed-on: #1
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
This commit was merged in pull request #1.
This commit is contained in:
2025-01-07 17:34:07 +01:00
committed by t.behrendt
parent 7d1c221e76
commit 65112f98be
4 changed files with 96 additions and 57 deletions

55
.gitea/workflows/cd.yaml Normal file
View File

@@ -0,0 +1,55 @@
name: CD
on:
push:
branches:
- main
env:
DOCKER_REGISTRY: gitea.t000-n.de
jobs:
test:
name: Test
uses: ./.gitea/actions/test.yaml
build_and_push:
name: Buind and push
needs:
- test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to Registry
uses: docker/login-action@v2
with:
registry: ${{ env.DOCKER_REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Get Metadata
id: meta
run: |
echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}' | tr '[:upper:]' '[:lower:]') >> $GITHUB_OUTPUT
echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
platforms: |
linux/amd64
linux/arm64
push: true
tags: |
${{ env.DOCKER_REGISTRY }}/t.behrendt/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }}
${{ env.DOCKER_REGISTRY }}/t.behrendt/${{ steps.meta.outputs.REPO_NAME }}:latest

8
.gitea/workflows/ci.yaml Normal file
View File

@@ -0,0 +1,8 @@
name: CI
on:
pull_request:
jobs:
test:
name: Test
uses: ./.gitea/workflows/test.yaml

View File

@@ -0,0 +1,33 @@
# callable action that runs the tests (lint, spellcheck, etc.)
name: Test
on:
workflow_call:
inputs:
node-version:
type: string
description: Node.js version to use
required: false
default: 18.12.1
jobs:
install:
runs-on: ubuntu-latest
name: Test
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version }}
- name: Install dependencies
run: npm install
- name: Run lint
run: npm run check:code
- name: Run spellcheck
run: npm run check:spell