ci: replace drone with gitea workflows #1

Merged
t.behrendt merged 1 commits from ci-replace-drone-with-gitea-workflows into main 2025-01-07 17:34:07 +01:00
4 changed files with 96 additions and 57 deletions

View File

@@ -1,57 +0,0 @@
---
kind: pipeline
type: docker
name: default
steps:
- name: prep
image: node:18.12.1
volumes:
- name: modules
path: /drone/rsc/node_modules
commands:
- npm install
- name: spellcheck
image: node:18.12.1
depends_on:
- prep
volumes:
- name: modules
path: /drone/rsc/node_modules
commands:
- npm run check:spell
- name: lint
image: node:18.12.1
depends_on:
- prep
volumes:
- name: modules
path: /drone/rsc/node_modules
commands:
- npm run check:code
- name: build-push
image: plugins/docker
depends_on:
- spellcheck
- lint
when:
branch:
- main
event:
- push
settings:
registry: git.t000-n.de
username:
from_secret: docker-registry-login
password:
from_secret: docker-registry-token
repo: git.t000-n.de/${DRONE_REPO}
tags:
- ${DRONE_COMMIT_SHA:0:8}
- latest
volumes:
- name: modules
temp: {}

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