diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 7186b48..0000000 --- a/.drone.yml +++ /dev/null @@ -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: {} diff --git a/.gitea/workflows/cd.yaml b/.gitea/workflows/cd.yaml new file mode 100644 index 0000000..cfb806c --- /dev/null +++ b/.gitea/workflows/cd.yaml @@ -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 diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml new file mode 100644 index 0000000..2ba4c11 --- /dev/null +++ b/.gitea/workflows/ci.yaml @@ -0,0 +1,8 @@ +name: CI +on: + pull_request: + +jobs: + test: + name: Test + uses: ./.gitea/workflows/test.yaml diff --git a/.gitea/workflows/test.yaml b/.gitea/workflows/test.yaml new file mode 100644 index 0000000..ec43d8f --- /dev/null +++ b/.gitea/workflows/test.yaml @@ -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