Files
Catalyst/.gitea/workflows/build.yml
josh fc2ef80176
Some checks failed
Build / test (push) Successful in 9m33s
Build / build (push) Failing after 9s
Build / release (push) Has been skipped
adjust build
2026-03-28 00:21:54 -04:00

78 lines
1.7 KiB
YAML

name: Build
on:
push:
branches: [main]
env:
IMAGE: ${{ vars.REGISTRY_HOST }}/${{ gitea.repository_owner }}/catalyst
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: lts/*
cache: npm
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
build:
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Log in to Gitea registry
uses: docker/login-action@v3
with:
registry: ${{ vars.REGISTRY_HOST }}
username: ${{ gitea.actor }}
password: ${{ secrets.TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: |
${{ env.IMAGE }}:latest
${{ env.IMAGE }}:${{ gitea.sha }}
release:
runs-on: ubuntu-latest
needs: build
steps:
- name: Create release
env:
SHA: ${{ gitea.sha }}
run: |
SHORT_SHA="${SHA:0:7}"
DATE=$(date +%Y-%m-%d)
TAG="v${DATE}-${SHORT_SHA}"
curl -sf -X POST \
-H "Authorization: token ${{ secrets.TOKEN }}" \
-H "Content-Type: application/json" \
"${{ gitea.server_url }}/api/v1/repos/${{ gitea.repository }}/releases" \
-d "{
\"tag_name\": \"${TAG}\",
\"name\": \"${TAG}\",
\"body\": \"Image: \`${{ env.IMAGE }}:${SHA}\`\",
\"draft\": false,
\"prerelease\": false
}"