e07e50c904
Multi-stage Dockerfile produces a lightweight image with the compiled plugin at /plugins/. Gitea Actions workflow triggers on tag push (v*), builds the plugin, pushes to the Gitea container registry, and creates a release with the tarball attached. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
1.1 KiB
YAML
43 lines
1.1 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
container: node:20
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
|
|
- name: Build plugin
|
|
run: npx @kinvolk/headlamp-plugin build
|
|
|
|
- name: Package tarball
|
|
run: npx @kinvolk/headlamp-plugin package
|
|
|
|
- name: Install Docker CLI
|
|
run: apt-get update && apt-get install -y docker.io
|
|
|
|
- name: Build Docker image
|
|
run: docker build -t git.farh.net/${{ github.repository }}:${{ github.ref_name }} -t git.farh.net/${{ github.repository }}:latest .
|
|
|
|
- name: Push Docker image
|
|
run: |
|
|
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.farh.net -u ${{ github.actor }} --password-stdin
|
|
docker push git.farh.net/${{ github.repository }}:${{ github.ref_name }}
|
|
docker push git.farh.net/${{ github.repository }}:latest
|
|
|
|
- name: Create release
|
|
uses: akkuman/gitea-release-action@v1
|
|
with:
|
|
files: |
|
|
*.tar.gz
|
|
token: ${{ github.token }}
|